摘要: 编写简洁的代码 代码坏味道是指隐含问题的代码风格。 不留痕迹 童子军军规:离开营地时,要让它比来时更干净。应用在软件开发中,表示一旦编写或修改了一段代码,就有机会进行小的改进,结果就是你让这段代码比之前更简洁、更具有可维护性。 如何使用本原则 1. 不要编写单元级别的代码坏味道: 过长的代码单元(第 阅读全文
posted @ 2021-05-28 18:25 小么me 阅读(87) 评论(0) 推荐(0)
摘要: 自动化开发部署和测试 在之前章节中有一个IsValid方法,检查银行账号是是否符合校验码要求,由于这种方法很容易出现代码错误,都会写一个短小的程序来测试验证此方法。 class Program { [STAThread] static void Main(string[] args) { strin 阅读全文
posted @ 2021-05-28 18:24 小么me 阅读(80) 评论(0) 推荐(0)
摘要: 保持小规模代码库 控制代码库增长,主动减少系统的代码体积。 代码库是存储在一个仓库中的所有源代码的集合,可以独立地进行编译和部署,并且由一个团队进行维护。 以大型代码库为目标的项目更容易失败 项目体积和项目风险关系紧密,一个大型项目会导致大型团队、复杂的设计以及长时间的项目周期,会出现更复杂的沟通和 阅读全文
posted @ 2021-05-21 16:32 小么me 阅读(73) 评论(0) 推荐(0)
摘要: 保持架构组件之间的平衡 构建封装边界是设计软件架构的重要技能。 原则: 平衡代码中顶层组件的数量和体积。 保持源代码中组件的数量接近于9,并且这些组件的体积基本一致。 平衡的组件可以帮助定位代码,并且允许独立对组件进行维护。 四种情况: 1. 所有修改都发生在一个单独的巨大的组件中 2. 大多数修改 阅读全文
posted @ 2021-05-21 16:31 小么me 阅读(54) 评论(0) 推荐(0)
摘要: 架构组件松耦合 有两种构建软件设计的方式:简单到明显没有缺陷;复杂到没有明显的缺陷。 原则 顶层组件之间应该做到松耦合 尽可能减少当前模块中需要暴露给其他组件中模块的相关代码 模块耦合度关注于单个模块对系统其他部分的暴露程度,组件耦合度关注的是一个组件中的模块,对其他组件中模块的暴露程度。 如果从组 阅读全文
posted @ 2021-05-17 19:45 小么me 阅读(90) 评论(0) 推荐(0)
摘要: 分离模块之间的关注点 原则: 避免形成大型模块,以便能达到模块之间的松耦合。 不同的职责分给不同的模块,隐藏接口的内部实现细节。 之前说的是代码单元层面,这里开始说模块层面。对应C#的类的概念。 一个真实的案例,先说明类之间的紧耦合是什么样子,为何对导致可维护性问题。 一个UserService类, 阅读全文
posted @ 2021-05-08 11:37 小么me 阅读(92) 评论(0) 推荐(0)
摘要: 保持代码单元的接口简单 限制每个代码单元的参数不能超过4个。将多个参数提取成对象。 为了保持代码的可维护性,需要限制参数的个数,避免使用过多的参数(也称为代码单元接口) 之前的JPacman项目中,BoardPanel类的render方法,拥有许多参数的典型,此方法在一个由x,y,w,h表示的矩形中 阅读全文
posted @ 2021-04-25 18:39 小么me 阅读(102) 评论(0) 推荐(0)
摘要: 不写重复代码 不要复制代码 编写可重用的、通用的代码,调用已有的代码 如果复制代码,就需要在多个地方修复BUG。 举例 一个管理银行账户的系统,通过Transfer类对象来表示钱在不同账户之间的流转过程。 CheckingAccount表示银行提供的支票账户 ,如下 public class Che 阅读全文
posted @ 2021-04-07 19:50 小么me 阅读(88) 评论(0) 推荐(0)
摘要: 编写简单的代码单元 每个问题的内部都有许多更小的问题。 原则: 限制每个代码单元分支点的数量不超过4个 评测复杂度的一个常用方式是计算一段代码中可能路径的数量,也就是分支数量,在C#中具体是if和switch语句。 分支覆盖率:一个代码单元分支点的数量,就是覆盖所有分支点产生的分支路径的最小数量。 阅读全文
posted @ 2021-03-30 19:18 小么me 阅读(85) 评论(0) 推荐(0)
摘要: 编写短小的代码单元 代码单元的长度应<=15行,将长的代码分解成多个更短的代码单元;短小的代码单元易于理解、测试和重用。 代码单元:可独立维护和执行的最小代码集合。 例如在C#中,一个方法或者构造函数就是一个代码单元。 短小的代码一般是只有一个职责,比如列举的例子有一个方法,根据URL中的一个客户标 阅读全文
posted @ 2021-03-29 13:09 小么me 阅读(75) 评论(0) 推荐(0)