C++ 代码整洁之道:C++17 可持续软件开发模式实践 (35):原则 3.10

阅读数:10 2019 年 12 月 8 日 20:00

C++代码整洁之道:C++17可持续软件开发模式实践(35):原则 3.10

(童子军原则)

内容简介
本书致力于讲述 C++ 整洁代码之道!如果你想让自己写的代码更加整洁,那么这本书适合你阅读。本书需要熟悉 C++ 语言的基本概念,才能有效的掌握其中的内容。如果你只是想从 C++ 开发开始,并且没有 C++ 语言的基础知识,你应该首先选择一个好的 C++ 入门的练习项目。此外,本书也不包含任何深奥的技巧和杂乱的知识点。我知道 C++ 有很多令人兴奋的技巧,但这些通常不是整洁代码的精神,也不是现代 C++ 的代码风格。除此之外,这本书为了帮助 C++ 程序员提高技能水平,并举例说明如何编写易于理解的、灵活的、可维护的和高效的 C++ 代码。即使你是一个经验丰富的 C++ 开发人员,这本书中也有一些值得学习的地方,我认为这些值得学习的地方能够促进你的工作。书中所提出的原则和实践可以应用于新的软件系统,有时被称为“绿地项目”,以及具有悠久历史的遗留系统,通常被称为“棕地项目”。

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

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

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

  • 重命名那些命名不佳的类、变量、函数或方法(请参阅第 4 章中的 4.1 节“良好的命名”和 4.3.3 节“函数命名”)。
  • 将大型函数分解为更小函数(请参阅第 4 章中 4.3.2 节“让函数尽可能小”)。
  • 让需要注释的代码不言自明,以避免注释(请参阅第 4 章中 4.2.2 节“不要为易懂的代码写注释”)。
  • 清理复杂而令人费解的 if-else 组合。
  • 删除一小部分重复的代码(请参阅本章中有关 DRY 原则的部分)。

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

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

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

C++代码整洁之道:C++17可持续软件开发模式实践(35):原则 3.10

购书地址 https://item.jd.com/12599914.html?dist=jd

评论

发布