《C++代码整洁之道:C++17 可持续软件开发模式实践》 —3.3 不需要原则(YAGNI)

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

3.3 不需要原则(YAGNI)

总是在你真正需要的时候再实现它们,而不是在你只是预见到你需要它们的时候实现它们。

—Ron Jeffries, You抮e NOT gonna need it! [Jeffries98]

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

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

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


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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