Java高级规范之二
二十一、提交java代码前应该检查是否有没用的语句,如:System.out.println(); jsp页面上面是否有alert调试信息
不规范示例:暂无
规范实例:暂无
解析:因为如果保留了有可能会影响到程序正常运行的结果,如:
for(int i=0;i<10;i++){
System.out.println(i);
} //如果测试for语句里有没有执行
for(int i=0;i<10;i++){
System.out.println("测试代码是否运行到这里");
}
for(int i=0;i<10;i++){
System.out.println(i);
} 如果没有删除测试语句,则结果就不会一样了。
二十二、两个不同的包不能出现相同的文件名
不规范示例:
packge com.lxitedu.work.MyWork.java
packge com.lxitedu.task.MyWork.java
规范示例:
packge com.lxitedu.work.MyWork.java
packge com.lxitedu.task.Work.java
解析:当一个包在一个庞大的系统的时候,很可能引起混淆
二十三、提交代码前如果有TODO标签,要删除,如果要标记没有做完的任务或者以后要改进的任务,用LXTODO
不规范示例:暂无
规范实例:暂无
解析:暂无
二十四、注释掉的代码提交前要删除。
不规范示例:
/*
public void add(){
if(true){
system.out.println("这段代码已经给注释了,程序中没有用到");
}
}
*/ 提交前没有删除这段代码
规范示例:删掉就行了
解析:既然代码在程序中没用的话就要删除,以免其他队员看到后误解和浪费他人的时间来读其代码。
二十五、代码提交前的注释里面不要加自己的名字
不规范示例:暂无
规范实例:暂无
解析:因为提交的时候,系统已经帮你提交了用户名。
二十六、PrepareStatement、ResultSet、Statement对象用完之后必须进行调用close(),将会关闭立即释放此Statement对象的数据库和JDBC资源,不然会占用系统很多资源
解析:此规范可以用适配器模式解决,不必手动去关闭了
二十七、尽量不要在构造方法里初始化
不规范示例:
public class Person{
public Person(){
Person person = new Person();
add();
}
}
规范示例:
public calss Person{
public Person()
Unknown macro:{//尽量少做些不必要的事情}
}
解析:因为在构造器里初始化没办法控制,构造器多了也容易出现混乱。如果有反射机制,也许会跳过构造方法。
二十八、函数的返回值类型(如果有的话)要和其功能相匹配,要符合常规思维
不规范示例:
//得到一个用户的姓名
public String getPeopleName(){
return "userName";
}
//得到一个用户的姓名
public String getUserName(){
return "userName";
}
解析:是得到一个用户的姓名,而不是得到一个人的姓名,因为人不一定是用户,所以用getUserName更准确一点
二十九、 内部类的变量不要设为全局变量,尽量少用全局变量
不规范示例:暂无
规范实例:暂无
解析:暂无
三十、如果是布尔型的变量则最好在命名用is或has开头。例如:isVisible,isExists等
不规范示例: boolean isTrue = resultSet.next();
规范示例: boolean hasNext = resultSet.next();
解析:难懂,且没有任何意义。
Java高级规范之二的更多相关文章
- Java编程规范(二)
二.格式规范 在上一篇的java编程规范(一)中我们讲述了在Java编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在Java开发过程中所应该遵循的规范与思想.今天我们将学习 ...
- java高级规范之一
一.不允许使用汉语拼音命名 不规范示例: public void zengjiaYongHu{}//拼音方法名称 规范示例: public void addUser(){} 解析:应该使用国际化语音, ...
- Java高级规范之四
四十一.控制层不能调用model层除了最顶级的接口外的任何内容.要通过new顶级接口才能调用. 不规范示例: public class UserServiceImpl{ private UserDAO ...
- Java高级规范之三
三十一.如果变量名要加注释,说明命名不是很准确. 不规范示例:暂无 规范实例:暂无 解析:暂无 三十二.任何类字段除非必要,否则都要私有化 不规范示例: public class Person{ St ...
- Java高级篇(二)——网络通信
网络编程是每个开发人员工具相中的核心部分,我们在学习了诸多Java的知识后,也将步入几个大的方向,Java网络编程就是其中之一. 如今强调网络的程序不比涉及网络的更多.除了经典的应用程序,如电子邮件. ...
- Java高级类特性(二)
一.static关键字 static关键字用来声明成员属于类,而不是属于类的对象.1). static (类)变量类变量可以被类的所有对象共享,以便与不共享的成员变量区分开来. static变量也称作 ...
- JAVA语言编程格式高级规范
作为一位开发人员,都要有严格的代码规范.为此我总结了一些代码规范案例. 目 录 1. 前言 2. 试用范围 3. JAVA命名规范-- 3.1 公共约定 3.2 Java文件.包 3.3 类.接口 ...
- Java高级面试题解析(二):百度Java面试题前200页(精选)
基本概念 操作系统中 heap 和 stack 的区别 heap是堆,stack是栈,是两种不同的数据结构.堆是队列优先,先进先出:栈是先进后出. 在java多线程中,每个线程都有自己的栈:不同的线程 ...
- 测试必备之Java知识(二)—— Java高级的东西
Java高级 类加载过程 加载(创建class对象) -> 连接(验证-准备-解析) -> 类初始化 类加载器类别 根类加载器:加载java核心类 扩展类加载器:加载JRE目录中的jar包 ...
随机推荐
- [转载] linux查找目录下的所有文件中是否含有某个字符串
链接自 http://blog.sina.com.cn/s/blog_691a84f301015khx.html,并略加修订. 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...
- AutoHotkey(AHK)
这是2009年用过的一个软件,自动键盘执行的一个东西,能提高效率,代替人工击键和鼠标操作,现在中文化很好了,如下地址是中文文档 http://ahkcn.sourceforge.net/docs/Tu ...
- HashMap 遍历
Map<String, String> _map = new HashMap<String,String>(); 1.方法一 for (Entry<String, Str ...
- iOS开发_内存泄漏、内存溢出和野指针之间的区别
今天,在工作群中,被问到了内存泄漏和野指针指向的区别,自己答的不是很好,特意回来查了资料,在博文中总结一下经验,欢迎指正. 内存泄漏:是指在堆区,alloc 或new 创建了一个对象,但是并没有放到自 ...
- win7 64 位 tomcat 定时重启脚本
添加进任务计划即可 net stop "scm" [停止服务] rd /s /q D:\tomc ...
- Single-page app(SPA)
有哪些值得推荐的一页式网站(Single-page app)? http://pro.weltrade.com/en/ 最近开到一下国外网站,一页到底,感觉很高大上,到底是怎么做出来的呢?技术要点是什 ...
- equals和“==”
Integer a = new Integer("3"); Integer b = new Integer(3); System.out.println(a==b); System ...
- HPL/SQL与CDH5.4.7集成
1.下载hplsql-0.3.13到本地并解压 2.修改plsql,为如下内容 #!/bin/bash export "HADOOP_CLASSPATH=/opt/cloudera/parc ...
- java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException
问题描述: 严重: IOException while loading persisted sessions: java.io.WriteAbortedException: writing abort ...
- CPU的大小端模式
不同体系结构的CPU,数据在内存中存放的排列顺序是不一样的. 存储器中对数据的存储是以字节(Byte)为基本单位的,因此,字(Word)和半字(Half-Word)在存储器中就有两种次序,分别称为:大 ...