程序员修炼之道-从小工到专家阅读笔记

1.重复的危害就重复产⽣的种类,可以分类为:
(1) 强加的重复信息的多种表⽰,对于同⼀信息我们可以⽤不同形式表⽰。这在⼀定程度上造成了重复,就这个问题⽽⾔,我们可以编写简单的过滤
器和代码⽣成器,⽤公共的元数据表⽰结构。
代码中的⽂档,对于⼀些低级知识不需注释,对于⼀些⾼级知识才需要注释,这就可以避免了重复。
⽂档与代码,对于⽂档的设计,我们可以⾃动⽣成⽂档,⽽不需要每次都去写。
语⾔问题,在换⽤语⾔时,会明显的产⽣各种各样的重复。对于这种情况没有太多的解决⽅法,只能通过⼈为的后期修改。
(2)⽆意的重复这种重复的要点在于⼀些变量的定义时,⽆意的进⾏了重复,⼀些类的定义属性进⾏了重复。这种重复很难避免,但这要我们有着良
好的书写习惯。
(3) ⽆耐性的重复在某些项⽬很赶的时候,我们会选择去复制之前的代码并且做出简单的修改。但这种其实也是⼀种重复,需要我们养成很好的习
惯。

(4) 开发者之间的重复在编写⼀个具体项⽬时,会有不同的开发者。如果这两者之间缺乏交流,那么最后可能会导致某个功能被多次重复实现。要解
决这种情况最好的办法就是⿎励开发者之间交流。
2.正交性
所谓的正交性,是从数学上学来的概念。在计算机中,可以解释为某种不相依赖性或者说解耦性。这种正交系统有着很多明显的好处:可以提⾼⽣
产率,降低风险。那么我们应该怎么在⼯程中应⽤这种思想呢?有着这么⼏种⽅式:项⽬团队,设计,⼯具箱与库,编码,测试,⽂档。可以看到,
不同情况下正交性的实现⽅法也不相同。我们应该具体情况具体⽽论,不能⼀概⽽论。在⼯作中尽⼒做到实现正交性,增加解耦性。
3.可撤销性
⼯程师都喜欢能够有单⼀的⽅法来解决⼀个问题,然⽽很遗憾,在我们的现实⽣活中,总是会有各种各样的变动。在这样的情况下,我们就需要让
我们的代码具有可撤销性。
所谓的可撤销性,指的是在开发初期就做好⼀些准备,让代码变得更加灵活,以便⼀些临时更改。在制作架构时,可以让架构更加的灵活可变,在
这样的情况下我们的代码就具有了可撤销性,不会让代码⼗分不可逆。
4. 曳光弹
所谓的曳光弹,放在⼯程中其实就是⽤来⽅便前期测试的⼀个架构。只有⼀些框架和基本功能,可以⽤来测试框架⾥⼀些基本功能,曳光代码的存
在只是为了前期的测试,他只是具有较少的功能,但并不代表他并不能执⾏,就这点来说,曳光代码其实也是整体架构的⼀部分,他的存在只是为了
测试。



posted @ 2022-06-14 20:21  听风1234  阅读(18)  评论(0编辑  收藏  举报