论坛首页 Java企业应用论坛

我需要培养的编程风格

浏览 16763 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (16) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-02-16   最后修改:2011-02-16

本文分析了jdk源代码String.class 的代码规范.

 

   接触java有两年多了,真正的开发也只有不到3个月. 看平台代码才知道,自己的差距还是很远的. 各式各样的风格都有,这是与好的程序员的差距.从今天开始,我要树立自己的代码风格,模板为jdk源代码. 一些基本的规范就不列举了.

 

1.空格

(1) 关于=号, 对变量赋值时,按照jdk源码 = 两端加两个空格,如

int size = original.count;

 (2)对于关系运算符(> < == ..) 两端也加空格

if (offset < 0) {

  (3) 方法后 加空格然后{

  public String() {

 (4)对于多个参数间,参数间逗号后加空格

	System.arraycopy(value, 0, v, 0, size);

 (5) if语句中 括号() 外面两侧都加一个空格

if (offset < 0) {

 2 空行

(1)pakage上下各一空行

(2)所有import中没有空行

(3)成员变量间有一空行

(4)连个方法间有一空行

 

3.注释

(1)类注释:写出类的功能, 其它格式见下,如author, 日期格式: MM/DD/YYYY

/**
 * The <code>String</code> class represents character strings. All
 *
 * @author  Lee Boynton
 * @author  Arthur van Hoff
 * @version 1.189, 10/21/05
 * @see     java.lang.Object#toString()
 * @see     java.lang.StringBuffer
 * @see     java.lang.StringBuilder
 * @see     java.nio.charset.Charset
 * @since   JDK1.0
 */

 (2)成员变量的注释:单行使用/** comment .*/ ( 注意标点)

  /** The value is used for character storage. */
    private final char value[];

 (3)方法注释: 首行写出方法作用,

 参数行通过@param 参数变量 参数注释.

异常 @exception 异常名 注释

返回  @return 注释

 /**
     * Allocates a new <code>String</code> that contains characters 
     * @param      value    array that is the source of characters.
     * @param      offset   the initial offset.
     * @param      count    the length.
     * @exception  IndexOutOfBoundsException  if the 
     *        the bounds of the <code>value</code> array.
     */
    public String(char value[], int offset, int count) {
  

 (5)单行注释

//和下面if 竖直对齐

        // Argument is a String
        if (cs.equals(this))

 

   发表时间:2011-02-16   最后修改:2011-02-16
ctrl+shift+f....
比代码格式整齐更重要的是,命名。
好的代码可读性都很高,这是一个要努力的方向。
至于写不写注释,这个要认真考虑。
可能你今天改了代码,但忘记更新注释,这说不定会让后来维护你代码的人产生误解。
如果你加了注释,那么你要认真维护你所写的注释。
个人觉得,用代码说明你的意图远远比写乱七八糟的代码然后试图通过加注释来解释你的意图好得多。
至于
/**
* set the xxx
*/
public void setXXX(T obj);

这种注释,加了纯粹是废话。

/**
* @param obj
*/
public void setXXX(T obj);

这种注释,只是为了方便生成javadoc,要加也很方便,不加也不会怎样
1 请登录后投票
   发表时间:2011-02-16  
Loudyn 写道

个人觉得,用代码说明你的意图远远比写乱七八糟的代码然后试图通过加注释来解释你的意图好得多。



这里不得不谈下重构,一个好的方法名远比注释来的重要,如果一个方法名不能够很好的被理解,那么...你需要重构你的代码了...
0 请登录后投票
   发表时间:2011-02-16  
akunamotata 写道
Loudyn 写道

个人觉得,用代码说明你的意图远远比写乱七八糟的代码然后试图通过加注释来解释你的意图好得多。



这里不得不谈下重构,一个好的方法名远比注释来的重要,如果一个方法名不能够很好的被理解,那么...你需要重构你的代码了...

是的。好的代码都是通过不断的重构而来的。
我想,谁也不能从一开始就写对代码写好代码。
0 请登录后投票
   发表时间:2011-02-16  
Loudyn 写道
akunamotata 写道
Loudyn 写道

个人觉得,用代码说明你的意图远远比写乱七八糟的代码然后试图通过加注释来解释你的意图好得多。



这里不得不谈下重构,一个好的方法名远比注释来的重要,如果一个方法名不能够很好的被理解,那么...你需要重构你的代码了...

是的。好的代码都是通过不断的重构而来的。
我想,谁也不能从一开始就写对代码写好代码。


谢谢大家的评论,我现在也支持好的命名更重要的。
我想问下 代码重构是什么意思 ?
0 请登录后投票
   发表时间:2011-02-16  
qdpurple 写道
Loudyn 写道
akunamotata 写道
Loudyn 写道

个人觉得,用代码说明你的意图远远比写乱七八糟的代码然后试图通过加注释来解释你的意图好得多。



这里不得不谈下重构,一个好的方法名远比注释来的重要,如果一个方法名不能够很好的被理解,那么...你需要重构你的代码了...

是的。好的代码都是通过不断的重构而来的。
我想,谁也不能从一开始就写对代码写好代码。


谢谢大家的评论,我现在也支持好的命名更重要的。
我想问下 代码重构是什么意思 ?

你可以去看看martin fowler重构一书。
0 请登录后投票
   发表时间:2011-02-16  
是要有良好的编程素养 , 好多人老说当时很着急 活很急所以代码写的没个结构乱糟糟 一个大肚子方法 好几百行 ,其实不是就是养成不好
lz可以看看代码大全啊 重构啊什么的
0 请登录后投票
   发表时间:2011-02-17  
较真了lz。这样的书写风格注意下就好,而且也未必就这一种正确。空格、折行之类的问题,代码格式化都可以搞定。需要注意的还是楼上几位说的代码风格。
0 请登录后投票
   发表时间:2011-02-17  
这些东西像上面说的一个快捷方式就可以搞定,还去多按那么多次空格,真是浪费时间。
0 请登录后投票
   发表时间:2011-02-17  
会被投新手贴么
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics