ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:33.03KB ,
资源ID:21526138      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21526138.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java高级代码规范优选Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java高级代码规范优选Word文档格式.docx

1、四:尽量不要在变量后面加魔法数字,英文单个字母和没有实际意义的英文数字单词来区分变量 String One; 命名一个英文数字的变量 User user1 = new User(); User user2 = new User(); User userAdd = new User(); User userUpdate = new User();这样会降低代码的可读性,并且不容易日后开发人员的维护五:包,类,变量命名不要加下划线(常量除外) com.tag_test.dao.jdbc_impl 有下划线的包名 int user_age ; 带下划线的变量名 public class Class_

2、 带下划线的类名 com.tag.test.dao.jdbc.impl int userAge ; public class Classes 一种习惯性的用法,默认的规范六:常量命名要大写,单词之间要用下划线分开.public static final String teamAdd = teamAdd; 小写且没有下划线public static final String TEAM_ADD = 容易区分变量和常量七:方法名第一个字母小写(构造方法除外). public void Function() 大写的方法名 public void function()习惯用法,默认的规范八:两个单词以上

3、的变量名要驼峰命名 int userage; age 单词a 小写 int userAge;能够更清晰的看懂变量所带代表的意思九:每个变量要用看得懂的词语来描述,尽量不要省略. private Studeng stu ; 把student 简写成 stu private Student student;使代码看起来清晰使人易懂十:一个类的命名一般是名词(有些ing的动词,形容词除外),变量名也是一样.函数的命名必须是动宾短语(构造词除外). public class Manage 动词类命 public class UserManage 能使别人一看到类名就知道这个类大概是做什么的。十一:数据

4、库连接对象的生成不能跟Model层混搅,必须将其放在一个单独的类里,用单例模式来实现数据库的连接. public class UserDAOImpl() private static Connection connection; public static synchronized Connection getConnection() if (connection = null) trycatch (SQLException e) catch (ClassNotFoundException e) e.printStackTrace() return connection; public cla

