代码规范总结

腾讯公司代码规范:

 

Java:

1、 首先,代码都要做到:代码要缩进;变量的命名要有意义;要有适当的注释。

2、 达意>简洁

3、 骆驼法则:单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如: SupplierName, addNewContract,而不是 supplier_name, add_new_contract。

4、 尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免拼音与英文混用。比如表示归档,用archive比较好, 用pigeonhole则不好,用guiDang尚可接受。

5、 注释应该少而静。另外,我有一个坏习惯,就是不要或者不确定的代码喜欢注释掉,但是注释不是用来管理代码版本的,如果有代码不要了,直接删除,svn会有记录的,不要注释掉,否则以后没人知道那段注释掉的代码该不该删除。

6、 每个if while for等语句,都不要省略大括号{}

看下面的代码:

if (a > b)

a++;

如果在以后维护的时候,需要在a > b 时,把b++,一步小心就会写成:

if (a > b)

a++;

b++;

这样就错了,因为无论a和b是什么关系,b++都会执行。 如果一开始就这样写:

if (a > b) {

a++;}

相信没有哪个笨蛋会把b++添加错的。而且,这个大括号使作用范围更明显,尤其是后面那行很长要折行时。

7、在需要留空的地方放一个空语句或注释,告述读者,你是故意的

比如:

if (!exists(order)) {

;

}

或:

if (!exists(order)) {

//nothing to do

}

8、???减少嵌套的方法有很多:

合并条件
利用 return 以省略后面的else
利用子方法

9、???善用TODO:

在代码中加入 //TODO: ,大部分的ide都会帮你提示,让你知道你还有什么事没有做。比如:

if (order.isPaid()) {
//TODO: 更新订单
}

 

 

c++:

1、 不允许把多个短语句写在一行中, 即一行只写一条语句。

2、 程序块要采用缩进风格编写, 缩进的空格数为4个。说明: 对于由开发工具自动生成的代码可以有不一致。

3、  对齐只使用空格键, 不使用TAB键。

4、 在两个以上的关键字、变量、常量进行对等操作时, 它们之间的操作符之前、之后或者前后要加空格; 进行非对等操作时, 如果是关系密切的立即操作符(如->), 后不应加空格。

说明: 采用这种松散方式编写代码的目的是使代码更加清晰。

由于留空格所产生的清晰性是相对的, 所以, 在已经非常清晰的语句中没有必要再留空格, 如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格, 多重括号间不必加空格, 因为在C/C++语言中括号已经是最清晰的标志了。

在长语句中, 如果需要加的空格非常多, 那么应该保持整体清晰, 而在局部不加空格。给操作符留空格时不要连续留两个以上空格。

5、对于变量命名, 禁止取单个字符(如i、j、k… ), 建议除了要有具体含义外, 还能表明其变量类型、数据类型等, 但i、j、k 作局部循环变量是允许的。
说明: 变量, 尤其是局部变量, 如果用单个字符表示, 很容易敲错(如i写成j), 而编译时又检查不出来, 有可能为了这个小小的错误而花费大量的查错时间。

 

 

竞赛规范:

 

整体规范
1. 空行:在长代码的条件下,若代码量较大,应给不同作用的代码块中间用适当的空行隔开。若代码量过大,因适当的使用函数。

2. 括号:左括号不换行。

3. 缩进:推荐用两个空格作为缩进。

5. 变量名/函数名:(1) 应使用和作用有关的英文,可由多个单字组成。

(2) 简单变量名(一两个字母)应作用明显,不宜过多。

(3) 推荐使用大驼峰命名法(帕斯卡命名法):多个单词组成的名字应每个单词首字母大写。

例如 a, b, c, d 此类命名不宜过多。

首字母大写:PrintEmployeePaychecks()

下划线:print_employee_paychecks()

错误:Print_Employee_Paychecks()(下划线 + 首字母大写)、printemployeepaychecks() (全小写)

5. 成对书写:输入'()','[]','{}' 时应成对输入,避免疏漏。

6. 注释:注释时,'//' 应与代码行相隔两个空格,'//'后再添加一个空格。若在一行上,不宜过长。若有条件,推荐使用英文注释。

int left = 1, right = n; // left is the leftmost index of Array;
7. 对齐:应严格按照代码格式进行缩进。'{' 不换行,且每个 '{}' 直接的代码块应增加一个缩进格式!

8. 空格:每个运算符的两旁应严格增加一个空格,由逗号分隔的多个表达式前,严格用一个空格!(第一个表达式除外)

例如:if (a == b)、sum += a;、a && b、power(a, b, c, d, c + 1) 红色下划线处均为一个空格。

 

细节规范
1. 头文件:引入头文件,"#include" 与 "<...>" 之间应有一个空格。

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
2. 定义常量:若题目已经给定常量,应用 "const" 类型定义,并给上界适当留出空间。

const int maxn = 1e5 + 10;
const int mod = 1e9 + 7;
3. 重命名:若题目需要使用到 long long ,应使用 "LL" 进行重命名。

posted @ 2021-09-12 22:37  庞小凤  阅读(344)  评论(0编辑  收藏  举报