设计&clean code的原则性和灵活性
高水平的设计和代码实现是非常有力的。
这一点就不太展开进一步说了。
但是实际项目中往往做不到这一点,除了项目本身要求不够高等因素之外,现实中难以落地(即便我们知道它是对的)的重要原因包括两个:
- 资源的匮乏,包括人力和时间,大家总是处在紧急出活的状态,客观上没有条件去做充分的设计和代码实现
- 即便是真正想追求这个团队也是如此
- 结果的间接性:糟糕的设计和代码实现它的结果非常的隐晦,往往在很长时间以后,才会以非技术团队无法差别的方式伤害开发团队
这两点理清楚之后,那么结果就比较明显了,我们可以比较灵活的处理这些事情
- 对于最终的设计和代码质量,我们要以重要不紧急的方式来对待,在一个长线的范畴内最终一定要解决
- 对于短线的实现,可以以“借贷式开发”的形式,获得短期内的项目进度和质量
- 技术团队的基本功至关重要,决定了在急行军的情况下,你还能剩余多少代码质量,在后续去碰“已经上线的模块”的时候,你还有多大能力偿还欠下的债务
策略和基本功是两个不同的层面,策略制定正确会给提升基本功创造很好的条件,基本功到位,会导致完全不同的最优策略。