1.正交分解原则,拥有三原色可以组装出所有的颜色,如果不是原色的话则需要拥有更多。将代码陈述逻辑分解成功能抽象的部分,能最大限度提供重用,简化陈述,正如哲学和诗歌能简化文章表达一样。
2. 迭代原则化难为量,吃自己的狗粮。这样不但能提供效率,而且能提供改进。尽一切可能,用已有的东西,哪怕是设计不善的代码,只要他是迭代里程碑上的某个重要节点,经过了某种实战的考验,那么尽最大可能重用它。如果要修改,读懂的基础上,将原代码分门归类抄到本代码的组织中去,在测试中排除移植的问题,然后产生一个新的迭代节点,然后再在这个迭代节点上修改。
3. 迭代与变化。变化的代码用继承来扩展。上次扩展已经跑成熟的代码则全局通盘考虑,是否变成基类的组成部分。
扩展和变化的代码往往需求不明,变化多端,逻辑考虑不成熟,需要一段时间稳定期,稳定了以后则可能变成设计逻辑一个固定的环节,在这个过程中,可能程序设计也会同步变革。系统的进化就会有积累,日益强大,不会因为变化不定的干扰而混乱。
4. 助用助记原则。类和对象,是内部组件,程序是外部组件,这些,本质上都是执行语句,数据,上下文。代码设计的各种组件设计,设计模式,本质上一则是为了用代码高效调用计算机,二则是实现复杂多端的需求,确保可维护性,重用性,剩下的都是助记功能。不要被命名本身的蕴涵的逻辑所羁绊。
如同开车方法,可以放在车里作为车的功能,也可以放在人里作为人的能力,车,人都是程序员上帝从虚空中创造出的概念,以为助记,这些随需而定,随心而生。