《C++代码整洁之道:C++17 可持续软件开发模式实践》 —3.10 童子军原则

举报
华章计算机 发表于 2020/02/09 16:55:02 2020/02/09
【摘要】 本节书摘来自华章计算机《C++代码整洁之道:C++17 可持续软件开发模式实践》 一书中第3章,第3.10节,作者是[德]斯蒂芬·罗斯(Stephan Roth),连少华 郭发阳 陈涛 译。

3.10 童子军原则

这个原则是关于你和你的行为的,其内容是:在离开露营地的时候,应让露营地比你来之前还要干净。

童子军非常有原则,其中一个原则是,一旦他们发现了一些不好的东西,就立即清理环境中的污染物或那些引起混乱的东西。作为一名负责任的软件工程师,我们应该将这一原则应用于我们的日常工作,每当我们在一段代码中发现需要改进的或者风格不好的代码时,我们应该立即修正它,与这段代码的原创作者是谁无关紧要。

这种行为的好处是我们能不断防止自己的代码被破坏。如果我们都那样做,代码就不会变糟,软件熵增加的趋势也就没有机会能占据我们系统的主导地位。改善代码并不一定要大刀阔斧地去做,也可能只是一次小小的清理。举例如下:

重命名那些命名不佳的类、变量、函数或方法(请参阅第4章中的4.1节“良好的命名”和4.3.3节“函数命名”)。

将大型函数分解为更小函数(请参阅第4章中4.3.2节“让函数尽可能小”)。

让需要注释的代码不言自明,以避免注释(请参阅第4章中4.2.2节“不要为易懂的代码写注释”)。

清理复杂而令人费解的if-else组合。

删除一小部分重复的代码(请参阅本章中有关DRY原则的部分)。

由于这些改进大多数都是代码重构,因此如第2章所述,由良好的单元测试组成的坚固的安全体系是必不可少的。没有单元测试,你根本无法确定你是否破坏了某些东西。

除了良好的单元测试,我们仍然需要团队中的一种特殊的文化:代码所有权集体化(Collective Code Ownership)。

代码所有权集体化意味着我们应该真正地融入团队。每个团队成员在任何时候都可以对任何代码进行更改或扩展,不应该有这样的态度:“这是Peter的代码,这是Fred的模块, 我不会碰它们!”其他人可以接管我们写的代码,这应该被当作一种很高的衡量标准,团队中的任何人都不应该害怕,或者必须获得许可才能整理代码或添加新的功能。代码所有权集体化这种文化将使童子军原则很好地执行。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。