软件系统JAVA开发编码规范V1.0
WEB安全编程技术规范(V1.0)
1.范围本规范从应用开发安全管理要求出发,给出了WEB编码安全的具体要求。
供浙江公司IT系统内部和厂商使用,适用于省市公司IT系统项目建设WEB工作。
本规范明确定义了JA V A、PHP应用开发中和WEB编码安全相关的技术细节。
与JA V A编码安全相关的内容包括:跨站脚本攻击及解决方法、SQL注入及解决方法、恶意文件执行及解决方法、不安全的直接对象引用及解决方法、跨站请求伪造及解决方法、信息泄露和错误处理不当及解决方法、残缺的认证和会话管理及解决方法、不安全的加密存储及解决方法、不安全的通信及解决方法、限制URL 访问实效解决方法。
与PHP编码安全相关的内容包括:变量滥用及解决方法、文件打开漏洞及解决方法、文件包含漏洞及解决方法、文件上传漏洞及解决方法、命令执行漏洞及解决方法、变量类型缺陷及解决方法、警告及错误信息处理解决方法、PHP与MYSQL 组合的SQL注入解决方法、跨站脚本解决方法。
2.1.规范概述Web应用程序为结构设计人员、设计人员和开发人员提出一系列复杂的安全问题。
最安全、最有能力抵御攻击的Web应用程序是那些应用安全思想构建的应用程序。
在设计初始阶段,应该使用可靠的体系结构和设计方法,同时要结合考虑程序部署以及企业的安全策略。
如果不能做到这一点,将导致在现有基础结构上部署应用程序时,要不可避免地危及安全性。
本规范提供一系列安全的体系结构和设计指南,并按照常见的应用程序漏洞类别进行组织。
这些指南是Web应用程序安全的重要方面,并且是经常发生错误的领域。
2.实现目标使用本规范可以实现:1.确定安全Web应用程序的重要体系结构和设计问题。
2.设计时考虑重要部署问题。
3.制定能增强Web应用程序输入验证的策略。
4.设计安全的身份验证和会话管理机制。
5.选择适当的授权模型。
6.实现有效的帐户管理方法,并保护用户会话。
7.对隐私、认可、防止篡改和身份验证信息进行加密。
8.防止参数操作。
9.设计审核和记录策略。
Java+编码规范 东软编码规范,项目规范
密级:秘密文件编号:D05-PDS072Java 编码规范版本:0.0.0-1.0.02004-8-20沈阳东软软件股份有限公司 软件开发事业部(版权所有,翻版必究)文件修改控制修改编号版本修改条款及内容修改日期目 录1 引言 (5)1.1简介 51.2目的 51.3参考资料: (5)2 源程序 (6)2.1 源程序命名 (6)2.2 供发布的文件 (6)2.3 源文件的组织 (6)2.3.1 版本信息和版权声明 (6)2.3.2 包的声明 (7)2.3.3 引用声明 (7)2.3.4 类或者接口的声明 (7)3 命名规范 (7)3.1 包的命名 (7)3.2 类和接口的命名 (7)3.2.1 类的命名 (8)3.2.2 接口的命名 (8)3.3 变量命名 (8)3.4 常量命名 (8)3.5 方法命名 (8)3.6 标签命名 (9)4 空白的使用 (10)4.1 空行 (10)4.2 空格 (11)4.3 缩进 (11)4.4 行的延续 (11)5 注释 (12)5.1 版权信息注释 (12)5.2 类注释 (12)5.3 成员注释 (14)5.4 方法注释 (14)5.5 内部类的注释 (15)5.6 其它的注释: (16)5.6.1 代码修改的注释 (16)5.6.2 冗余代码的注释 (16)5.6.3 类体外的注释 (16)6 类 (16)6.1 类的定义 (17)6.2 类的成员变量(字段/属性) (17)6.3 类成员变量(字段/属性)的存取方法 (17)6.4 构造函数 (17)6.5 类方法(静态方法) (18)6.6 实例方法 (18)6.7 MAIN 方法 (18)7 接口 (19)7.1 接口体的组织 (19)8 语句 (19)8.1 简单语句 (19)8.1.1 赋值和表达式 (19)8.1.2 本地变量声明 (19)8.1.3 数组的声明 (20)8.1.4 return语句 (20)8.2 复合语句 (20)8.2.1 括号的格式 (20)8.2.2 IF语句 (21)8.2.3 FOR语句 (21)8.2.4 WHILE语句 (21)8.2.5 DO-WHILE语句 (21)8.2.6 switch语句 (21)8.2.7 try语句 (22)8.2.8 synchronized语句 (22)8.3 标签语句 (22)9 性能优化常识 (23)9.1 前提 (23)9.2 运算时间 (23)9.3 NG.S TRING (23)9.4 JAVA.UTIL.V ECTOR (24)9.5 线程 (25)9.5.1 防止过多的同步 (25)9.5.2 避免同步整个代码段 (25)9.5.3 对每个对象使用多“锁”的机制来增大并发 (25)9.6 循环 (26)9.6.1 边界 (26)9.6.2 循环体内避免构建新对象 (26)9.6.3 break (26)10 日志(LOG) (26)11 其它 (27)11.1 EXIT() (27)11.2 异常 (27)11.3 类名的唯一性 (27)1引言1.1 简介所有的程序开发手册都包含了各种规则。
JAVA编码规范-V1.0
软通动力公司JAVA编程规范编号:ISS-STD-JAVA版本:1.0变更记录目录1导言 (5)1.1目的 (5)1.2范围 (5)1.3角色和职责 (5)1.4术语定义 (5)2格式 (6)2.1.缩进 (6)2.2间隔 (7)2.3空行 (7)2.4类成员的摆放顺序 (8)2.5文件格式(File Format) (8)2.6行最大长度 (8)2.7括号 (9)3命名规则 (10)3.1类和接口 (10)3.2包 (10)3.3get和set方法(属性的定义) (10)3.4变量 (11)3.4.1普通变量: (11)3.4.2常用对象变量 (11)3.4.3Static Final变量的命名 (11)3.4.4临时变量 (11)4注释 (12)4.1要求 (12)4.2JavaDoc说明 (12)4.3类 (13)4.4方法 (14)4.5代码的自我说明 (15)5编码 (16)5.1不要使用的结构 (16)5.1.1“do...while” . (16)5.1.2"return" (建议,尽量避免,也可以使用) (16)5.1.3"continue" (16)5.1.4"break" (16)5.2不要混合使用递增运算符和递减运算符 (16)5.3变量初始化 (17)5.4魔鬼数字/字符 (17)5.5范围(scope) (17)1 导言Java语言给了程序员充分的空间随意编写自己的代码,但也正是因为如此,一个程序员自己编写的代码往往不能被别的程序员很好的阅读和理解。
1.1 目的本文档旨在提供一个编码的标准,以便所有Java代码在产生的一开始就能够在整个开发团队中保持一致,从而能够更好的阅读和修改代码。
1.2 范围本文档适用于软通动力公司项目开发团队的所有成员,为了使项目的后期维护和修改变的容易,在每个项目开发中一定要遵守本文档中的规定术语定义1.3 角色和职责●编码负责人:本规范在具体项目中执行监督负责人。
Java开发编码规范
项目管理体系文件Java开发编码规范编撰人:审核人:批准人:批准日期:2014-3-10保密级别:公开文档版本:0.0.1重庆中软国际信息技术有限公司版本历史目录第一章代码开发规范及其指南 (1)1.1目的 (1)1.2程序内命名规范 (1)1.3文件命名规范 (2)1.4J A V A 文件样式 (2)1.5代码编写格式 (6)第二章程序编写规范方法 (8)2.1权限修饰 (8)2.2其他规范 (8)2.3编程指南 (10)第三章其他要求 (12)第一章代码开发规范及其指南1.1 目的定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。
(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)1.2 程序内命名规范●Package的命名:Package 的名字应该都是由一个小写单词组成。
●Class 的命名:Class 的名字必须由大写字母开头而其他字母都小写的单词组成●Class 变量的命名:变量的名字必须用一个小写字母开头。
后面的单词用大写字母开头。
●Static Final 变量的命名:Static Final 变量的名字应该都大写,并且指出完整含义。
●参数的命名:参数的名字必须和变量的命名规范一致。
●数组的命名:数组应该总是用下面的方式来命名:byte[] buffer; 而不是byte buffer[];●方法的参数:使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:SetCounter(int size){this.size = size;}1.3 文件命名规范●文件名由英文单词组成,每个单词的首字母大写,不要超过4个单词,如ShipOrder.jsp。
●Java文件的文件名要与程序中的public类名相同。
●Servet文件要以Servlet做为结尾,如AddCompanyServlet.java●业务处理组件Java Bean要以Bean为结尾,如ProcessBean.java1.4 Java 文件样式所有的 Java(*.java) 文件都必须遵守如下的样式规则●头部版权信息版权信息必须在 java 文件的开头,比如:其他不需要出现在 javadoc 的信息也可以包含在这里。
腾讯编码规范
5.4.4二元操作符如" ="、" +=" " >="、" <="、" +"、" *"、" %"、" &&"、" ||"、" <<" ," ^"等的前后应当加空格;
5.4.5一元操作符如" !"、" ~"、" ++"、" --"等前后不加空格;
8.3.7字段定义语法规范:
[(‘public’|’private’|’protected’)]
[‘static’] [‘final’]
data_type field_name [ ‘=’ expression] ‘;’
例如:
8.3.8数组声明时应当将"[]"跟在类型后,而不是字段名后:
8.3.9声明顺序:
8.3.4避免声明的局部变量覆盖上一级声明的变量,即不要在内部代码块中声明相同的变量名;
8.3.5公共和保护的可见性应当尽量避免,所有的字段都建议置为私有,由获取和设置成员函数(Getter、Setter)访问;
8.3.6定义一个变量或者常量的时候,不要包含包名(类似java.security.MessageDigest digest = null),而要定义成下面的格式,除非是两个包有相同的类名:
本标准适用于腾讯集团(含分公司等各级分支机构)所有使用Java作为开发语言的软件产品。
本标准中“腾讯集团”是指腾讯控股有限公司、其附属公司、及为会计而综合入账的公司,包括但不限于腾讯控股有限公司、深圳市腾讯计算机系统有限公司、腾讯科技(深圳)有限公司、腾讯科技(北京)有限公司、深圳市世纪凯旋科技有限公司、时代朝阳科技(深圳)有限公司、腾讯数码(深圳)有限公司、深圳市财付通科技有限公司。
2023-Java编码规范-1
Java编码规范Java编码规范是指在Java语言开发过程中对代码格式、命名规范、注释等方面的规范。
它涵盖了许多方面,包括代码格式、命名规范、注释等等,并且会让代码更加易于理解和维护。
下面分步骤来阐述Java 编码规范。
1.代码格式- 代码缩进:使用四个空格。
- 代码行长度:每行不超过80个字符。
- 代码块括号:左大括号放在语句后,右大括号独立一行。
- 空行:在方法或类中的单独任务之间使用空白行来分隔。
- 其他注意事项:避免使用过多的空格,在行末不要有空格,避免使用tab字符。
2.命名规范- 包名:使用小写字母,多个单词使用.分割。
- 类名:使用驼峰命名法,每个单词首字母大写。
- 方法名:使用驼峰命名法,每个单词首字母小写。
- 变量名:使用驼峰命名法,每个单词首字母小写。
- 常量名:所有字母大写,单词之间用_分割。
- 其他注意事项:名称应该避免缩写,可读性要优先。
3.注释- 类、方法和变量都应该进行注释。
- 类和方法的注释应当使用javadoc格式。
- 变量和常量可以使用单行注释或行尾注释。
- 注释要避免使用无意义的话语,应该简明扼要地描述该元素的意义。
Java编码规范对开发人员来说是非常重要的,这能让代码更清晰、可读性更强,并且统一规范有助于团队协作的进行。
了解并遵循Java编码规范,可以帮助开发人员编写出高质量的Java代码,从而提高代码质量,减少bug的出现,提高项目的稳定性。
此外,标准的Java编码规范可以方便代码的查看和维护,便于未来项目的扩展。
因此,遵循Java编码规范是每个Java开发人员的责任和义务。
JAVA编码规范
第二章重要规范
( 6 )服务端,对关键交易请求要素进行日志输出,交易处理完成后 输出处理结果; ( 7 )和外部系统交互,可将日志输出详细些,日志中尽量包括:请 求地址、内容、http响应码等状态信息、外部系统响应内容等信息; ( 8 )数据库操作,捕获SQLException并对异常进行输出,可增加数 据库操作错误排查; ( 9 )捕获异常后要对异常信息输出ERROR级别的日志,输出示例: logger.error(“XXX操作异常:”+e.getMassage(),e); ( 10 ) ERROR级别日志输出一般原则:对于由于系统原因造成业务 处理失败的事件,需要记录错误日志。非系统原因的业务处理失败, 不应该记录错误日志(推荐使用warn级别),避免错误日志过大,影 响紧急情况下的故障分析和诊断;
第三章命名规范
3、1包命名规则 java开发中产生的包分为两类,一类是与各业务系统相关的 包;另一类是与业务系统无关的、可公用的包。 规则:
包名应全部是小写字母; 包名中不能出现下划线和其他特殊字符; 第一个字母不能是数字。
示例:
与业务系统相关的包命名格式为:com. lianpay.<projectname>.<modulename>
其中:<projectname>为项目英文简称或缩写; <modulename>为模块英文名称或简称,如果无细分模块的话可 省略模块名。
与业务系统无关的、可公用的包:com. lianpay.share.<modulename>//所有项目通用
第三章命名规范
3.2类接口命名规则 规则:
类的名称应使用名词; 类和接口首字母必须大写,每个单词的首字母应大写(骆驼法 则); 接口名称应以大写I开始,接口实现类以Impl结尾。
指南_JAVA编码规范
北京农商银行信息技术部软件开发规范JAVA编码规范文档修订记录*变化状态:C = 创立,A = 增加,M = 修改,D = 删除文档审批信息目录1 目的 (4)2 编码基本要求 (4)2.1 基本要求 (4)2.2 可读性要求 (4)2.3 结构化要求 (5)2.4 正确性与容错性要求 (5)2.5 可重用性要求 (5)3 Java语言 (6)3.1 程序设计标准 (6)3.1.1 通用命名约定 (6)3.1.2 注释 (13)3.2 源文件内容 (15)3.2.1 文件长度 (16)3.2.2 文件头注释部分 (16)3.2.3 包及引入部分 (17)3.2.4 类及接口定义部分 (17)3.3 数据 (24)3.4 建议 (25)3.4.1 使用StringBuffer 对象 (25)3.4.2 避免太多的使用synchronized 关键字 (25)3.4.3 避免使用java.util.Vector 类 (25)3.4.4 尽量使用接口而不是一个具体的类 (25)3.4.5 避免使用索引来调用数据库中间层组件返回的结果集 (26)3.5 最佳实践 (26)3.5.1 先写注释再写程序 (26)3.5.2 在文档注释中加入HTML标记 (27)3.5.3 尽量在源文件的主类中加入main方法 (27)3.5.4 对每种类型的类写出一个模板 (27)3.5.5 尽量不要使用公共的类变量 (27)3.5.6 使用Type[] arrayName而不要使用Type arrayName[] (27)3.5.7 对于对象的比较慎用==,使用Object.equals()方法 (28)1目的规范代码编写风格,减少因为编码的不规范而引起的错误,使软件产品最终代码保持一致性。
本编码规范为通用的编码规范,每个项目或是产品在实施时可以根据自身的特点进行剪裁和添加。
2编码基本要求2.1基本要求●程序结构清晰,简单易懂,单个函数的程序行数不宜过长。
Java开发编码规范
开发规范
2.2. 对程序员的要求 作为公司的编程人员(Programmer),必须成为或努力使自己成为最优秀的程序员。 尽量使自己的程序编制具有良好的风格,尽可能提高自己代码的质量;同时,发扬 敬业精神并从工作中体会乐趣。 软件应用以及软件开发工具与环境均不断地、飞快地发展,作为程序员要主动地学 习新知识,掌握新技术。 其次,作为优秀的程序员,在保证程序质量的同时,要求善于和其他人交流,善于 听取他人意见。 同时,要有大局观,作为软件项目的参与人员,必须以整个项目以及公司利益的大 局为重。这也包括时间概念及纪律性。 此外,需要注重效率和放松。过度的编程工作容易使人疲劳,作为优秀的程序员, 不管是否压力大小,都需要调节自己的状态,使编程工作的效率达到最佳水平。 还有,每个编程人员都应该善于总结。包括总结自己的经验、教训,以及总结可以 复用的软件模块。 由于程序质量直接影响到整个软件的质量,因此每个程序员所编写的程序及运行情 况将作为员工能力和业绩考核的参考依据之一。
同一程序段中进行不同的操作时,要求用注释说明一组程序的功能; 大段改动程序时,建议用注释屏蔽旧的程序段,以避免修改时增加新错误,
避免可能的程序恢复。
4. 命名规则 4.1.命名综述
命名包括对程序中文件、变量(包括控件等对象)、过程和函数等程序对象的命名。 好的命名风格将有助于提高程序可读性,并易于修改和维护,从而减少错误,提高 编程效率。 命名以匈牙利规则为参考,采用英文的命名方式。公司定期公布一批常用的英文命 名,形成规约。 除简单使用的变量(如用于循环计数的变量)外,变量的名称必须有意义,以便于识 别该对象;但不宜过长,以避免使用中键入时出错。 4.2.命名规范 4.2.1.JavaScript/JSP 程序命名规则
JAVA编码规范
编码规范目录1目的................................................................................................................................................ 32使用范围........................................................................................................................................ 32.1命名规范 ............................................................................................................................... 32.1.1一般标准 ........................................................................................................................... 33JA V A编程规范............................................................................................................................. 33.1代码组织与风格 ................................................................................................................... 33.2注解 ....................................................................................................................................... 53.3命名 ....................................................................................................................................... 73.4声明 ....................................................................................................................................... 93.5表达式和语句 ................................................................................................................... 103.6错误处理和异常事件 ....................................................................................................... 103.7兼容性 ............................................................................................................................... 113.8复用 ................................................................................................................................... 111目的定义组织的JAVA编程规范,以提高程序的可读性、可靠性。
JAVA编码规范
JAVA编码规范1.目的对于代码,首要要求是它必须正确,能够按照开发人员的真实思想去运行;第二个要求是代码必须清晰易懂,使其他开发人员能够容易理解代码所进行的实际工作。
在软件工程领域,源程序的风格统一标志着可维护性、可读性,是软件项目的一个重要组成部分。
如果没有成文的编码风格文档,开发人员没有一个共同的标准可以遵守,编码风格各异,程序可维护性差、可读性也很差。
通过建立代码编写规范,形成开发团队编码约定,提高程序的可靠性、可读性、可修改性、可维护性、可继承性和一致性,可以保证程序代码的质量,继承软件开发成果,充分利用资源,使开发人员之间的工作成果可以共享。
所有的程序开发手册都包含了各种规则。
一些习惯自由开发人员可能对这些规则很不适应,但是在多个开发人员共同合作的情况下,这些规则是必需的。
这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。
2.整体编码风格2.1.缩进缩进建议以4个空格为单位。
不要在源文件中保存Tab字符,在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度,所以要用4个空格代替Tab缩进。
2.2.换行代码应该用unix的格式,而不是windows的(比如:回车变成回车+换行)。
2.3.空格A. 关键字原则上空一格,如:if ( ... 等。
B. 运算符的空格规定如下:"["、"]"、"++"、"--"、"~"、"!"、"+"、"-"(指正负号)等几个运算符两边不加空格(其中单目运算符系指与操作数相连的一边),其它运算符(包括大多数二目运算符和三目运算符"?:"两边均加一空格。
C. 个人认为此项可以依照个人习惯决定遵循与否。
2.4.页宽页宽应该设置为80字符。
源代码一般超过这个宽度,导致无法完整显示。
软件编码规范(JAVA)
软件编码规范(JAVA)软件技术事业部徐海波2014年10月23日目录1.前言 (1)1.1编写目的 (1)1.2适用范围 (1)1.3文档负责单位 (1)1.4术语和符号说明 (1)1.5参考文档 (1)2.概述 (1)3.代码组织与风格 (3)3.1基本原则 (3)3.2缩进 (3)3.3长度 (3)3.4行宽 (4)3.5间隔 (4)3.6对齐 (4)3.7括号 (5)4.注释 (6)4.1基本原则 (6)4.2Java Doc (6)4.3文件与包注释 (7)4.4类、接口注释 (7)4.5方法注释 (8)4.6行内注释 (9)4.7其他注释 (9)5.命名 (10)5.1概述 (10)5.1.1统一 (11)5.1.2达意 (11)5.1.3简洁 (11)5.2文件名、包名 (11)5.3类名、接口名 (12)5.3.1首字母大写 (12)5.3.2前缀 (12)5.3.3后缀 (13)5.4方法名 (13)5.5域(field)名 (15)5.5.1静态常量 (15)5.5.2变量和参数 (15)5.5.3组件/部件 (15)5.5.4神秘的数 (16)5.5.5其他 (16)6.应用实践 (16)6.1类与接口 (16)6.1.2抽象类与接口 (17)6.1.3继承与组合 (17)6.1.4构造函数和静态工厂方法 (17)6.1.5toString(),equals(),hashCode()... (18)6.1.6Singleton Class (19)6.2表达式与语句 (20)6.2.1基本原则 (20)6.2.2控制语句 (20)6.2.3循环语句 (22)6.2.4每个if while for等语句,都不要省略大括号{} (22)6.3测试与Bug 跟踪 (23)6.3.1测试驱动开发 (23)6.3.2Junit 单元测试 (23)6.3.3自动测试与持续集成 (23)6.3.4Bug 跟踪和缺陷处理 (23)6.4性能与安全 (24)6.4.1基本原则 (24)6.4.2String、StringBuilder、StringBugffer (24)6.4.3集合 (24)6.4.4对象 (25)6.4.5同步 (25)6.4.7垃圾收集和资源释放 (26)6.5其他 (26)6.5.1每次保存的时候,都让你的代码是最美的 (26)6.5.2使用log而不是System.out.println() (27)6.5.3善用TODO: (27)6.5.4预留代码实现需加空语句或注释 (27)6.5.5不要再对boolean值做true false判断 (27)6.5.6减少代码嵌套层次 (28)6.5.7程序职责单一 (30)6.5.8变量的声明,初始化和被使用尽量放到一起 (30)6.5.9缩小变量的作用域 (30)6.5.10尽量不要用参数来带回方法运算结果 (32)7.目录结构 (33)8.SVN注释与标记 (34)附录A 词典规范 (35)A.1 动词词典 (35)A.2 名词词典 (37)1.前言软件技术事业部负责公司内部软件、自主研发产品、合同项目等软件的开发工作,其中涉及的主要开发平台为Java,本文档是专为在JAVA开发平台上进行软件的开发设计的开发人员制定的规范。
Java编码规范
Java编码规范TMVer. 1.0版本变更内容变更者变更日1.0 文档新建并完成寝初始内容的书写颜海斌2007/03/03本文是Java编码中相关规范的说明性文档。
如果开发者在实际开发中发现有相应的规范点存在不合理性,并与之发生抵触,则请开发者通知本文档的设计者。
以进行必要的检查及完善。
注:联系方法 yahobo@1.1必要性1、方便非代码编写者的阅读。
2、提高对代码的更新及修改。
3、提高大量代码书写的标准化。
1.2阅读对象原则上,所有参与开发的所有人员,特别是:1、详细设计人员。
2、编码人员2. 编码规范2.1 总述◆ 如果违反了本规范,必须明确为何无法遵守相应规范。
◆ 在源代码中,若是开发中文系统,也尽量不要使用全角文字和符号;若是外文系统,则禁止使用全角文字。
→考虑代码在移植过程因编码造成的乱码问题。
◆ 不要在一个类里编写太多的代码。
→考虑协作,一个类一般不是由一个人完成或是为其它人的阅读方便。
◆ 一个方法里的处理内容要一致,并将代码量控制在容易理解的程度。
→当确实需要比较长的代码完成一个处理时,考虑将方法分割。
◆ 不要为同一个内容在不同的地方编写不同的处理代码。
→考虑到代码的转让和调用的多样性,可能产生歧义。
◆ 在新建一个类时,先确认在原有代码库中是否存在同样的类,或可以进行二次开发的类。
→提高兼容性及开发效率。
◆ 编写容易理解的代码及注释。
2.2 关于变量名称的规定◆ 作为原则,要遵守命名规范。
◆ 但也要尽量使用被沿用的Java命名规则习惯例) ①循环计数器(局部变量) i,j,k。
但是在多重循环的场合,必要从外层循环到内层依次连续的定义变量 i,j,k。
②迭代器 itereta it。
◆ 只有在表示单复数变量名对时,才允许「xxxx」和「xxxxs」。
例)persistentObject persistentObjects2.3 文件名/文件构成◆ 作为是一个文件,一个Public类只对应一个interface。
java代码开发规范
java代码开发规范⼀编码规范1.1 命名规范1. 代码中的命名均不能以特殊字符(如下划线、$#符号)开始或结束。
反例: _name / #Object2. 代码中的命名严禁使⽤拼⾳与英⽂混合的⽅式,更不允许直接使⽤中⽂的⽅式。
反例: toubao / lipei。
3. 类名使⽤UpperCamelCase风格,必须遵从驼峰形式。
正例:CommonUtils / BaseVo4. ⽅法名、参数名、成员变量、局部变量都统⼀使⽤lowerCamelCase风格,必须遵从驼峰形式。
正例: orderService / getOrderService()5. 常量命名全部⼤写,单词间⽤下划线隔开,⼒求语义表达完整清楚,不要嫌名字长。
正例: ZK_CONFIG_ROOTNODE6. 抽象类命名使⽤Abstract或Base开头;异常类命名使⽤Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。
7. 包名使⽤com.hetai.服务名.分层名。
正例: oauth系统的DAO, com.hetai.oauth.dao8. 如果使⽤到了设计模式或具有明确职责,建议在类名中体现出具体模式或职责。
正例:ExecutorFactory / AbstractProducer9. 各分层都需要接⼝和实现类,实现类⽤Impl作后缀与接⼝区别。
正例:OrderServiceImpl实现OrderService接⼝。
10. 枚举类名建议带上Enum后缀,枚举成员名称需要全⼤写,单词间⽤下划线隔开。
正例:枚举名字:PolicyIdTypeEnum,成员名称:ID_CARD/ PASSPORT。
11. 各层⽅法命名规范: 1)查询的⽅法⽤get/ query做前缀。
2)插⼊的⽅法⽤add 或insert做前缀。
3)删除的⽅法⽤remove 或delete做前缀。
4)修改的⽅法⽤modify/ update做前缀。
程序编码要求规范(java)
程序编码规范V1.0编写:×××审核:×××××××年××月修改目录一、引言 (4)二、命名规范 (5)2.1 包(Package)的命名 (5)2.2 Class的命名 (5)2.3 Class 变量的命名 (6)2.4 接口的命名 (7)2.5 参数的命名 (7)2.6 数组的命名 (7)2.6 方法的参数 (8)三注释规范 (8)3.1 块注释(Block Comments) (9)3.2 单行注释(Single-Line Comments) (9)3.3 尾端注释(Trailing Comments) (10)3.4 行末注释(End-Of-Line Comments) (10)四Java 文件样式 (11)4.1 版权信息..............................................................................................................................114.2 Package/Imports (12)4.3 Class (12)4.4 Class Fields .........................................................................................................................13134.5 存取方法..............................................................................................................................144.6 构造函数..............................................................................................................................4.7 main 方法...........................................................................................................................154.8 换行(Wrapping Lines) (15)4.9 行长度(Line Length) (17)4.10 语句(Statements) (18)五排版格式........................................................................................................................................2424 六JSP 编码规范...............................................................................................................................26七、文件与目录..................................................................................................................................27八、日志规范......................................................................................................................................28九、设计及技巧建议 .........................................................................................................................289.1表现层...................................................................................................................................9.2业务层...................................................................................................................................28289.3持久层...................................................................................................................................一、引言编码规范对于程序员而言尤为重要,有以下几个原因:1、一个软件的生命周期中,80%的花费在于维护。
1-JAVA编码规范
命名这个类,而不用Client。
- 规则-尽量少用缩写,但如果一定要使用,当使用 公共缩写和习惯缩写等。
•
如实现( implement)可缩写成impl,
•
经理( manager)可缩写成mgr等,
•
严禁滥用缩写。
第10页,共54页。
3.1-2 命名总则
- 规则-避免使用长名字(最好不超过25个 字母)。
> 术语:
– 规则:强制必须遵守的原则。 是在编码中必须满足遵守的。
– 建议:必须加以考虑的原则,无标注的视为建议 。
是一些经验性的规范,虽然不是必须遵守,但是建议 大家遵守。
– 说明【 】:对规则或建议的必要解释。
– 示例:对规则或建议给出的例子。
第4页,共54页。
目的:
> 统一规范,方便阅读、维护,提高代码质量 > 统一格式,使代码度量更加精确,为进入公司书
示例:
package com.sitech.crmpd.core.codegen;
import java.io.*;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import com.sitech.crmpd.core.config.Config;
2.几乎没有任何一个软件,在其整个生命周期中,均 由最初的开发人员来维护
3.规范可以改善软件的可读性,可以让程序员尽 快而彻底地理解新的设计和代码
4.良好的编码规范可以有效避免一些低级错误
第3页,共54页。
> 范围:
– 定义了编写Java代码时应遵守的规则和习惯。
– 提供编写代码的命名规则和习惯。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件系统JAVA编码规范版本V1.0文档信息:内容范围:本文档是软件系统JAVA编码规范。
适用的对象:公司相关技术人员。
目录1 介绍(INTRODUCTION) (5)2 2 文件名(FILE NAMES) (6)2.1文件后缀(F ILE S UFFIXES) (6)2.2常用文件名(C OMMON F ILE N AMES) (6)3 文件组织(FILE ORGANIZATION) (7)3.1J AVA源文件(J AVA S OURCE F ILES) (7)3.1.1开首注释(B EGINNING C OMMENTS) (7)3.1.2包和引入语句(P ACKAGE AND I MPORT S TATEMENTS) (8)3.1.3类和接口声明(C LASS AND I NTERFACE D ECLARATIONS) (8)4 缩进排版(INDENTATION) (9)4.1行长度(L INE L ENGTH) (9)4.2换行(W RAPPING L INES) (9)5 注释(COMMENTS) (13)5.1实现注释的格局(I MPLEMENTATION C OMMENT F ORMATS) (13)5.1.1块注释(B LOCK C OMMENTS) (13)5.1.2单行注释(S INGLE-L INE C OMMENTS) (14)5.1.3尾端注释(T RAILING C OMMENTS) (15)5.1.4行末注释(E ND-O F-L INE C OMMENTS) (15)5.2文档注释(D OCUMENTATION C OMMENTS) (16)6 声明(DECLARATIONS) (17)6.1每行声明变量的数量(N UMBER P ER L INE) (17)6.2初始化(I NITIALIZATION) (17)6.3布局(P LACEMENT) (17)6.4类和接口的声明(C LASS AND I NTERFACE D ECLARATIONS) (18)7 语句(STATEMENTS) (20)7.1简单语句(S IMPLE S TATEMENTS) (20)7.2复合语句(C OMPOUND S TATEMENTS) (20)7.3返回语句(RETURN S TATEMENTS) (20)7.4 IF,IF-ELSE,IF ELSE-IF ELSE语句 (20)7.5 FOR语句(FOR S TATEMENTS) (21)7.6 WHILE语句(WHILE S TATEMENTS) (22)7.7 DO-WHILE语句(DO-WHILE S TATEMENTS) (22)7.8 SWITCH语句(SWITCH S TATEMENTS) (22)7.9 TRY-CATCH语句(TRY-CATCH S TATEMENTS) (23)8 空白(WHITE SPACE) (25)8.1空行(B LANK L INES) (25)8.2空格(B LANK S PACES) (25)9 定名规范(NAMING CONVENTIONS) (27)10 编程实践(PROGRAMMING PRACTICES) (29)10.1供给对实例以及类变量的接见把握 (29)10.2引用类变量和类办法 (29)10.3常量(C ONSTANTS) (29)10.4变量赋值(V ARIABLE A SSIGNMENTS) (29)10.5其它实战(M ISCELLANEOUS P RACTICES) (30)10.5.1圆括号(P ARENTHESES) (30)10.5.2返回值(R ETURNING V ALUES) (30)10.5.3前提运算符"?"前的表达式 (31)10.5.4特别注释(S PECIAL C OMMENTS) (31)11 代码示例(CODE EXAMPLES) (32)为什么要有编码规范(Why Have Code Conventions)?编码规范对于程序员而言尤为首要,主要有以下几个原因:•一个软件的生命周期中,80%的花费在于维护•几乎没有任何一个软件,在其全部生命周期中,均由最初的开辟人员来维护•编码规范可以改良软件的可读性,可以让程序员尽快而彻底地懂得新的代码•若是你将源码作为产品公布,就须要确任它是否被很好的打包并且清楚无误,一如你已构建的其它任何产品为了履行规范,每个软件开辟人员必须一致遵守编码规范。
这项目组列出了常用的文件名及后缀。
2.1文件后缀(File Suffixes)Java程序应用下列文件后缀:表1:文件后缀规范表2.2常用文件名(Common File Names)常用的文件名包含:表2:常用文件名规范表3 文件组织(F ILE O RGANIZATION)一个文件由被空行分别而成的段落以及标识每个段落的可选注释共同构成。
跨越2000行的程序难以浏览,应当尽量避免。
"Java源文件典范"供给了一个布局公道的Java程序典范。
3.1Java源文件(Java Source Files)每个Java源文件都包含一个单一的公共类或接口。
若私有类和接口与一个公共类相接洽关系,可以将它们和公共类放入同一个源文件。
公共类必须是这个文件中的第一个类或接口。
Java源文件还遵守以下规矩:•开首注释(拜见"开首注释")•包和引入语句(拜见"包和引入语句")•类和接口声明(拜见"类和接口声明")3.1.1 开首注释(Beginning Comments)所有的源文件都应当在开首有一个C说话风格的注释,此中列出类名、版本信息、日期和版权声明:/** Classname** Version information** Date** Copyright notice*/3.1.2 包和引入语句(Package and Import Statements)在多半Java源文件中,第一个非注释行是包语句。
在它之后可以跟引入语句。
例如:package java.awt;import java.awt.peer.CanvasPeer;3.1.3 类和接口声明(Class and Interface Declarations)下表描述了类和接口声明的各个项目组以及它们呈现的先后次序。
拜见"Java 源文件典范"中一个包含注释的例子。
表3:类和接口声明规范表4 缩进排版(I NDENTATION)4个空格常被作为缩进排版的一个单位。
缩进的确切申明并未具体指定(空格vs. 制表符)。
一个制表符便是8个空格(而非4个)。
4.1行长度(Line Length)尽量避免一行的长度跨越80个字符,因为很多终端和对象不克不及很益处理惩罚之。
重视:用于文档中的例子应当应用更短的行长,长度一般不跨越70个字符。
4.2换行(Wrapping Lines)当一个表达式无法容纳在一行内时,可以根据如下一般规矩断开之:•在一个逗号后面断开•在一个操纵符前面断开•宁可选择较高等别(higher-level)的断开,而非较初级别(lower-level)的断开•新的一行应当与上一行同一级别表达式的开首处对齐•若是以上规矩导致你的代码杂沓或者使你的代码都堆挤在右边,那就代之以缩进8个空格。
以下是断创办法调用的一些例子:someMethod(longExpression1,longExpression2,longExpression3,longExpression4,longExpression5);var = someMethod1(longExpression1,someMethod2(longExpression2,longExpression3));【译者注】上方是SUN(Oracle)网站上html版起原根蒂根基始写法,笔者看了半天是一头雾水;对比pdf版本看,才发明是SUN的html版本写的不合错误:亦即,新的一行在上一行同一级别表达式的开首对齐:longExpression4与longExpression1对齐;someMethod2与longExpression1对齐,longExpression3与longExpression2对齐:someMethod(longExpression1,longExpression2,longExpression3,longExpression4,longExpression5);var = someMethod1(longExpression1,someMethod2(longExpression2,longExpression3));以下是两个断开算术表达式的例子。
前者更好,因为断开处位于括号表达式的外边,这是个较高等此外断开。
longName1 = longName2 * (longName3 + longName4 - longName5)+ 4 * longname6; //PREFFERlongName1 = longName2 * (longName3 + longName4- longName5)+ 4 * longname6; //A VOID 【译者注】上方是SUN(Oracle)网站上html版起原根蒂根基始写法,笔者看了半天是一头雾水;对比pdf版本看,才发明是SUN的html版本写的不合错误:亦即,新的一行在上一行同一级别表达式的开首对齐:加号与longName2对齐;减号与longName3对齐(固然分行的处所不合错误,但书写还是要对齐的)。
longName1 = longName2 * (longName3 + longName4 - longName5)+ 4 * longname6; //PREFFERlongName1 = longName2 * (longName3 + longName4- longName5)+ 4 * longname6; //A VOID 以下是两个缩进办法声明的例子。
前者是常规景象。
后者若应用常规的缩进体式格式将会使第二行和第三行移得很靠右,所以代之以缩进8个空格//CONVENTIONALINDENTATIONsomeMethod(int anArg,Object anotherArg,String yetAnotherArg,Object andStillAnother){...}//INDENT 8 SPACESTO A VOID VERY DEEP INDENTSprivate static synchronized horkingLongMethodName(int anArg,Object anotherArg,String yetAnotherArg,Object andStillAnother){...}if语句的换行凡是应用8个空格的规矩,因为常规缩进(4个空格)会使语句体看起来斗劲费劲。