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

阅读数:11 2019 年 12 月 4 日 18:49

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

(保持简单和直接原则(KISS))

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

任何事情都应该尽可能简单,而不是稍微简单一点。
——Albert Einstein, theoretical physicist, 1879—1955

KISS 是“Keep it simple,stupid”或“Keep it simple and stupid”的缩写(对于这个缩写有很多其他的意思,这两个是最常用的)。在极限编程中(extreme programming),简称 XP,这个原则有一个更有实践意义的名字“Do the simplest thing that could possibly work”(DTSTTCPW),即简单到只要能正常工作就好。KISS 原则旨在在软件开发中,把简单当作一个主要的目标,避免做一些没有必要的复杂性的工作。

我认为在软件开发过程中,软件开发者经常会忘记 KISS 原则,程序员偏向以精心设计的方式编写代码,这样导致的结果是他们往往将问题复杂化。我知道,我们都是技术精湛、积极进取的开发人员,而且我们也了解设计和架构模式、框架、技术、工具以及其他酷炫和奇特的东西,开发很酷的软件不只是我们朝九晚五的一个工作而已——它已经成为了我们的使命,我们因我们的工作而变得更有成就感。

但是你必须记住,任何软件系统都有内在的复杂性,毫无疑问,复杂问题通常需要复杂的代码。内在的复杂性是不可避免的,由于系统需要满足需求,所以这种复杂性客观存在。但是,为这种内在的复杂性添加不必要的复杂性将是致命的。因此,建议不要仅因为你会用,就把一些花哨技巧或一些很酷的设计模式都用在你所使用的编程语言中。另一方面,也不要过分简单,如果在 switch-case 判断中有十个条件是必需的,那它就应该有十个条件1

1 可以考虑使用“表驱动法”来解决 N 个分支条件的问题。—译者注

保持代码尽可能简单!当然,如果对灵活性和可扩展性有很高的质量要求,则必须增加软件的复杂性以满足这些需求。例如,你可以使用众所周知的策略模式(请参阅第 9 章“设计模式”),如果需求需要的话,在代码中引入灵活的可变点。但要小心,只添加那些使事情整体变得更简单的复杂性的东西。

对于程序员来说,关注简单性可能是最困难的事情之一,并且这是一个终生的学习经验。
——Adrian Bolboaca (@adibolb), April 3, 2014, on Twitter

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

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

评论

发布