Java编程规范简版总结

习艺之道有二:知和行。你应当习得有关原则、模式和实践的知识,穷尽应知之事,并且要对其了如指掌,通过刻苦实践掌握它。

一、变量

​ 命名看着很简单,但是选择一个好名字要花时间。但是随意命名,看似节省了时间,但后续自己或别人阅读代码的时候需要花费更多的时间。好的命名应该可以让人一眼就能知道它为什么会存在,它做什么事,它该怎么用。利己由利于他人。

糟糕的命名示例:

int d;//消失的时间,以日为单位计算
// 存在问题:
// d什么也没有说明,在其他地方使用的时候我们并不能一眼就能知道d是干啥用的,更不会引起时间消逝的感觉

public List<int[]>getThem() {
    List<int[]> list1 = new ArrayList<int[]>();
    for (int[] x : theList) {
        if (x[0] == 4) {
            list1.add(x);
        }
    }
    return list1;
}
// 存在问题:
// 1、theList是什么类型的东西
// 2、theList的0下标条目的意义是什么
// 3、值4的意义是什么
// 4、我该怎么使用返回的列表

规范的命名:

int elapsedTimeInDays;//消失的时间,以日为单位计算

public List<int[]>getFlaggedCells() {
    List<int[]> flaggedCells = new ArrayList<int[]>();
    for (int[] cell : gameBoard) {
        if (cell[STATUS_VALUE] == FLAGGED) {
            flaggedCells.add(cell);
        }
    }
    return flaggedCells;
}

变量命名原则:

1、避免使用误导性名称

如:1和l、o和0

2、做有意义的区分,不做无意义的命名

// 无意义的命名
public static void copyChars(char[]a1,char[]a2) {
    for (int i = 0; i < a1.length; i++) {
        a2[i] = a1[i];
    }
}

// 见名知意
public static void copyChars(char[]source,char[]destination) {
    for (int i = 0; i < source.length; i++) {
        destination[i] = source[i];
    }
}

3、不要自己造词

// 糟糕的命名
private Date genymdhms;
private Date modymdhms;

// 规范的命名
private Date generationTimestamp;
private Date modificationTimestamp;

4、使用命名的常量代替直接使用值

// 尽量不要直接在程序中使用5,而是用常量代替,便于全局搜索
private static final int WORK_DAYS_PER_WEEK = 5;

5、尽量使用驼峰命名法,无需前缀

6、类和对象名称应为名词而不是动词。方法名应为动词或动词短语

二、函数

函数的原则:

1、避免使用长函数、函数要尽量要短小

2、别担心命名过长

3、避免参数过多,一般小于三个,除非不得已

4、避免向函数传入boolean值,坚持函数只做一件事原则

5、尽量做到函数复用,不要代码冗余

6、适当添加注释,学会使用TODO注释

7、不要保留注释掉的无用的代码,防止以后再次阅读时困扰

8、一个类或函数功能编写完成后,及时进行缩进,方便阅读

posted @ 2021-07-02 13:26  码农小匠  阅读(62)  评论(0编辑  收藏  举报