译者(YuleFox)笔记:
(1)、关于注释风格,很多C++的coders更喜欢行注释,Ccoders或许对块注释依然情有独钟,或者在文件头大段大段的注释时使用块注释;
(2)、文件注释可以炫耀你的成就,也是为了捅了篓子别人可以找你;
(3)、注释要言简意赅,不要拖沓冗余,复杂的东西简单化和简单的东西复杂化都是要被鄙视的;
(4)、对于Chinesecoders来说,用英文注释还是用中文注释,itisaproblem,但不管怎样,注释是为了让别人看懂,难道是为了炫耀编程语言之外的你的母语或外语水平吗;
(5)、注释不要太乱,适当的缩进才会让人乐意看.但也没有必要规定注释从第几列开始(我自己写代码的时候总喜欢这样),UNIX/LINUX下还可以约定是使用tab还是space,个人倾向于space;
(6)、TODO很不错,有时候,注释确实是为了标记一些未完成的或完成的不尽如人意的地方,这样一搜索,就知道还有哪些活要干,日志都省了.
8.格式:
代码风格和格式确实比较随意,但一个项目中所有人遵循同一风格是非常容易的.个体未必同意下述每一处格式规则,但整个项目服从统一的编程风格是很重要的,只有这样才能让所有人能很轻松的阅读和理解代码.
另外,我们写了一个emacs配置文件来帮助你正确的格式化代码.
行长度:每一行代码字符数不超过80.
我们也认识到这条规则是有争议的,但很多已有代码都已经遵照这一规则,我们感觉一致性更重要.
缺点:反对该原则的人则认为更宽的代码行更易阅读.80列的限制是上个世纪60年代的大型机的古板缺陷;现代设备具有更宽的显示屏,很轻松的可以显示更多代码.
结论:80个字符是最大值.
特例:
(1)、如果一行注释包含了超过80字符的命令或URL,出于复制粘贴的方便允许该行超过80字符.
(2)、包含长路径的#include语句可以超出80列.但应该尽量避免.
(3)、头文件保护可以无视该原则.
非ASCII字符:尽量不使用非ASCII字符,使用时必须使用UTF-8编码.
即使是英文,也不应将用户界面的文本硬编码到源代码中,因此非ASCII字符要少用.特殊情况下可以适当包含此类字符.如,代码分析外部数据文件时,可以适当硬编码数据文件中作为分隔符的非ASCII字符串;更常见的是(不需要本地化的)单元测试代码可能包含非ASCII字符串.此类情况下,应使用UTF-8编码,因为很多工具都可以理解和处理UTF-8编码.十六进制编码也可以,能增强可读性的情况下尤其鼓励——比如"\xEF\xBB\xBF"在Unicode中是零宽度无间断的间隔符号,如果不用十六进制直接放在UTF-8格式的源文件中,是看不到的.(yospaly注:"\xEF\xBB\xBF"通常用作UTF-8 withBOM编码标记).
空格还是制表位:只使用空格,每次缩进2个空格.
函数声明与定义:返回类型和函数名在同一行,参数也尽量放在同一行.
函数看上去像这样:
ReturnType ClassName::FunctionName(Type par_name1, Type par_name2) {
DoSomething();
...
}如果同一行文本太多,放不下所有参数:
ReturnType ClassName::ReallyLongFunctionName(Type par_name1,
Type par_name2,
Type par_name3) {
DoSomething();
...
}甚至连第一个参数都放不下:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-35033-23.html
美国急了