您的位置:首页 > 编程语言 > Java开发

java学习笔记(一)--编程规范和技巧总结

2007-11-11 15:11 906 查看
  学习java有一阵子了,感觉先前学得也不够全面, 这回有空了,打算好好得重新学习一遍,就当是为我去读研做一个好的铺垫吧。感觉自己的记性总是不行,所以决定用写博客的方式来记录下我学习过程中的点点滴滴。以后自己想温习的时候也就能派上些用处了。

  同时这也是我第一次写博客,以前都挺懒的不愿意写,但是学软件的,不勤奋真的不行呢,所以也想利用这个方式来锻炼自己的毅力和耐心,嘿嘿,如果哪天写得有心得的时候,我想我的java学习之路也算是有个不小的进步了吧,好了,不多废话了,本来自己语言功底就比较差劲呢,不能再献丑了,忽忽

  下面就开始写我的第一次学习笔记,关于编程规范和技巧的总结,这篇日志比较重要,以后写代码的时候我也得牢记这些约定的。

  

(一) Java源文件的一般样式:(按先后排序)
l 版权信息(作者,版本号,时间等)
l Package和import
Package在import之前,import是先引入标准包,后引入本地的包
l Class声明
l 字段声明
l 字段对应的set和get方法
l 构造函数
按照所需参数的个数,来对各个构造函数排序
l Clone方法(如果这个类是可以被克隆的则需要)
l 类成员方法
l toString方法
l main方法

(二) 命名规范
1. package的命名
全部小写字母,各层之间用逗号隔开。
2. Class的命名
第一个字母大写,各个单词紧挨在一起,中间各单词的首字母也大写
3. Class变量和方法的命名
第一个字母小写,各个单词紧挨在一起,中间各单词的首字母也大写
4. Static Final变量的命名
全部大写,描述尽量贴切,中间可加下划线
5. 数组的命名
采用“类型[] 数组名”的形式
6. 参数的命名
命名格式跟变量一样,名字含义要贴切,可以与要赋值给的变量同名
如: void setXXX(int XXX){
XXX = XXX;
}

(三) 注释规范
Java中注释有三种
//单行注释
/*…*/多行注释
/**…*/多行注释,可以用来生成javadoc文档
遵循要点:
a) 注释要简单明了,防止二义性
b) 在必要的地方进行注释,量不能过多
c) 边写代码边注释,保持一致性.修改代码的同时也要修改相应注释
d) 注释位置统一放在上方
e) 全局变量注释要详细,说明其功能,取值范围
f) 方法的注释要写明,完成功能,输入(参数),输出(返回值)——用多行注释
g) 在源文件的头部加上对文件的注释,(文件名,版本,时间)
h) 类声明前也要注释,(对类的描述,作者,版本,时间)

(四) 排版规范
1.            关键词和操作符之间加适当的空格。

2.            相对独立的程序块与块之间加空行

3.            较长的语句、表达式等要分成多行书写。

4.            划分出的新行要进行适应的缩进,使排版整齐,语句可读。

5.            长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

6.            循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。

7.            若函数或过程中的参数较长,则要进行适当的划分。

8.            不允许把多个短语句写在一行中,即一行只写一条语句。

9.            函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。

另外需要注意的一些技巧
1. 在编写一个类的时候,考虑写一个main方法,这样的话,方便对类中的一些方法,函数进行调试。同时也可以用来演示该类实例的属性和行为。当要使用到项目的一个类时,也没有必要删除这些代码,这样发生修改的时候可以重新调试。如果用来发布时,应该要删除的。
2. 方法要尽量设计的简短,完成功能性单元即可。如果方法比较复杂且其方法体过长,可以考虑将其拆分成几个小一点的方法来实现,这样也便于方法重用。
3. 设计类的时候尽量让所有东西都私有化——private,只公布一些必须公布的内容(如某些方法,字段,类)。如果把不必要的内容也都公开化之后,有可能会影响到其他调用该类的文件,不得不导致其重新设计和改写代码。在多线程环境下,private字段可以在非同步情况下得到保护。
4. 避免使用一些模糊的数字,比如定义一个特定大小的数组时,如果用数字来指定数组大小,别人容易搞混。而且修改的时候也要一一到用到该数字的地方去修改,十分麻烦。可以声明一个描述明确的静态常量,用它来定义这个数组的大小,这样代码的可读性也能提高。
5. 尽量实现interface接口,也不要去继承抽象类。除非必须定义好某个方法的方法体。因为接口是用来说明可以做到哪些功能的,而类是用来实现具体功能的细节。况且java是单继承的,如果继承了抽象类不容易扩展。
6. 在构造函数内部完成一些字段的正确赋值即可。不要调用其他方法,一旦该方法被覆盖或者修改,会对实例化后的对象带来影响。
7. 先把握全局,在去考虑实现时的细节。良好的设计能带来最大的回报
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: