reference from http://hangaroundtheweb.com/2018/04/seven-principles-of-software-development-revisited/
读了?的这篇文章,对于其中的principles有一些思考:
1. The reason it all exists
2. KISS
Keep it simple and stupid. 以我的经验,这点是最被忽视的。有一些人,(包括我自己),会为系统的复杂性沾沾自喜;有些管理者也会简单的通过bug,代码行数,或者加班时间来评判项目的质量。但事实上,将代码写复杂很容易,但将复杂系统分解,使之简单,manageable,却很难。“简单”的系统,并不需要面面俱到,也不用人海战术,通过良好的设计,组合,确定、可理解可测试的方法,以及不断的迭代,精化,实现功能。
3. Maintain the vision
4. What you produce others will consume
代码并不是一次写完就束之高阁,自己以后也会回来修改,别人也会回来修改。所以,好的注解,代码组织方式,命名,都非常重要。我见过很多bad naming,名字和它要起的作用,完全没有关系,或者只有自己能理解的关系。
5. Be open to the future
6. Plan Ahead for Reuse
对此我有些许的疑问,我的经验是除了一些util方法,或者是framework,domain的复用非常难。 甚至我觉得复用domain违背了Doamin Driven Design。很多对象只在它所在的domain域内是有意义的,一旦换了一个context,多少会有一些变化。如果是为了复用,去强制性的定义一些common的东西,可能会得不偿失。
7. Think!