清单总是有帮助的! 他们提供了快速检查以确保执行任务的一致性和完整性。
在这里,我为Java初学者合并了一个基本的20点清单,以检查代码。 这将帮助他们确保代码质量和一致性。
事不宜迟...让我们仔细看看...
1. Null Checks
我们知道空指针异常是Java中最常见的异常,可能会导致大问题。
因此,通常,在执行任何操作之前,始终对变量执行null检查。
2. Exception Handling
的试着抓块应用于异常处理,并在抓住块。
另外,请确保在最后块。
3. Code Indentation and Formatting
为了使代码更清晰易读,请彻底使用代码缩进(标签要么空间任何东西)。
可以使用IDE的内置编辑器自动完成此操作。 例如,使用Ctrl-Shift-F在Eclipse中。 同样,Ctrl-Alt-L在IntelliJ中。
利用Java格式化规则!
4. Optimize Imports
始终在Java类中优化导入。
5. Static Code Review Tools
使用诸如Sonar,PMD和FindBugs之类的静态代码检查工具来检查代码。
6. Constants
- 为多个地方需要的静态值创建一个常量文件使用数据库驱动的值作为动态值对一组常量使用ENUM
7. Naming Conventions
- 始终检查变量/方法/类的名称是否确实涵盖了主题软件包名称在所有小写形式中都应以反向Internet域名开头,后跟应用程序名称。 例如,组织/公司名称/应用名称类名应以大写字母开头。 例如,动物,雇员,and 用户变量/方法名称应在CamelCase中。 例如animalInstanceList,计算数量,and displaySummary()尽量避免在类/方法/变量名中使用缩写。 更喜欢domainCode过度dmnCd
8. Not All One-Liners
保持代码的清洁和可读性很好。 因此,最好不要总是使用单线。 特别是,当我们在一行中初始化和操作变量时。
例如,写:
out.write(attrs.get("offset") + "-" + Math.min(attrs.get("count"), attrs.get("offset") + attrs.get("max")) + " " + title + " " + attrs.get("count"));
如:
int start = attrs.get("offset")
int total = attrs.get("count"))
int end = Math.min(total, start + attrs.get("max"))
out.write(start + "-" + end + " " + title + " " + total)
9. White-Spaces
使用空格分隔组合的语句,使代码更具可读性。
例如,写:
Integer.valueOf(params.offset?params.offset:attrs.offset)
如:
Integer.valueOf(params.offset ? params.offset : attrs.offset)
10. Spaces Before and After Brackets
通常,我们不在方括号中使用空格。
例如,写:
if ( params )
if ( total > 0 )
if ( end < begin )
如:
if (params)
if (total > 0)
if (end < begin)
11. Curly Braces
也可将大括号用于单线。
例如,写:
if ( end < begin )
end = begin
如:
if (end < begin) {
end = begin
}
12. Comments
始终放置注释(如果有)以定义目的。
例如,关于类的Javadoc:
/**
* General convenience tags for layout - header, body and footer
* @author – Name
* @dateCreated - Date
*/
class LayoutTagLib {
}
Javadoc上的一种方法:
/**
* Gets the user for specified code and role.
* @param code :- The code, either username or email address
* @param role :- The role identification e.g. A, B or C. Default is A.
* @return the user or null if not found
*/
User findUser(String code, String role = "A")
确保代码是不言自明的,并且注释在非常特殊的情况下确实有用。
13. Clean Up
- 删除控制台打印声明(SOP),改用日志记录(切勿记录个人信息)删除过时的评论使用@已弃用方法/变量上的注释,如果不打算将来使用或将其删除删除硬编码的变量值
14. Business Logic
通过使用可重复使用的组件(例如实用程序和服务方法)来避免冗余代码。
15. StringBuilder or StringBuffer in Place of String
当在串,使用串Builder要么串Buffer
例如,Java创建了一个新的串每个串联操作的对象。 在这种情况下,一个更好的主意是使用串Buffer。
16. switch-case Over Multiple if-else
这是一个好习惯开关盒代替多个如果别的条件。
它优化了代码执行,还使代码更整洁,更易读。
17. Objects Creation in a Loop
通常最好在循环内创建对象(如果在循环外不需要对象)。 Java优化了短期对象的内存使用情况。
例如,写:
Person person;
for(int i=0;i<namesList.size();i++) {
person = new Person();
person.setName(namesList.get(i));
person.display();
}
如:
for(int i=0;i<namesList.size();i++) {
Person person = new Person();
person.setName(namesList.get(i));
person.display();
}
另外,仅在需要时创建一个新对象。
例如,写:
ArrayList<Person> personList = new ArrayList<Person>();
for(int i=0;i<namesList.size();i++) {
Person person = new Person();
if(null != namesList.get(i)) {
person.setName(namesList.get(i));
personList.add(person);
}
}
如:
ArrayList<Person> personList = new ArrayList<Person>();
for(int i=0;i<namesList.size();i++) {
if(null != namesList.get(i)) {
Person person = new Person();
person.setName(namesList.get(i));
personList.add(person);
}
}
18. Code Commit
- 将文件分组并一起提交(不要在单独的提交中提交文件)不要提交具有实际密码的代码。 确保使用系统/配置变量替换密码提交消息应包含任务信息。 例如,JIRA问题编号,有关代码实现的有意义的注释承诺。类文件(来自建立,出,目标 directories),only if required
19. Use equals over ==
等于执行两个字符串的实际比较,而==比较对象引用。
20. Keep It Simple!
保持代码的简单性和可读性。
请让我知道您对此的想法。 谢谢阅读。