1 命名规范
命名规范中禁止出现汉语拼音和无实际意义的命名。
1.1 对象api
规范:把对象标签中的单词以首字母大写的方式连接起来,每个单词之前用“_”下划线连接。
示例:对象标签为Weibo_Account,相对应的api名称应该为:Weibo_Account__c,其中后缀“__c”是系统自动为我们加上去的,我们不需要去填写他。
注意:如果对象标签填写的是中文,那么我们在定义对象名的时候应该把标签用英文翻译过来在按照上面的规则定义对象名称,如:
1.2 字段api
规范:用描述字段的英文单词连接,每个单词首字母大写,单词之间用“_”下划线连接。
示例:字段名称为Weibo Account ID,对应字段API名称为:Weibo_Account_ID__c另外如果有Lookup(查找)类型的字段,要用被引用的对象名作为字段名,如:Weibo Account查找的是Account这个对象,那么字段名就应该为Account而非其他值,子级关系名称就是当前这个对象的名称Weibo_Account,因为Weibo_Account是Account的子对象。
1.3 Class
规范:单词连写,单词首字母大写。
示例:OrderItem。
1.4 Trigger
规范:Trigger名称=对象名+功能名称单词连写,单词首字母大写。
示例:Account对象上有一个自动命名的Trigger就应该为:AccountAutoSetName
1.5 Visualforce
规范:以页面要实现的功能概要命名,单词连写,单词首字母大写。
示例:OrderTarcking
1.6 VF页面控制类
规范:控制类名称=VF页面名称+Controller
示例:OrderTarckingController
1.7 Web Service Class
规范:WebServiceClass名称=类的功能描述+WS
示例:CalculationPriceWS
1.8 Batch Class
规范:Batch 的功能描述并且以Batch结尾。
示例:AutoUpdateAccountStatusBatch
1.9 Schedule Class
规范:Schedule的功能性描述+Schedule结尾。
示例:AutoUpdateAccountStatusSchedule
1.10 测试类
规范:测试类命名以“Test_”开头,连接上被测试的类名
示例:Test_AutoUpdateAccountStatusBatch
1.11 常量
规范:所有的字符都必须大写,采用有意义的单词组合表达式,单词与单词之间用“_”下划线隔开,命名尽量简短,不要超过16个字符。
示例:static final integer PAGE_SIZE = 10;
1.12 变量
规范:变量命名一般采用大小写混和的方式,第一个单词的首字母小写,其后单词的首字母大写,变量名一般不要用下划线或美元符号开头。变量名应简短且有意义,即,能够指出其用途。除非是一次性的临时变量,应尽量避免单个字符的变量名。
示例:String userName =“ ”;
1.13 方法
规范:方法名应是一个动词或动名结构,采用大小写混和的方式,其中第一个单词的首字母用小写,其后单词的首字母大写。
示例:public void checkStatus(){};
注意:每个方法前必须加说明包括:参数说明、返回值说明、异常说明。如果方法名实在是太长可以对变量名缩写,但是必须添加相应的说明。
2. 所有命名一览表
类型 | 规范 | 示例 |
对象 API | 对象名称单词用下划线连接 | Weibo_Account__c |
字段 API | 字段名称单词用下划线连接 | Weibo_Account_ID__c |
Class | 单词连写,首字母大写 | OrderItem |
Trigger | Trigger 名称=对象名+功能 | AccountAutoSetName |
Visualforce页面 | 页面功能描述 | OrderTracking |
VF 页面控制类 | VF 页面的名+Controller 结尾 | OrderTrackingController |
WebService Class | 类功能描述+WS 结尾 | CalculationPriceWS |
Batch Class | 功能描述+Batch 结尾 | AutoUpdateAccountStatusBatch |
Schedule Class | 功能描述+Schedule 结尾 | AutoUpdateAccountStatusSch |
测试类 | Test_+Class 名或 Trigger 名 | Test_OrderItem |
3.代码规范
3.1代码格式
规范:代码缩进要保持一致的缩进量,if、for、while、do 等语句尽量自占一行,执行语句不得紧随其后,不论执行语句有多少都要加{},这样可以美观易读防止书写失误;
示例:如果用这种写法代码如下感觉很乱,如:If (….) {
}
这种写法可读性较好,如:if (….)
{
}
3.2 代码嵌套
尽可能的使用浅嵌套,禁用深嵌套
如下为深嵌套:
这段代码中在for循环中有好多判断,所以导致了,代码嵌套很深,这段代码可以忧化成如下写法,先判断不符合条件的,利用continue语句来控制嵌套层次,如下: