Java编码规范
- 格式:pptx
- 大小:275.89 KB
- 文档页数:59


电子政务和政务公开业务处理信息系统—系统编码规范
- 1 - 系统编码规范
1.1 编写目的
本文描述了JAVA开发中的有关包、类、接口、方法、实例变量、变量和常量的命名规则,用于规范JAVA编程过程中的命名和代码书写规范。
1.2 适用范围
适用于开发组所有基于JAVA开发的项目。
1.3 命名规范
1.3.1 包命名规则
开发组将基于JAVA开发中产生的包分为两类,一是与各业务系统相关的包,一是与业务系统无关的、可公用的包。它们的命名规则除要遵守“包名应全部是小写字母,包名中不能出现下划线,并且第一个字母不能是数字”的规则。
与业务系统相关的包命名
与业务系统相关的包命名格式为:
com.wisoft..。
其中: 为项目英文简称或缩写;为模块英文名称或简称,如果无细分模块的话可省略模块名。
与业务系统无关的、可公用的包
通用包命名格式为:
com. mon.//所有项目通用
mon//单个项目内各模块通用 电子政务和政务公开业务处理信息系统—系统编码规范
- 2 - 1.3.2 类名、接口命名规则
类和接口的名称应是一个名词,采用大小写混和的方式,如果使用拼音则应是全拼,所有单词都应紧靠在一起,其中每个单词的首字母应大写,接口名称应以大写I开始。例如:
class User;
interface ICommonConnection;
class BuMen;//此处为部门全拼
每个类定义要前必须加类的说明。
1.3.3 方法命名规则
方法名应是一个动词或动名结构,采用大小写混和的方式,其中第一个单词的首字母用小写,其后单词的首字母大写。例如:
Xxxxx.getBmList();
每个方法前必须加说明包括:参数说明、返回值说明、异常说明。如果方法名实在是太长可以对变量名缩写,但是必须添加相应的说明。
1.3.4 变量命名规则
变量命名一般采用大小写混和的方式,第一个单词的首字母小写,其后单词的首字母大写,变量名一般不要用下划线或美元符号开头。变量名应简短且有意义,即,能够指出其用途。除非是一次性的临时变量,应尽量避免单个字符的变量名。
【安全开发】java安全编码规范
申明:本⽂⾮笔者原创,原⽂转载⾃:https:///SecurityPaper/SecurityPaper-
web/blob/master/_posts/2.SDL%E8%A7%84%E8%8C%83%E6%96%87%E6%A1%A3/2018-08-17-SDL-3-
java%E5%AE%89%E5%85%A8%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83.md
1输⼊验证和数据合法性校验
程序接受数据可能来源于未经验证的⽤户,⽹络连接和其他不受信任的来源,如果未对程序接受数据进⾏校验,则可能会引发安全问题。
1.1避免SQL注⼊
使⽤PreparedStatement预编译SQL,解决SQL注⼊问题,传递给PreparedStatement对象的参数可以被强制进⾏类型转换,确保在插⼊或查
询数据时与底层的数据库格式匹配。
String sqlString = "select * from db_user where username=? and password=?";
PreparedStatement stmt = connection.prepareStatement(sqlString);
stmt.setString(1, username);
stmt.setString(2, pwd);
ResultSet rs = stmt.executeQuery();
1.2避免XML注⼊
通过StringBulider 或 StringBuffer 拼接XML⽂件时,需对输⼊数据进⾏合法性校验。 对数量quantity 进⾏合法性校验,控制只能传⼊0-9的
数字:
if (!Pattern.matches("[0-9]+", quantity)) {
// Format violation
}
String xmlString = "\nWidget\n" +
JAVA编码规范
JAVA编码规范
版本 1.0
1. 引言
本文档旨在提供一个编码的标准,以便所有Java代码在整个开发团队中保持一致,从而提高代码的可读性和可维护性。
2. 格 式
2.1 缩进
所有缩进皆为4个半角空格,即一个Tab键(可统一在编辑器中设定Tab键=4个半角空格)。对应的括号通常在同一列的位置上,if条件判断语句除外。例如:
void foo()
{
while (bar > 0)
{
System.out.println();
bar-- ;
}
if (oatmeal == tasty) {
System.out.println("Oatmeal is good and good for you");
} else if (oatmeal == yak) {
System.out.println("Oatmeal tastes like sawdust");
} else {
System.out.println("tell me pleeze what iz dis 'oatmeal'");
}
switch (suckFactor)
{ JAVA编码规范
case 1:
System.out.println("This sucks");
break;
case 2:
System.out.println("This really sucks");
break;
case 3:
System.out.println("This seriously sucks");
Java代码规范
1。 标识符命名规范
1。1 概述
标识符的命名力求做到统一、达意和简洁。尽量做到每个人按照规范来,多人开发如一人开发一样。
1.1。1 统一
统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次.
1.1。2 达意
达意是指,标识符能准确的表达出它所代表的意义,比如: newSupplier,
OrderPaymentGatewayService等;而 supplier1, service2,idtts等则不是好的命名方式。准确有两成含义,一是正确,而是丰富.如果给一个代表供应商的变量起名是 order,显然没有正确表达。同样的,supplier1, 远没有targetSupplier意义丰富.
1。1。3 简洁
简洁是指,在统一和达意的前提下,用尽量少的标识符.如果不能达意,宁愿不要简洁。比如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,
transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
1。1.4 骆驼法则
Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如: supplierName,
addNewContract,而不是 supplier_name, add_new_contract。
1。1。5 英文 vs 拼音