发布了 12 篇内容
共 39514字, 被阅读 447次
获得了 4 次赞同
获得了 3次喜欢, 获得了 1 次收藏
参与了 6 次互动
互动包含发布评论、点赞评论、参与投票等
如何阻止软件退化?
软件开发行业,尤其是互联网相关行业中,软件工程的首要职责是对于利益点、风口业务的支持与落地。而这两者都是有着与时间相关的属性的。也就是说,同样的一件事,如果没有在正确的时间内做到,那可能也就没有意义了。所以软件行业是一个争分夺秒的行业。

如何写好代码注释?
对于代码注释来说,在不同的教程或者原则中有不同的规定或者解释。有的原则是需要使用 JavaDoc 来描写每个方法,而有的原则是要求每一个属性标注命名。我愿意相信每一份看起来不那么妥当的注释都是出于一些善意的目的,这就是注释的本质:

JDK9 响应式流使用详解
上文中咱们简单提到了 JDK9 中 Flow 接口中的静态内部类实现了响应式流的 JAVA API,并且提供了一个一个 Publisher 的实现类 SubmissionPublisher。本文将先梳理一下接口中具体的处理流程,然后再以几个调用者的例子来帮助大家理解。

Java9 特性 - 响应式流 (Reactive Stream)
形象的比喻来说就是如同水一样绵绵不绝的数据形式。而抽象点来说,是有一个生产者(source)产生,由一个或者多个消费者(sink)消费的数据元素(item)序列。那从这个抽象的描述就可以看出,使用流来承担数据交互的模式就是咱们经常说的生产者 / 消费者模型,

JAVA 新特性的入场券 - 函数式接口
说到 Java 中的函数式编程,就不得不说到 Java8 中引入的 lambda 表达式、stream API 等特性。它们与函数式接口一起支撑起了 Java 的函数式编程。

如何写好一个 Java 方法?
要回答这个问题,我们首先要确定的是我们需要什么样子的方法。无论我们出于什么样子的目的产生对方法的需求,我可以说精准地满足我们需求的方法就是好方法。精准的含义是不过也不少。

你必须知道的 Java17 新特性 - 密封类 (Sealed Classes)
密封类 (Sealed Classes),这个概念在许多语言中都存在。例如,在 C#中的密封类表示表明该类是最终类(不可被继承);在 Scala 中密封类表示 case 类的子类只能限定在当前源文件中定义;在 Kotlin 中密封类要求其子类只能在当前源文件中定义。

写了这么多年后端,你知道事务脚本模式吗?
事务脚本模式 (Transaction Script) 可以简称 TS 模式,这个模式本身的核心思想就是名称中的两个词,即:事务与脚本。事务可以理解为实际需要执行的一段原子业务;脚本则是指的一组原子业务的编排方式。而通常来说脚本的编排会直接映射到用户的一个行为动作上。

为什么需要闭包?闭包是什么概念?
闭包的英文对应的是 Closure,如果要单纯的讨论这个概念的话就要提到和图灵机起名的大名鼎鼎的 lambda 演算 (lamdba calculus)。尽管 lamdba 的概念并不是本文的重点,但是闭包概念的目的便是支持 lamdba 的实现。如果你单独地在百度对进行搜索闭包的话,你会发现大部

全栈工程师?你知道全流程工程师吗?
你知道全栈工程师,但是你知道全流程工程师吗?

一线开发人员,你对项目了解多少?
对于一个程序开发人员来说,对项目的熟悉程度意味着你对工作内容的掌握程度。那么你是否可以问一下自己,你对你的项目了解吗?

起个变量名,好的代码应该是这样的
在进行项目编写的过程中,免不了的就是要进行各种方法、变量的命名。你一定经历过对变量命名无比困难的时候。而有的时候命名就看起来很轻松。但是,什么样的命名是更好的呢?