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包 ...
随机推荐
- 【工具】【电子设计】超屌的 fritzing 新建元件
fritzing 有多好,用了才知道,但是通常会遇到一个问题,他的元件库不一定够用,这时候就得自己做元件了,但是搜了一下网上没有相关的教程啊. 算了,去官网看英文吧.. 首先在最新版本不支持直接新建元 ...
- erlang 查看内存消耗的方法?
找出消耗内存最多的进程 : lists:reverse(lists:keysort(2,[{P, erlang:process_info(P, heap_size)} || P <- erlan ...
- 高性能javascript(记录二)
js中有四种基本的数据存取位置.分别是:字面量.本地变量.数组元素.对象成员. 字面量:只代表自身,不存储在特定位置.js的字面量有:字符串.数字.布尔值.对象.数组.函数.正则表达式.以及特殊的nu ...
- Android中Service和Activity之间的通信
启动Service并传递数据进去: Android中通过Intent来启动服务会传递一个Intent过去. 可以在Intent中通过putExtra()携带数据 Intent startIntent ...
- JAVA 序列化
一.概念 序列化:将对象转换为字节序列的过程. 反序列化:将字节序列恢复为对象的过程. 二.简单示例 package serialization; import java.io.Serializabl ...
- mac 端口被占用及kill端口
在本地部署 Web 应用时我有遇到过某网络端口已经被其他程序占用的情况,这时候就需要先退出占用该端口的进程,我们可以通过“终端”来实现结束占用某特定端口的进程 1.打开终端,使用如下命令: lsof ...
- IIC总线解析
IIC简介: IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的,主要是用来连接整体电路(ICS) ,IIC是一种多向控 ...
- Linux 内核常见宏定义
我们在阅读Linux内核是,常见到这些宏 __init, __initdata, __initfunc(), asmlinkage, ENTRY(), FASTCALL()等等.它们定义在 /incl ...
- wordpress 打开卡在1.gravatar.com
grevatar.com打不开,涉及到加载头像的地方都会变慢. 可以使用https的头像链接代替http链接 官方Gravatar头像调用ssl头像链接 进入wordpress后台->外观-&g ...
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)
1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...