开发编码规范Word文档下载推荐.docx
- 文档编号:13896288
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:13
- 大小:40.83KB
开发编码规范Word文档下载推荐.docx
《开发编码规范Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《开发编码规范Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
6)对于自己创建的每一个类,都考虑置入一个main()11
7)应将方法设计成简要的、功能性单元11
8)设计一个类时,请设身处地为客户程序员考虑一下11
9)使类尽可能短小精悍,而且只解决一个特定的问题。
12
10)采用内部类12
11)采用注释12
12)避免使用"
魔术数字"
12
13)接口和抽象类的使用12
14)日志调试13
12.JSP编码规范13
13.日志框架14
14.事务处理16
1.关于
本文档以JAVA编程语言为基础,提供编码规范的指导,以统一开发人员的书写标准,提高代码的可读性。
代码体系、接口规约、命名规则等,这是项目小组今后共同作战的基础,有了编码规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就
有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。
2.项目结构
2.1命名空间
每个命名空间对应一个目录。
采用完整的英文描述符,应该都是由小写字母组成。
对于全局,将你的Internet域名反转并接上包名如java.awt,com.ambysoft.www.persistenee。
全局命名空间下的其它则按照功能进行划分,每个功能包下则按照放置的不同文件性质进行设置。
2.2源文件
以类名作为文件名。
一个文件只应该有一个命名空间,避免将多个类或命名空间放在同一个文件里面:
一个文件除去IDE产生的代码后最好不要超过
500行的代码,一个方法的代码长度最好不要超过25行,超出后应考虑拆
分代码或重构以降低耦合;
每行代码不要超过80个字符;
避免方法中有超过5个参数的情况。
如果超过了,则应将参数封装为类或集合类型进行传递。
2.3文件目录存放
JSP存放目录按子系统存放,同一子系统中的JSP文件不再分设单独的目录。
图片存放目录为”/images”,JS文件存放目录为:
专用的JS文件和jsp文
件在同一目录下,公用的放在”/js”下;
所有的样式表都存放在”/css”下;
子系统目录采用完整的英文描述说明,第一个单词的首字母小写,其他单词
首字母大写
3.命名约定
命名方式
使用匈牙利表示法,命名时应始终采用完整的英文描述符,一般应采用小写字母。
命名规则
1)包的命名
包的命名一般都有小写字母组成。
如packagecom.util
2)类的命名
类的名字必须由大写字母开头而其他字母都小写的单词组成,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。
如PublicclassUserService{}
3)类的变量命名
变量的名字必须由一个小写字母开头,后面的单词用大写字母开头。
如userName
4)静态变量的命名
静态变量的名字应该都大写,并且指出完整含义。
如publicstaticfinalStringLOG_CONFIG=”WEB-INF/Log4j.properties”
5)参数的命名
参数的名字必须和变量的命名规范一致。
6)数组的命名数组应该总是用下面的方式来命名。
byte[]buffer;
而不是bytebuffer]];
7)方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。
4•排版
换行
1)较长的语句、表达式要等分成多行书写。
2)长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
3)循环、判断等语句中若有较长的表达式或语句,则要进行适当的划分。
4)若函数中的参数较长,则要进行适当的划分。
5)不允许把多个短语句写在一行中,即一行只写一句语句。
缩进和间隔
缩进应该是每行2个空格。
不要在源文件中保存Tab字符,在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度。
1)关键词和操作符之间加适当的空格。
2)相对独立的程序块与块之间加空行。
3)函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
‘{'
和‘}'
应各独占一行并位于同一列,同时与引用它们的语句左对齐。
4)划分出的新行要进行适应的缩进,使排版整齐,语句可读。
5)可以使用IDE工具中的格式化功能进行代码的排版。
如Eclipse
中,CTRL+SHIFT+F
代码片段
1)避免使用不易理解的数字,用有意义的表示来替代。
2)不要使用难懂的技巧性很高的语句。
3)远程中关联较为紧密的代码应尽可能相邻。
保持
4)编写完成后,检查代码,将代码中没有使用的各类引用包删除,程序的有效、完整性。
5.Java文件格式
所有的Java文件都必须遵守如下的样式规则。
1)版权信息
2)Package/lmports
3)类的注释
4)类属性
5)存取方法
6)构造函数
7)类方法
8)main方法
6.注释规范
1)注释要简单明了。
Stringusername=null;
//用户
2)编写代码边注释,修改代码同时修改相应的注释,以保证注释和代码的一致性。
3)在必要的地方注释,注释量要适中。
注释的内容要清楚、明了、含义准
确,防止注释二义性。
保持注释与其描述的代码相邻,即注释的就近原则。
4)对代码的注释应放在其上方相邻位置,不可放在下面。
对数据结构的注释应放在其上方相邻位置,不可放在下面;
对结构中的每个域的注释应放在此域的右方;
统一结构中不同域的注释要对齐。
5)变量、常量的注释应该放在其上方相邻位置或右方。
6)全局变量要有较详细的注释,包括对其功能、功能范围、那些函数或过程存取它以及存取时注意事项等的说明。
7)在每个源文件的头部要有必要的注释信息,包括:
作者;
生成日期;
模块功能描述;
文件历史修改记录等。
/**
*预警监控明细纳税人信息指标
*业务规则说明:
*@authorxx
*/
8)在每个函数或过程的前面要有必要的注释信息。
包括:
功能描述;
输入、输出及返回值说明;
*返回预警明细信息字符串
*@paramyjxxID预警信息ID
*@paramyjzbID预警指标ID
*@return
*@throwsServiceException
9)javadoc注释标签语法。
@param对方法中参数的说明
@return对方法返回值的说明
@author表明开发此类的作者
7•代码编译
编写代码时要注意随时保存,并定期备份,防止由于断电、磁盘损坏等原因造成代码丢失。
同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。
合理的设计软件系统目录,方便开发人员使用。
打开编译器的所有告警开发对程序进行编译。
搭建必要的CVS或SVN项目组开发人员可以及时的上传、更新项目程序代码,保证代码的一致性。
代码编译之前,需修改程序的参数,以适应不同的环境,如日志的级别、数据库的连接方式在测试环境和生产环境都是不同的。
8•性能
写代码的时候,一定要考虑性能问题,在完成功能的同时也要保证所写代码的执行效率。
如果没有时间来实现一个高效的算法,那么我们应该在文档中记录下来,以便在以后有空的时候再来实现。
不必要的对象构造,不要在循环中构造和释放对象,使用StringBuffer
对象。
在进行文件的读取操作,除了可以正常的捕捉异常外,必须在文件读取完毕后,关闭整个流,特别是在系统发生异常时也要保证相关流操作能够正常关闭。
在进行数据库的读写操作中,在完成操作后,务必要关闭对数据库的连
接,特别是在系统发生异常时也要保证数据库的连接能够正常关闭。
在代码编写的过程中,尽量减少方法中临时变量以及类中全局静态变量的使用,这些变量都将增加系统的额外开销。
在进行数据库编程中,数据的提取、更新、删除这些都需要优化相应的语句。
特别是对于大量数据使用时,语句的优化相当重要。
9.测试及维护
单元测试要求至少达到语句覆盖。
编写测试用例,将用到的各种情况都考虑进去,保证测试的全面及测试结果的准确性。
单元测试开始要跟踪每一条语句,并观察数据流及流量的变化。
清理、整理或优化后的代码要经过审核及测试。
代码版本升级要经过严格测试。
系统开发中可以将已完成的功能交由用户进行使用,可以从不同的角度收集功能测试信息。
系统交付客户使用之前,一定要经过压力测试,保证程序并发运行时达到要求的性能。
10.异常
在系统运行过程中,不论是系统本身的错误,还是由于用户的非法操作导致的错误,系统能够正确的捕捉,且能及时的响应客户,这是评价程序优劣很重要的方面。
因此需要程序捕捉特定的异常,并给出友好的消息给用户,并记录错误的所有可能细节,包括发生的时间,和相关方法,类名等。
不必每个方法都用try-catch,当特定的异常可能发生时才使用。
比如,当写文件时,处理异常FilelOException,不要写太大的try-catch模块。
如果需要,为每个执行的任务编写单独的try-catch模块。
如果应用程序需要,可以编写自己的异常类。
自定义异常应从System.Exception或System.RuntimeException派生。
11.编程技巧
1)使用StringBuffer对象
在处理String的时候要尽量使用StringBuffer类,StringBuffer类是
构成String类的基础。
String类将StringBuffer类封装了起来,为开发人
员提供了一个安全的接口。
当我们在构造字符串的时候,我们应该用StringBuffer来实现大部分的工作,当工作完成后将StringBuffer对象再转
换为需要的String对象。
比如:
如果有一个字符串必须不断地在其后添加许多
字符来完成构造,那么我们应该使用StringBuffer对象和它的即pend()方
法。
如果我们用String对象代替StringBuffer对象的话,会花费许多不必要
的创建和释放对象的CPU时间。
2)避免太多的使用synchronized关键字
避免不必要的使用关键字synchronized,应该在必要的时候再使用它,这是一个避免死锁的好方法。
必须使用时,也尽量控制范围,最好在块级控制。
3)避免使用java.util.Vector类
因为此类属于单线程,所以使用它操作大量数据时,在性能上会有很大的损失。
4)面向接口编程
在程序的开发中,建议尽可能的采用面向接口进行编程,即系统业务方法都必须继承自相应的接口。
系统间的方法调用也是通过接口而非具体实现类完成,期间如果业务方法发生变化或者系统应用环境发生变化,则采用新的方法实现已定义的接口,替换以前的实现即可,而无需修改已有的代码。
总之就是要对修改封闭,对扩展开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开发 编码 规范