1.亚信移动客户事业部Java编码规范V 1.0(2)

2019-04-13 18:34

是由二个或多个单字连结在一起,而构成的唯一识别字时,利用“驼峰式大小写”来表示,可以增加变量和函式的可读性。 驼峰式命名法分大驼峰式命名法(UpperCamelCase)和小驼峰式命名法(lowerCamelCase)。 大驼峰式命名法(upper camel case)每一个单字的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为 Pascal 命名法。 小驼峰式命名法(lower camel case)第一个单字以小写字母开始,第二个单字的首字母大写。例如:firstName、lastName。 2 K & R 风格 对于非空块和块状结构,大括号遵循Kernighan和Ritchie风格 - - - - 左大括号前不换行 左大括号后换行 右大括号前换行 如果右大括号是一个语句、函数体或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else或逗号,则不换行。 示例: return new MyClass() { @Override public void method() { if (condition()) { try { something(); } catch (ProblemException e) { recover(); } } } }; 3 魔术数字 魔术数字(magic number)是程式设计中所谓的直接写在程式码里的具体数值(如“10”,“123”等以数字直接写出的值)。虽然程式作者写的时候自己能了解数值的意义,但对其他程式员而言,甚至制作者本人经过一段时间后,会难以了解这个数值的用途,只能苦笑讽刺“这个数值的意义虽然不懂,不过至少程式会动,真是个魔术般的数字”而得名。 4 CAS机制 CAS,又称Compare-and-Swap,是多线程中实现同步的一种原子指令。拿到一个新值后,CAS将其与内存中的值进行比较,若内存中的值和这个值不一样,则将这个值写入内存,否则,不做操作。

1

2. 命名规范

2.1. 包名

? 规则

1) 包名用公司域名倒置+产品名称/项目名称+模块名称。

2) 包名全部小写,连续的单词只是简单地连接起来,不使用下划线,用有意义的英文名词,禁止使用汉语拼音。

3) 使用完整单词,避免缩写词(除非该缩写词被广泛使用,如URL,HTML)。

示例:

com.ai.crm.res 2.2. 类名

? 规则

1) 类名都以大驼峰风格编写,采用大小写混合的方式,每个单词的首字母大写。 2) 类名选取有意义的代表该类实际含义的名词或名词词组,要求为英文单词,禁止使用汉语拼音。

3) 使用完整单词,避免缩写词(除非该缩写词被广泛使用,如URL,HTML)。

示例:

class Raster; class ImageSprite; class Operator; class URLHandler; ? 建议

1) 对于抽象类,应该使用Abstract前缀。

示例:

2

AbstractDataAccess; 2) 接口命名使用字母“I”开头。

示例:

IDataAccess; 3) 接口的实现类建议以Impl结尾。

示例:

DataAccessImpl; 2.3. 方法名

? 规则

1) 方法名都以小驼峰风格编写,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 2) 方法名通常是动词或动词短语。

示例:

run(); runFast(); getBackground(); 3) 构造函数名称与类名一致,避免在类中有与构造函数相同命名的方法名称。 ? 建议

1) 方法名称命名格式建议如下:

特殊method名称 is+<标识符> 说明 ? 用于判断一个标志位的method。 ? 返回一个布尔值。 ? 用于判断能否执行一个动作。 ? 返回一个布尔值。 ? 用于取得一个属性或一个值。 ? 用于设置一个属性或一个值。 isAlive 举例 can+<标识符> canSleep get+<标识符> set+<标识符> getProperty setProperty

3

2) 成员函数的控制符号要准确,不是必须使用public属性的应该使用

protected,不是必须使用protected的应该使用private.

2.4. 常量名

? 规则

1) 常量名,应该全部大写,单词间用下划线隔开,并用static final修饰词修饰。 2) 常量名通常是名词或名词短语。

示例:

static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999; static final int GET_THE_CPU = 1; 3) 不允许在代码中使用魔术数字,请定义成常量再使用常量的名称。特殊情况除外,如:for循环中作为计数器值的数字常量-1,0和1。 如使用错误的魔术数字: if (score>100){

doBusiness(); } ? 建议

使用范围广的常量统一放在一个类里面定义。

2.5. 变量名

? 规则

变量名以小驼峰风格编写,必须是名词或名词短语。 ? 建议

1) 一个集合,例如数组或者列表,应该以复数的形式命名。

示例:

customers

4

orderItems 2) 不使用public修饰符定义变量。

3) 如果在实际应用中整个名字太长,可以考虑采用适当的缩写方式。

例如:去掉元音字母,保留辅音字母:用msg代替message,用mgr代替manager。 截取字母的一部分:用prop代替properties,用max代替maximum。

4) 对于一些固定的缩写(如:SQL等),其字母大小写规则按照其固定规则书写。

2.6. 参数名

? 规则

1) 参数名以小驼峰风格编写。 2) 参数应该避免用单个字符命名。

2.7. 局部变量名

? 规则

1) 局部变量名以小驼峰风格编写,比起其它类型的名称,局部变量名可以有更为宽松的缩写,不使用下划线开头,不使用拼音。 2) 避免用单字符进行命名,除了循环变量。

3) 局部变量名称不能与类属性名称以及公有方法参数名称相同。

示例:

float width; //良好的风格 float myWidth; //良好的风格

float _width; //不良的风格(使用下划线开头) float changdu; //不良的风格(使用拼音) ? 建议

尽可能在定义变量的同时初始化该变量(就近原则)。

5


1.亚信移动客户事业部Java编码规范V 1.0(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年中国软饮料行业现状及发展趋势分析 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: