还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
南京见贤信息科技有限公司体系文件开发代码规范JAVA拟制校对审核会签核准批准2016-12发布2017-1实施南京见贤信息科技有限公司发布5其他
5.1目录结构项目目录结构如下:红色字体为项目扩展目录,可以自由调整,其他为平台框架目录,不要调整1绪论11目的1范围1职责12代码组织与风格1缩进1长度13行宽14间隔13注释
23.1文件头注释22方法注释23变量注释
33.4功能块注释45其他注释44命名5基本规则5文件、包5类、接口54字段65方法
64.6命名约定表75其他91目录结构91绪论
1.1目的开发代码规范JAVA本规范的目的是使公司各项目组能以标准的、规范的方式设计和编码O通过建立编码规范以使每个开发人员养成良好的编码风格和习惯;并以此形成项目组编码约定,提高程序的可靠性、可读性、可修改性、可维护性和一致性等,增进团队间的交流,并保证软件产品的质量
1.2范围本规范适用于公司其下所有JAVA软件项目、产品等的设计、开发以及维护、升级等本规范使用于公司的所有JAVA软件开发人员,在整个软件开发过程中必须遵循此规范
1.3职责本规范的修订升级的责任部门为软件研发部,负责本规范的意见收集、改进、更新和解释工作本规范的检查落实的责任部门为软件研发部,负责按照本规范对所有开发人员编写的代码进行检查2代码组织与风格
2.1缩进代码中以TAB4个空格缩进,在编辑器中请将TAB设置为以空格替代,否则在不同编辑器或设置下会导致TAB长度不等而影响整个程序代码的格式
2.2长度1单个函数的有效代码长度当尽量控制在150行以内不包括注释行2单个类的长度包括注释行不超过1500行尽量避免使用大类和长方法
2.3行宽一行的长度不超过80个字符,超过必须分拆出另一行长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读
2.4间隔1方法间必须有2-3个空行2功能块必须有1个空行,连续的语句之间不许留空行3一行代码只允许写一条语句if、for、while、d等语句必须自占一行,执行语句不得紧跟其后,且执行语句必须加二元操作符如+、-、*、/、=、!=<、>、>二等前后必须加空格,一元操作符如++、--、!等与其作用的变量之间禁止加空格类型转换符之后必须有空格方法名与左边圆括号之间不许出现空格括号必须配对使用,一对括号位置应该对齐3注释各项目代码注释率必须达到15%文件头方法、成员变量必须加注释,局部变量不强制,其他根据代码复杂程度和易于理解程度进行注释每一个文件的文件头都必须做文件头注释文件头注释范例如下:注释示例/**文件名Event.java
1.
0.0Aug122011描述控制器事件常量集作者张三/packagecom.sayyi.sotuan.controIler;pubIiccIassEvent方法注释依据标准JavaDoc规范对方法进行注释,以明确该方法功能、作用、各参数含义以及返SQLException-查询sql异常*/pubIicListgetDeaIsStringkeywordsStringorderbyStringsort变量注释所有的成员变量在声明时都需要为其做功能注释,局部变量不强制成员变量注释示例pubIiccIassEvent(publicstaticfinalintGET_DETAIL=0;〃获取商品数pubIicstaticfinalintSH0W_H0ME=1;〃显示首页编号)局部变量注释示例pubIicListgetDeaIsStringkeywordsStringorderbyStringsortStringwebllrl=http://www.baidu.com;//所连接的网址URLurI=newURLwebllrI;〃根据网址创建URL对象}功能块注释功能块可根据代码复杂程度和易于理解程度进行注释功能块注释示例pubIicListseIectStringkeywordsStringorderbyStringsortListIstProducts=newArrayList;//组合查询语句Stringsql=seIect*from・・・.”;DBHeIperdbHelper=newDBHeIper;//循环编历Whilecursor.moveToNext}其他注释应对不易理解的分支条件表达式加注释不易理解的循环,应说明出口条件过长的方法实现,应将其语句按实现的功能分段加以概括性说明对于异常处理当注明正常情况及异常情况或者条件,并说明当异常发生时程序当如何处理4命名基本规则使用可以准确说明变量/字段/类/接口/包等的完整的英文描述符例如,采用类似firstNameIistAIlUsers或CorporateCustomer这样的名字,最好不要使用汉语拼音及不相关单词命名采用该领域的术语如果用户称他们的“客户”clients为“顾客”customers那么就采用术语Customer来命名这个类,而不用Client采用大小写混合,提高名字的可读性一般应该采用小写字母,但是类和接口的名字的首字母,以及任何中间单词的首字母应该大写包名全部小写尽量少用缩写如果一定要使用,当使用公共缩写和习惯缩写等,如实现implement可缩写成impl经理manager可缩写成mgr等,严禁滥用缩写避免使用长名字最好不超过25个字母避免使用相似或者仅在大小写上有区别的名字避免使用数字如用2代替to用4代替for等,例go2Jspo文件名总长度不超过50个字符文件、包文件名当与其类严格相同,所有单词首字母大写包名一般以项目或模块名命名,少用缩写和长名,一律小写基本包com.njjx所有包、文件都从属于此包包名按如下规则组成[基本包].[项目名].[模块名].[子模块名]……不得将类直接定义在基本包下,所有项目中的类、接口等都当定义在各自的项目和模块包中类、接口类名和接口的命名使用意义完整的英文描述,每个英文单词的首字母使用大写其余字母使用小写的大小写混合法接口的命名同时应在起始位置加Io字段常量如果一个类的多个方法需要使用常量,必须在常量前加入static并放在main方法外部常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用staticfinal修饰staticfinalintDEFAULT_VALUE=O;//默认值变量和参数对不易清楚识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使用strXXXboolean使用isXXXhasXXX等等除第一个单词外其余单词首字母大写变量名禁止使用Java中的保留字变量在使用前必须进行初始化禁止使用未声明的变量,禁止方法中定义了局部变量而没有使用集合一个集合,例如数组和矢量,应采用复数命名来表示队列中存放的对象类型命名应采用完整的英文描述符,名字中所有非开头的单词的第一个字母应大写,适当使用集合缩写前缀如VectorvProducts=newVector0;//产品向量Arrayaryllsers=newArray0;//用户列表方法方法的名字,使用意义完整的英文描述开头,单词首字母小写,后续单词首字母大写,使用“动词”或者“动词+名词”动宾词组取值类使用get前缀,设值类使用set前缀,判断类使用ishas前缀例getNamesetSarryisLogon方法参数顺序被操作者,操作内容,操作标志,其他…例pubIicvoidrepIaceStringsourceStr//源字串StringoldStr〃被替换字串StringnewStr〃替换为字串命名约定表命名约定表审批标识号确认人日期异常实例名通吊采用子母e、ex表示丹常多个异常时使用异常名或其简写加E、Ex等构成ESQLEx静态常量字段(常量)全部采用大写字母,单词之间用下划线分隔采用静态常量获取成员函数DEFAULT_NAME获取成员函数被访问字段名的前面加上前缀getgetllserName接口采用完整的英文描述符说明接口封装,所有单词的第一个字母大写使用1前缀1Runn1Prompt局部变量采用完整的英文描述符第一个字母小写,但不要隐藏已有字段例如,如果有一个字段叫firstName不要让个局部变量叫firstNameostrNametota1Money循环计数器通常采用字母ijk或者counterindexijkcountindex包采用完整的英文描述符所有单词都小写,多个单词以下划线相连所有包都属com.njjxcom.njjx成员函数采用完整的英文描述说明成员函数功能第一个单词尽可能采用一个生动的动词,除第一个单词外,每个单词第一个字母小写openFi1eaddllser设置成员函数被访问字段名的前面加上前缀setNamesetosetPower目录说明ProjectName项目目录,当和项目名一致/src源码目录/org/w11平台目录/com/njjx/【项目名】业务功能扩展后台代码目录/WebRoot配置目录/WEB-1NF/Iib平台运行时库目录/log日志目录/conf平台配置文件目录/tld页面标签定义/styIe平台样式脚本/js平台Js脚本/jsp平台目录/ui平台整体框架界面目录/com/njjx/【项目名】业务功能扩展前台代码目录/docs文档目录/apiJavaDoc目录/design设计文档目录操作项命名约定示例参数使用传递值/对象的完整的英文描述符user1D字段/属性字段采用完整的英文描述第一个字母小写,任何中间单词的首字母大写firstName布尔型的获取成员函数所有的布尔型获取函数必须用单词ishas做前缀isStringhasMoney类采用完整的英文描述符,所有单词的第一个字母大写Customer编译单元文件使用类或接口的名字,或者如果文件中除了主类之外还有多个类时,加上前缀java来说明它是一个源码文件Customerjava部件/组件使用完整的英文描述来说明组件的用途将组件类型使用匈牙利命名法则作其前缀btnOKcboTypeList构造函数使用类名Customer析构函数Java没有析构函数,但一个对象在垃圾收集时调用成员函数finalizefinalize异常类名由表示该异常类型等的单词和Exception组成SQLExceptionActionException。