Java 基础
2018-06-18 01:01:39来源:未知 阅读 ()
因为重构了别人的恶心代码,体验极差,所以弄个基础规范给自己。
一、命名规范
Java中学习到的第一点就是
1、 代码中的命名不能以下划线或者美元符号开始,也不能以下划线或者美元符号结束。
如:
_name / __name / $Object / name_ / name$ / Object$
2、代码中命名最好不要用中文拼音,实在不会就百度(我就是那个百度的渣渣,虽然现在有在学习英语)。
因为同事遇到过,前端的命名全是拼音,但是又是缩写。和组长报告,我拼音不太好,能不能让前端给我
讲讲什么他这个页面到底是什么。
3、方法名、参数名、成员变量、局部变量统一使用lowerCamelCase风格,必须遵循驼峰形式
如:
localValue (参数名、成员变量、局部变量) / getHttpMessage() (方法名)
4、我们在类中使用到的常量全部用大写,方便区分。每个单词之间以下划线分割
如:
MAX_STOCK_COUNT
5、抽象类以Abstract 或 Base 开头;异常类命名使用 Exception 结尾;
测试类 命名以它要测试的类的名称开始,以 Test 结尾。
6、如果定义一个数组类型最好是String[] args。虽然String args[]也没什么问题。但是语义上略显不同。
比如:
String与String[], 前者叫字符串类型而后者叫字符串数组类型 ,
String args[]单从类型上来讲属于字符串类型,
而从变量本身来讲是一个数组类型,
因此组合起来说明此变量为一个字符串类型的数组, 也就是说数组中的所有元素都为String类型.
然后当你如果要声明多个数组的时候就显示出差异化了。
如:
String args[],argt; / String[] args,argt;
前者声明的第一个变量是字符串数组类型,而第二个变量为字符串类型,
而后面声明的则都为字符串数组类型。
7、如果你自己封装的方法之中使用了设计模式的话,命名最后带上设计模式的名字
如:
public class OrderFactory;(工厂模式)
public class LoginProxy;(代理模式)
8、接口之中最好不要加上修饰符号(public 最好也不要加上),保持代码的简洁性,并且加上有效得javadoc得注释
(ps:个人认为doc得注释相当得有必要,你不用在去和别人讲什么乱七八糟的糟心的东西,直接甩他doc的文档,
离职交接也可以很快完成,因为一个正常的码农,一般都是看的懂)
9、接口一定是一个暴露出来的服务,让其他人来进行调用的。而接口的实现类一般都是用Impl与接口作为区别的。
10.枚举类用Enum作为后缀,枚举成员名称需要全大写,单词间用下划线隔开(个人是没有用到什么枚举类方面的)。
11.Service/DAO 层命名
如:
1) 获取单个对象的方法用 get 做前缀。
2) 获取多个对象的方法用 list 做前缀。
3) 获取统计值的方法用 count 做前缀。
4) 插入的方法用 save(推荐)或 insert 做前缀。
5) 删除的方法用 remove(推荐)或 delete 做前缀。
6) 修改的方法用 update 做前缀。
12.最好不要直接使用未经定义的常量直接出现在代码中。(
这个我以前经常做,只在本类或者是只在这个方法中出现,直接就偷懒拼接了,但是最后发现,看起来。。。人有点晕)
如:
String key="Id#参数_"+tradeId;
13.字符串equals方法容易抛出空指针异常,最好使用常量或者确定有值得对象来调用equals
如:
"test".equals(object);
14.局部变量最好使用基本类型,而POJO类属性最好使用包装类,RPC方法返回和入参最好使用包装类
因为数据库的查询结果可能是 null,因为自动拆箱,用基本数据类型接收有 NPE 风险
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java:集合
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash