《C++编程规范》笔记(设计风格)

《C++编程规范》笔记(设计风格),第1张

《C++编程规范》笔记(设计风格),第2张

第1条:一个实体应该只有一个契约责任
单一责任原则。这个原则不是那么容易实现的。即使是STL这样的库也会犯违背这个原则的错误。这里引用两个违背这个原则的实现:realloc和stl中的basic_string。不过对于basic_string,我觉得比MFC中的CString好太多了。在exception c++风格中,对basic_string进行了分析,得出了一个一般原则:尽量将函数实现为独立函数,而不是成员函数。
尽量用一句话解释一个模块的功能,不多不少。如果不能用这样一句话概括,那就重新考虑规划这个模块的责任。

第二条:正确、简单、清晰第一
简单来说,坚持KISS原则:正确胜于速度,简单胜于复杂,清晰胜于巧妙,安全胜于不安全。
程序肯定是写给看的人看的,但只是顺便用于机器执行*程序要以人为本,第二
计算机系统中最快最可靠的组件还不存在
...简单设计的重要性怎么强调都不为过
为了让一个正确的程序更快,让一个快速的程序正确起来要容易得多
避免使用编程语言晦涩难懂的特性,使用最简单有效的技术
而不是无限制地重载操作符。
不要滥用匿名变量,合理使用命名变量。当然,这并不是说即使是vector()这样的成语。互换(其他)应被拒绝。

第三条:你应该知道在编程中何时以及如何考虑可伸缩性
从字面上看,这几乎等同于外交辞令。答案无非是“适当”的时候“适当”考虑可扩展性。这个要看软件工程师的经验和知识。所以这个词条也“适当”避开了营养教学的缺失,重点放在算法复杂度的选择上。
基本上可以用线性复杂度作为算法可选与否的分界点。值得花费精力避免选择小于线性复杂度的算法,而不小于线性复杂度的算法是可以接受的。所以,注意那些把性能挂在嘴边的兄弟们,不要把精力用错了地方。Gartner还是讲:不成熟的优化是编程中一切罪恶的根源。必要的时候,尽量先优化复杂度(选择好的算法——算法没用,去撞墙吧!)。
对了,一般排序算法的复杂度是O(NlgN),但是在特定领域可以有更好的算法。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 《C++编程规范》笔记(设计风格)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情