分享
 
 
 

C++ Coding Standards:Summary of Summaries-组织和方针问题与设计风格

王朝c/c++·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

By Herb Sutter, Andrei Alexandrescu 著

树人 译组织和方针问题

0. 不要为小事斤斤计较。(或者说是:知道什么东西不需要标准化)

少说废话,捡有必要的说:不要把个人的品味或废弃的实践强加于他人。

1. 在高警告级别下干净地编译代码。

要把警告放在心上:使用你的编译器的最高警告级别。要求干净(没有警告)的构建。理解所有的警告。通过修改你的代码来消除警告,而不是降低警告级别。

2. 使用自动构建系统。

触动单一的按钮:使用一个不需人工干预的构建整个工程的完全自动化(“单动作”)的构建系统。

3. 使用版本控制系统。

好记性不如烂笔头:使用版本控制系统(VCS)。永远不要让文件长时间地签出(check out)。在你通过更新的单元测试后,要经常性地签入(check in)。使得签入的代码不会破坏构建。

4. 投资于代码评审。

评审代码:人多力量大。向他人展示你的代码,阅读其他人的代码。大家都将受益。

设计风格

5. 一个实体一个内聚的责任。

一个时刻关注一件事情:赋予每个实体(变量,类,函数,名字空间,模块,库)一个定义明确的责任。随着实体的演化,其责任的作用域也随之加大,但其责任不能发散。

6. 正确性,简单性和清晰性是第一位的。

KISS(保持软件简单):正确优于快速。简单优于复杂。清晰优于伶俐。安全优于不安全。(参见Item83和Item99)

7. 知道什么时候和如何为可伸缩性编码。

小心爆炸性的数据增长:不要过早地优化,着眼于渐进的复杂度。

对于作用于用户数据的算法,数据处理的复杂度应该是可预测的,最好是不比线性差。在证明了优化是有必要而且重要以后(特别是由数据量增加所引起的),应该集中于提高big-Oh复杂度,而不是作像少用一个额外的加法那样的优化。

8. 不要过早地优化。

无故加鞭(拉丁谚语Spur not a willing horse):过早地优化是没有结果的,就像它很令人着迷一样。

优化的第一个原则是:不要去动它。优化的第二个原则(只对专家来说)是:还是不要去动它。衡量两次,优化一次。

9. 不要过早地悲观。

自己要轻松点,代码也是一样:在其他所有的情况都相同的情况下(尤其是代码复杂性和可读性),使用某个有效的设计模式和编码惯用法应该是你信手拈来的事,而且它不能比悲观的候选方法更难于编写。这并不是过早的优化;它是在避免没有必要的悲观。

10. 使全局和共享数据最少。

共享会引起争夺:避免共享数据,尤其是全局数据。共享数据会增加耦合性,它降低了可维护性,而且常常会降低效率。

11. 隐藏信息。

不要泄密:不要暴露一个提供了抽象的实体的内部信息。

12. 知道什么时候和如何为并行编码。

线程安全:如果你的应用程序使用了多线程或多进程,你就应该尽可能地减少共享对象(参见Item10),而且要安全地共享这些对象。

13. 保证资源被对象所拥有。使用显式的的RAII和智能指针。

当你有动力工具时,不要手工去锯:C++的“资源获取既是初始化”(RAII)惯用法是一个强大的正确的资源处理工具。RAII允许编译器提供强大而且自动化的保证,而在别的语言中这些保证需要脆弱的手工编写的惯用法来提供。在申请一块原始资源时,随即把它传递给一个固有的对象。绝不要在单一一个语句中申请多个资源。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有