首页 » PHP教程 » php开辟规约技巧_大年夜部分公司都遵照的java开拓规约

php开辟规约技巧_大年夜部分公司都遵照的java开拓规约

访客 2024-11-29 0

扫一扫用手机浏览

文章目录 [+]

普通的编程规约我相信大家都理解也遵守着,也有些大家随意马虎轻忽的,对付编程要把稳的事变我总结了以下几点:

【编程规约】类中类型的变量不要以is开头,有些框架解析会涌现序列化缺点【编程规约】 列举类名建议带上 Enum 后缀,列举成员名称须要整年夜写,单词间用下划线隔开【编程规约】if/for/while/switch/do 等保留字与旁边括号之间都必须加空格,纵然只有一行代码也必须利用大括号

正例:if (flag == true) {express1 } else {express2}反例:if(condition){express1 }else{express2}反例:if (condition) statements;

只管即便少用else, 如果条件不成立而不须要往下实行的情形下,优先判断不成立的情形,比如

php开辟规约技巧_大年夜部分公司都遵照的java开拓规约

if(condition){ … return obj;}接着再写else的逻辑

4.【编程规约】 单行字符数限定不超过 120 个,超出须要换行,换行时,遵照如下原则:

php开辟规约技巧_大年夜部分公司都遵照的java开拓规约
(图片来自网络侵删)

1) 换行时相对上一行缩进 4 个空格。

2) 运算符与下文一起换行。

3) 方法调用的点符号与下文一起换行。

4) 在多个参数超长,逗号后进行换行。

5) 在括号前不要换行,见反例。

正例:StringBuffer sb = new StringBuffer();//超过 120 个字符的情形下,换行缩进 4 个空格,并且方法前的点符号一起换行sb.append(“zi”).append(“xin”)… .append(“huang”);反例:StringBuffer sb = new StringBuffer();//超过 120 个字符的情形下,不要在括号前换行sb.append(“zi”).append(“xin”)…append(“huang”);//参数很多的方法调用也超过 120 个字符,逗号后才是换行处method(args1, args2, args3, …, argsX);

5. 【编程规约】方法参数在定义和传入时,多个参数逗号后边必须加空格。

正例:下例中实参的”a”,后边必须要有一个空格。

method(“a”, “b”, “c”);

6. 【编程规约】不许可利用过期的类或方法

7. 【编程规约】不要在 foreach 循环里进行元素的 remove/add 操作。
remove 元素请利用 Iterator办法,如果并发操作,须要对 Iterator 工具加锁

for (String temp : a) { if (“1”.equals(temp)) { a.remove(temp); }}

8. 【编程规约】禁止对大段代码进行 try-catch,这是不负任务的表现

9. 【编程规约】有 try 块放到了事务代码中,catch 非常后,如果须要回滚事务,一定要把稳手动回滚事务

10. 【编程规约】凑集里的元素纵然 isNotEmpty,取出的数据元素也可能为 null

11. 【编程规约】创建泛型类实例不要直接new,应考虑利用静态工厂方法,例如

public static <E> List<E> newListInstance() { return new ArrayList<E>();}

12. 【编程规约】涉及到货币的时候禁止利用float double,应利用BigDecimal,不过要避免利用new BigDecimal(double),当double必须用作BigDecimal的源时,请利用Double.toString(double)转成String,然后利用String布局方法,或利用BigDecimal的静态方法valueOf

13. 【日志规约】运用中不可直策应用日志系统(Log4j、Logback)中的 API,而应依赖利用日志框架SLF4J 中的 API,利用门面模式的日志框架,有利于掩护和各个类的日志处理办法统一

import org.slf4j.Logger;import org.slf4j.LoggerFactory;private static final Logger logger = LoggerFactory.getLogger(Abc.class);

14. 【日志规约】日志打印推举利用占位符办法,不推举利用字符串拼接

log.info(“print param1{}, param2{}”, param1, param2);

15.【SQL规约】如果修正字段含义或对字段表示的状态追加时,须要及时更新字段注释

16.【SQL规约】不要利用 count(列名)或 count(常量)来替代 count(),count()便是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。

解释:count()会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行

17.【SQL规约】不得利用外键与级联,统统外键观点必须在运用层办理

18.【SQL规约】禁止利用存储过程,存储过程难以调试和扩展,更没有移植性

19.【SQL规约】禁止利用 作为查询的字段列表,须要哪些字段必须明确写明

20.【SQL规约】xml 配置中参数把稳利用:#{},#param# 不要利用${} 此种办法随意马虎涌现 SQL 注入

21.【SQL规约】字段禁止创建为enum类型,要插入enum的值,字段必须加引号,不加引号当然是数字,数字便是key,不是value。
一样平常用tinyint代替,在运用层规约。
enum是整型这样的缺点很随意马虎发生,尤其是php弱类型的,没把稳enum类型,就会犯错。

参考了阿里出品的《阿里巴巴java开拓手册》,每个人都须要去读一遍

欢迎大家在评论里补充,大家有好的建议我会采纳在21条后面连续加

标签:

相关文章