编码规范

C# .NET编码规范

时光总嘲笑我的痴心妄想 提交于 2020-11-16 00:09:13
#编码规范 ##术语定义 1. Pascal-标识符每个单词的首字母都大写。UserName 2. Camel-首字母小写。userId ##文件命名组织 1. 文件命名:Pascal命名法,类名.cs 2. 文件注释: 版权声明,文件功能简述,创建标识,修改标识。在修改处做详细注释 ##代码外观 1. 列宽: 110个字符 2. 换行:在逗号后,操作符前换行 ##缩进 1. Tab替换成4个空格。 ##空行 1. 两个空行:接口与类之间、枚举与类之间、类与类之间 2. 一个空行:方法、属性、不同的逻辑块、返回语句之前、注释前、方法中变量声明与语句之间。 ##空格 1. 关键字与左括号之间:for (int ...) 2. 多个参数用逗号隔开,每个逗号后加一个空格:Add(a, b, c) 3. 除了"."之外,二元操作符用空格与操作数隔开,一元操作符、++/--不需要。a += c + b; n++; 4. 语句中的表达式:for (expr1; expr2; expr3) ##括号 1. (不要紧靠关键字,中间用一个空格。if (expr) 2. (与方法名之间不要空格。Add(....) 3. 没有必要,不要在返回语句使用() ##花括号{} 1. {放在关键字或方法名下一行并对齐。通常单独一行。 if (n > 10) { } 2. if、while、do后面一定要使用{}

python代码规范化工具yapf

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-07 06:56:44
yapf yapf是一个Python文件代码格式化工具,通过 YAPF 优化后,代码风格可统一,在每次代码审查中,也就没有必要争论风格了。 用法 usage: yapf [-h] [-v] [-d | -i] [-r | -l START-END] [-e PATTERN] [--style STYLE] [--style-help] [--no-local-style] [--verify] [files [files ...]] Formatter for Python code. positional arguments: files optional arguments: -h, --help show this help message and exit -v, --version show version number and exit -d, --diff print the diff for the fixed source -i, --in-place make changes to files in place -r, --recursive run recursively over directories -l START-END, --lines START-END range of lines to reformat, one-based -e

Java十大低级错误

跟風遠走 提交于 2020-02-28 21:12:47
1、Java十大低级错误 不能用" == "比较两个字符串内容相等。 对 list 做 foreach 循环时,循环代码中不能修改 list 的结构。 日志和实际情况不一致;捕获异常后没有在日志中记录异常栈。 魔鬼数字。 空指针异常。 数组下标越界。 将字符串转换为数字时没有捕获 NumberFormatException 异常。 对文件、 IO 、数据库等资源进行操作后没有及时、正确进行释放。 循环体编码时不考虑性能,循环体中包含不需要的重复逻辑。 数据类没有重载 toString() 方法。 2、解读&案例 2.1、不能用"=="比较两个字符串内容相等。 两个字符串在比较内容是否相等的时候,如果使用" == ",当两个字符串不是指向内存中同一地址,那么即使这两个字符串内容一样,但是用" == "比较出来的结果也是 false 。所以两个字符串在比较内容是否相等的时候一定要使用" equals "方法。 下面就是一个字符串比较的例子: public class Test { public static void main(String[] args) { String a = new String("a"); String a2 = "a"; if(a == a2) { System.out.println("a == a2 return true."); } else {

Android 编码规范及代码风格

时光毁灭记忆、已成空白 提交于 2019-12-06 13:59:02
一、常见的命名规范 1、Pascal命法: 每个单词的首字母大写。 如:PersonName、SchoolName 2、Camel命名法: 第一个单词的首字母小写,其余单词的首字母大写。如:personName、schoolName 3、匈牙利命名法: 变量名=属性+类型+对象描述。 如:m_intMaxDate 属性:全局变量(g_)、常量(c_)、成员变量(m_)、静态变量(s_) 类型: 函数 (fn)、 句柄(hand)、长整型 (long)、布尔 (bool)、浮点型 (float)、双字 (dw)、字符串 (str)、 双精度浮点 (double)、计数 (count)、字符 (char)、整型 (int)、字节 (byte) 描述:最大(Max)、 最小(Min)、初始化 (Init)、临时变量 (T/Temp)、源对象 (Src)、目的对象 (Dest) 4、下划线命名法: 所有字母均小写,每个单词间以下划线分割。如:person_name 二、命名规范的运用 1、包名全部小写 package istg.tolo.common 2、文件命名(即类名) Pascal命名 (1)普通类(Pascal命名法) public class SomeClass{ public SomeMethod(){} //构造函数 } (2)自定义属性类(后缀使用Attribute)