C++编码规则----布局
来源:互联网 发布:javascript 模块化 编辑:程序博客网 时间:2024/06/14 23:36
布局与注释
布局
- 基本的缩排为4。
for (i = 0; i < nElements; i++) a[i] = 0;
缩排为1不明显;缩排大于4当嵌套深时,代码南阅读且一行代码被分割的机会加大。2、3与4是较好的选择。
- 块的缩排应该使用下面的例1(java默认编排方式)或例2的布局,但不可以使用例3。函数和类的块必须使用例2的布局。建议使用例2。
while (!done) { doSomething(); done = moreToDo();}
while (!done){ doSomething(); done = moreToDo();}
while (!done) { doSomething(); done = moreToDo(); }
例3额外的缩排并没有强调程序的逻辑结构,例1与例2很清晰。
- 类的申明应该使用如下的形式:
class SomeClass : public BaseClass{ public: ... protected: ... private: ... }
遵循块的通用规则。
函数或过程的开始、结构的定义及循环,判断等语句中的代码都要采用缩进风格。
函数的申明应该使用如下的形式:
void someMethod() { ...}
- 各类if-else语句应该使用如下的形式:
if (condition) { statements;}if (condition) { statements;}else { statements;}if (condition) { statements;}else if (condition) { statements;}else { statements;}
下面部分遵循块的通用规则,但是else语句与前一个if或else语句的右括号在同一行:
if (condition) { statements;} else { statements;}
这等效于Sun的推荐。这种方法的选择考虑是更好的方式将每部分if-else写在文件的多行内。这使得操纵语句更容易,如移动else周围的内容。
- for 语句应该使用如下的形式:
for (initialization; condition; update) { statements;}
遵循块的通用规则。
- 空的for语句应该使用如下的形式:
for (initialization; condition; update) ;
- while 语句应该使用如下的形式:
while (condition) { statements;}
遵循块的通用规则。
- do-while 语句应该使用如下的形式:
do { statements;} while (condition);
遵循块的通用规则。
- switch语句应该使用如下的形式:
switch (condition) { case ABC : statements; // Fallthrough case DEF : statements; break; case XYZ : statements; break; default : statements; break;}
每个case关键字的缩进与switch语句相关作为一个整体,这样突出显示switch语句。注意在每个:之前使用格外的空白符。当对应的case语句没有break语句时,需要显式的注释说明,防止因为无意漏加。
- try-catch语句应该使用如下的形式:
try { statements;}catch (Exception exception) { statements; }
部分遵循通用块的规则。对于if-else语句使用的闭括号规则同样适用于try-catch语句。
- 单一的if-else,for或while语句一般可以不用大扩号。
if (condition) statement;while (condition) statement;for (initialization; condition; update) statement;
通用的推荐(包括Sun Java推荐在内) 这种情况总是使用大括号。但是,大括号作为语言机制是用于分组多条语句的,对单一语句使用是多余的。
0 0
- C++编码规则----布局
- 编码规则
- 编码规则
- 编码规则
- 编码规则
- 八大Flex布局规则
- Flex布局规则
- C规则
- C# 编码规则
- C# 编码规则
- C# 编码规则
- POST编码规则
- C#编码规则
- 铁路列车车次编码规则
- C# 编码规则
- java编码规则
- java编码规则
- UTF-8编码规则
- 1028: 求函数值
- java常量池细节
- Longest Palindromic Subsequence
- Webpack学习心得
- bash之字符串处理
- C++编码规则----布局
- cc1plus: all warnings being treated as errors
- Effective java笔记-第九章-异常
- HDU 2074 叠筐(基础字符串处理)
- 欢迎使用CSDN-markdown编辑器
- 页表 段表
- JAVA-练习:购物金额结算
- 文件上传之进度条与图片类型检测
- 1029: 求矩阵的两对角线上的元素之和