DDD理论学习系列——案例及目录 1. 引言 单从字面理解,不管是领域服务还是应用服务,都是服务。而什么是服务?从SOA到微服务,它们所描述的服务都是一个宽泛的概念,我们可以...
DDD理论学习系列——案例及目录 1. 引言 单从字面理解,不管是领域服务还是应用服务,都是服务。而什么是服务?从SOA到微服务,它们所描述的服务都是一个宽泛的概念,我们可以...
构建和测试环境即代码和基础设施即代码,流水线即代码的概念相似,就是将你的代码构建和测试环境使用代码来表达,以达到代码在本机正常工作...同时在任何地方都可以正常工作。 薛定谔...
沟通协作 金字塔原理 [https://book.douban.com/subject/4882120/] 麦肯锡方法[https://book.douban.com/sub...
什么是 Monad (Functional Programming)? 道生一,一生二,二生三,三生万物。 这里的“生”,就是 “apply 函数 ”(请注意,这里的 app...
TDD(测试驱动开发)是敏捷中非常有名的一个实践了,谈这个的人很多,但真正在用的人只是凤毛麟角。TDD一般主要指的是UTDD,但除了UTDD之外还经常被提起的还有ATDD和B...
开发团队里,真正善战的人到底是什么样的人? 我以前很崇拜那些能修复各种软件缺陷的“救火”高手。 很多年前,我曾经在一个维护遗留系统的团队做过开发。 团队的每个开发,都轮流带一...
在软件交付领域上有一个非常有用的启发式原则:提前并频繁地做让你感到痛苦的事。集成通常是一个非常痛苦的过程,所以每次有人提交代码后应立刻进行集成。 马丁福勒说: 持续集成是一种...
原文链接:Tests that sometimes fail 撒谎者即使说真话,也不会被人相信 —— 伊索 软件项目一旦有些年头又有很大的自动化测试集,有种丑陋的模式就会出现...
作为一个合格的程序员,CLI是必备的技能。 工欲善其事,必先利其器。一个顺手并且提高效率的终端是必须的。 平时很多人会私信或评论中问我关于我的终端相关的内容,今天我整理出来。...
在实际项目中,经常能够看到容器被当作参数,在不同的对象间传递。这样做有什么问题? 缺乏内聚性 在进一步讨论之前,我们先来看看下面两个表达式之间有何区别? 经常得到的答案是:前...
一 一群盲人被带到一头大象面前,让他们摸摸大象像什么。一个瞎子摸到了大象的腿,说大象像一棵树;另一个瞎子摸到了大象的耳朵,说大象像一个扇子;第三个摸着大象的身体,说它像一堵墙...
一个出发点 当谈起软件设计的目的时,能够获得所有人认同的答案只有一个:功能实现。 因为这是一个软件存在的根本原因。 而在计算机软件发展的初期,这一点也正是所有人做软件设计的唯...