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包 ...
随机推荐
- 安装Windows 10后PDF补丁丁等程序界面变得模糊的解决办法
对于使用高分辨率屏幕且屏幕缩放比例在 100%以上的用户,升级到 Windows 10 后将发现许多程序的界面,例如QQ.电脑管家.Windows本身的服务管理程序等等,都变得非常模糊,<PDF ...
- 1745. Yet Another Answer
http://acm.timus.ru/problem.aspx?space=1&num=1745 题目大意: 可以是任意的顺序,在满足括号匹配的情况下,求组合成的字符串长度最长 思路: 先将 ...
- js动态添加行
<script> $(function() { //增加上传 var addli = function() { var linum = parseInt($(".pic-wrap ...
- Socket Receive 避免 Blocking
我们知道 Socket Blocking 属性默认true . 表明Socket 处于同步调用 , Connect , 或 Send , Receive 需等待动作 完成才能继续执行. 有一种应用场景 ...
- STM32时钟数
在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. 其实是四个时钟源,如下图所示(灰蓝色),PLL是由锁相环电路倍频得到PLL时钟. ①.HSI是高速内部时钟,RC振荡器,频率为 ...
- Matlab中的mapminmax函数学习
premnmx() is obselete. Use MAPMINMAX instead. >> x1=[1 2 4] >> [y,ps]=mapminmax(x1); 得到: ...
- DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版原创发布-带官方示例程序版
关于 DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- javaIO系统----再看装饰者模式
javaIO系统拥有各种各样的类,尤其是每次要进行读写操作时,总会一层套一层的new,以前不明白为什么要这样做,不过学习了适配器模式后,对于这种做法立刻了解了:动态扩展IO的功能,使之符合使用者的习惯 ...
- js报错:email() is not a function
email() is not a function 明明是一个函数,但火狐控制台真J.. 由于JSP文件是别人写好直接使用的,所以,来回测试,折腾!最后,没办法,一段一段代码删除测试,才发现.有for ...
- MySQL,排序,统计行转列
表 -- ------------------------------ Table structure for a-- ---------------------------- DROP TABLE ...