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

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

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

(不需要原则(YAGNI))

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

总是在你真正需要的时候再实现它们,而不是在你只是预见到你需要它们的时候实现它们。
——Ron Jeffries, You 抮 e NOT gonna need it! [Jeffries98]

这一原则与之前讨论的 KISS 原则紧密相连。YAGNI 是“You Aren’t Gonna Need It!”的缩写,也可以看作“You Ain’t Gonna Need It!”的缩写。YAGNI 原则向投机取巧和过度设计宣战,它的主旨是希望你不要写目前用不上,但将来也许需要的代码。

几乎每个开发者在日常工作中都有这样一种冲动:“以后我们也许会用到这个功能……”错,你不会用到它!无论在什么情况下,你都要抵制开发以后可能用到的功能。毕竟,你可能根本不需要这个功能。如果你已经实现了这种无意义的功能,那么你花在那上面的时间就浪费了,并且你的代码也变得更加复杂!当然,你也破坏了 KISS 原则。更严重的是,这些为日后的功能做准备的代码,充满了 bug 并可能导致严重的后果!

我的建议是:在你确定真的有必要的时候再写代码,那时再重构仍然来得及。

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

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

评论

发布