CleanCode这个概念第一次闯入我的认知还是之前bob大叔的那本书。
而今,CleanCode概念越来越热!它到底意味着哪些要素,众说纷纭!在这,我把自己的理解发出来,供大家炮轰一把。
这个图里的几个台阶,并不是时间上的先后,更多是从代码质量的范围和对团队能力的要求高低上来分了几个level,这些level也不存在进阶的概念,比如代码整洁不代表漏洞风险就可控了,架构做好了也不代表代码细节就做到了整洁。
这里的分级更多代表产品团队和个人能力的分级。图的左边是公司可信变革的核心思想:已知问题不重犯+新问题有效应对+可持续的角度来看,对应是什么样的代码和软件。
作为一个软件团队,满足需求完成功能开发,这是基本门槛。在功能可用后,客户所希望的就是没有漏洞风险。无漏洞风险不代表完全没有漏洞,而是已经消除所有的已知漏洞,并且有确定性的漏洞管理机制来确保风险可控。代码整洁则是从团队内部的角度出发,通过规则约束减少犯错出问题的概率,同时带来员工成长、问题定位效率等收益,外在的表现是质量属性和维护效率的提高。架构要优雅,指的是我们的代码在可以预见的一定时间内,面对新的需求可以巧妙地快速交付,面对新的问题可以优雅地解决或规避。
可以说,代码的价值更多体现在当下,架构的价值更多聚焦在未来。但人不可能预知一切,当业务的发展,需求和问题的变化越来越大时,一个产品是否具备持续新陈代谢,不断进化的能力才是保持竞争力的关键。
目前正在进一步提炼和思考的,是每个台阶上的描述。这部分是希望从每个级别的对应外在价值上来给出一些表征。因为软件的内在质量与实际业务是强相关的,控制面产品的插件式架构是个good idea,但是在高性能的转发面可能就是瓶颈,所以不存在一个统一的评估和表述模型,只能给出一些参考性的内容。
但是所有的这些内在属性,最终都要体现外在的价值,归结到产品的质量与效率上来。比如代码整洁带来的效果就是新员工学习上手快,问题定位快,等等。如果能提炼出这些表征,那么一方面软件人员可以用来参考去说服不懂代码的商业主管来投资,另一方面也避免在对外交流的时候,只能讲重构减少了代码量这样的低价值收益。
本文系转载,有些许删减!作者:HW-LF






































苏公安网备 32011402010933号