文档开发者中心
我的

我眼里的代码质量和重构

CleanCode这个概念第一次闯入我的认知还是之前bob大叔的那本书。


而今,CleanCode概念越来越热!它到底意味着哪些要素,众说纷纭!在这,我把自己的理解发出来,供大家炮轰一把。



这个图里的几个台阶,并不是时间上的先后,更多是从代码质量的范围和对团队能力的要求高低上来分了几个level,这些level也不存在进阶的概念,比如代码整洁不代表漏洞风险就可控了,架构做好了也不代表代码细节就做到了整洁。


这里的分级更多代表产品团队和个人能力的分级。图的左边是公司可信变革的核心思想:已知问题不重犯+新问题有效应对+可持续的角度来看,对应是什么样的代码和软件。


作为一个软件团队,满足需求完成功能开发,这是基本门槛。在功能可用后,客户所希望的就是没有漏洞风险。无漏洞风险不代表完全没有漏洞,而是已经消除所有的已知漏洞,并且有确定性的漏洞管理机制来确保风险可控。代码整洁则是从团队内部的角度出发,通过规则约束减少犯错出问题的概率,同时带来员工成长、问题定位效率等收益,外在的表现是质量属性和维护效率的提高。架构要优雅,指的是我们的代码在可以预见的一定时间内,面对新的需求可以巧妙地快速交付,面对新的问题可以优雅地解决或规避。


可以说,代码的价值更多体现在当下,架构的价值更多聚焦在未来。但人不可能预知一切,当业务的发展,需求和问题的变化越来越大时,一个产品是否具备持续新陈代谢,不断进化的能力才是保持竞争力的关键。


目前正在进一步提炼和思考的,是每个台阶上的描述。这部分是希望从每个级别的对应外在价值上来给出一些表征。因为软件的内在质量与实际业务是强相关的,控制面产品的插件式架构是个good idea,但是在高性能的转发面可能就是瓶颈,所以不存在一个统一的评估和表述模型,只能给出一些参考性的内容。


但是所有的这些内在属性,最终都要体现外在的价值,归结到产品的质量与效率上来。比如代码整洁带来的效果就是新员工学习上手快,问题定位快,等等。如果能提炼出这些表征,那么一方面软件人员可以用来参考去说服不懂代码的商业主管来投资,另一方面也避免在对外交流的时候,只能讲重构减少了代码量这样的低价值收益。


本文系转载,有些许删减!作者:HW-LF

点赞
5
收藏
5
回复
6
分享
举报
浏览1596 编辑于2019-08-08 03:38未知归属地
全部评论
最多点赞
最新发布
最早发布

不管你信不信,这儿干货真的蛮多的


5楼回复于2019-08-16 04:10 未知归属地

快告诉我,这个板凳坐不坐的上。


4楼回复于2019-08-15 06:17 未知归属地

感谢楼主分享,支持一下


3楼回复于2019-08-13 02:27 未知归属地

每天来回几个帖,等级蹭蹭涨


2楼回复于2019-08-11 01:50 未知归属地

你猜?我是先看帖还是先回复


1楼回复于2019-08-08 03:21 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。