5、ss DBConnectionTools private DBConnectionTools()public static synchronized Connection getConnection() if (connection = null) try Class.forName(Constants.MYSQL_DRIVER); connection = DriverManager.getConnection(Constants.MYSQL_URL, Constants.MYSQL_USER_NAME, Constants.MYSQL_PASSWORD); catch (SQLExcept

6、ion e) e.printStackTrace(); catch (ClassNotFoundException e) 数据库连接应当单独出去出来,以便其它类可以复用十二: id一般不用int类型,用long类型 int id; int 类型的关于人员的id Long id;随着id的增长,当增长的id超出int的范围的时候就会出现异常十三:sql语句一定要用占位符,不能用拼写组成的语句public void addUser(User user) String sql=insert into student(ID,name,sex,address) values(+user.getId()+

7、,+user.getName()+user.getSex()+user.getAddress()+) ; /?则代表占位符 public void addUser() sql=insert into student(ID,name,sex,address) values(?,?则代表占位符 /可用预处理来发送sql语句很容易出现错误,而且不清晰,不容易让人读懂。十四:PreparedStatement 最好不要声明为类字段.public class UserDAOImpl() private PreparedStatement preparedStatement;public class Us

8、erDAOImpl public void addUser() PreparedStatement preparedStatement =new PreparedStatement(sql);虽然很多类都使用到了PrepareStatement对象,但各个方法里用到的PrepareStatement对象都是不同的, 所以不能作为类字段,抽取出来做类字段的话会出现数据混乱的问题十五:做主键的列没有任何业务逻辑,没有任何实际意义,而且任何时候都不能修改。 欠规范主键示例:主键用一个身份证号码,或者学号 规范主键示例:主键用id,唯一性的,不可改变的。虽然身份证号码和学号也是唯一性的,但是他们是有意

9、义的列,而且在程序升级时是可以更改的, 而id主要就是用来做主键的十六:取记录的时候,拿数据库条件语句去比较,不要自己用Java代码去比较. public void deleteById(Long id) String sql = select id,name,age from user /.ResultSet result = ResultSet.executeQuery();where(result.next() if(result.getLong(id)=id) /.删除 public void deleteById(Long id)delete from user where id =

10、 ? /删除操作一旦取出的数据量过大,而用java代码的if判断的话,会影响运行速率,还可能导致内存不足等错误。十七:代码提交之前必须写注释,不管什么原因.暂时无 暂时无使别人能够很清晰的你知道做了哪些修改十八:提交之前先更新代码.防止出现冲突十九:只要系统有红色错误,那么就不能提交,提交前要保证编译错误全部消除.如果上传了错误的代码,会导致别人因为下载了错误代码而带来开发上的问题二十:每个人的代码每天尽量上传,代码在本地的时间不要超过2天.保持与资源库的同步二十一:提交java代码前应该检查是否有没用的语句如:(System.out.println();),jsp页面上面是否有alert调试

11、信息.因为如果保留了有可能会影响到程序正常运行的结果,如:for(int i=0;i10;i+) System.out.println(i);/如果测试for语句里有没有执行i+) System.out.println(测试代码是否运行到这里); 如果没有删除测试语句,则结果就会不一样了,二十二:两个不同的包不能出现相同的文件名 欠规范示例: packge com.lxitedu.work.MyWork.java packge com.lxitedu.task.MyWork.java 规范示例: packge com.lxitedu.task.Work.java当一个在一个庞大的系统的时候,很

12、可能引起混淆二十三:提交代码前如果有TODO标签,要删除掉,如果要标记没有做完的任务或者以后要改进的任务,用LXTODO. 规范代码示例:二十四:注释掉的代码提交前要删除。/*public void add() if(true)这段代码已 经给注释掉了,程序中没有用到*/ 提交前没有删除这段代码规范代码示例:删掉就行了解析:既然代码在程序中没有用到的话就要删除,以免其他队员看到误解和浪费他人时间来读其代码。二十五:代码提交的注释里面不要加自己的名字.规范代码示例:因为提交的时候,系统已经帮你提交了用户名。二十六:PreparedStatement、ResultSet、Statement.对象用

13、完之后必须进行调用close()将会关闭,立即释放此 Statement 对象的数据库和 JDBC 资源,不然会占用系统很多资源. / 此规范可以用适配器模式解决,不必手动去关闭了二十七:尽量不要在构造方法里初始化. Personpublic Person()Person person = new Person();add(); public Person()Unknown macro: /尽量少做些不必要的事情 因为在构造器里初始化没办法控制,构造器多了也容易出现混乱。如果有反射机制,也许会跳过构造方法。二十八:函数的返回值类型(如果有的话)要和其功能相匹配,要符合常规思维. 得到一个用户的

14、姓名 public String getPeopleName() return userName 得到一个用户的姓名的方法public String getUserName()是得到一个用户的姓名,而不是得到一个人的姓名,因为人不一定是用户,所以用getUserName更准确一点二十九:内部类的变量不要设为全局变量,尽量少用全局变量.三十:如果是布尔型的变量则最好在命名用is或has开头。例如:isVisible,isExists等. boolean isTrue=resultSet.next(); boolean hasNext=resultSet.next();难懂,且没有任何意义。三十一

15、:如果变量命名要加注释,说明命名不是很准确.三十二:任何类字段除非必要,否则都要私有化.public class Person String name;String sex;int age; public class ClassName private String name; private String sex; private int age;没有为程序的安全考虑。可以被其他的类访问三十三:尽量减少一个类属性的作用域,在离使用它的最近的地方定义. int index = 1;/类似这种情况 变量生命离使用地方有点远insert into student(ID,name,password,

16、sex,address) values(? PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(index+, user.getID(); preparedStatement.setString(index+, user.getName(); preparedStatement.setString(index+, user.getPassword(); preparedStatement.setString(index+, user.getSex(

17、); preparedStatement.setString(index+, user.getAddress(); preparedStatement.executeUpdate(); preparedStatement.close();当别人维护易引起混淆,容易引发错误三十四:单例模式的使用必须要考虑到同步./没有使用到同步public static Connection getConnection() throws ClassNotFoundException, SQLExceptionif(conn=null)Class.forName(com.p6spy.engine.spy.P6SpyDriverconn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/testroot, return conn;/最熟悉的得到一个Connection连接public static synchronized Connection getConnection() throws ClassNotFoundException, SQLException if(conn=null) Class.forName( conn = return conn;当有多个用户并发使用的时候会造成数据的混乱,导致线程不安全三十五:方法里面

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1