愚蠢的实现各有各的蠢法,好的代码有相似的气质。比如说吧,在一个既有的函数里增加一个分支,写法包括 1. 敲一颗钉子进去 foo(){ ……...
愚蠢的实现各有各的蠢法,好的代码有相似的气质。比如说吧,在一个既有的函数里增加一个分支,写法包括 1. 敲一颗钉子进去 foo(){ ……...
即便是使用c语言的嵌入式开发,也不应该直接用类似p->a.b的方式访问数据。这么做一方面意味着对数据缺乏抽象,毫无设计。另一方面意味着数据存...
软件和组织架构的一致性 先做一个小结,软件面临的核心问题是功能扩展时的成本(人力、时间、故障等综合考虑)。解决的基本思路,其一、引入各种软件设计...
好的代码 要说清楚DSL能带来什么,先要理解需要什么。一份好的代码,应该满足下述属性(重要程度递减) : 1.正确 它需要实现当前所需的功能,可...
DSL (domain specific language, 领域特定语言),简单的说,就是为某种特定的目的设计的一种与特定目的(业务本质)更加...
对领域概念做静态建模的时候,有一类概念被视为聚合根(root)。它有自己的生灭过程,数据和行为聚合于其上,有一个唯一的ID可以表征自己并且...
二十年左右的时间,敏捷(agile)软件开发走完了从一小撮人的游戏到软件业内的某种政治正确的慢慢征途。agile成为了一个good- words...
目前为止只存在三种编程范式(可能也不会有第四种了),结构化编程、面向对象编程 和 函数式编程。 结构化编程基于严格的数学证明,只需要顺序...
最近读完<clean architecture>(by Robert C.Martin, 即uncle Bob),和笔者日常所见所思有些共鸣,打...
<clean architecture>这书的第一部分算是老生常谈了,用一个匿名的case study说软件如何腐化进而大幅影响开发效率。软...
专题公告
架构,软件设计,通信,4/5G