乐趣区

关于java:垃圾代码书写准则有意思

???? 以一种容易造成代码混同的形式命名变量

命名越短,就须要越多的工夫去思考代码逻辑等问题。

Good ????????

int a = 42;
复制代码 

Bad ????????

int age = 42;
复制代码 

???? 变量 / 办法命名格调不对立

为格调不对立干杯。

Good ????????

int wWidth = 640;
int w_height = 480;
复制代码 

Bad ????????

int windowWidth = 640;
int windowHeight = 480;
复制代码 

???? 不写正文

反正没人能读懂你的代码。

Good ????????

int cdr = 700;
复制代码 

Bad ????????

正文应该蕴含一些“为什么”,而不是一些“是什么”。如果代码连是“什么”都表白不分明,那代码也太烂了。

// 700ms 的数量是从 UX A/B 测试后果中失去的一个经验值。// @查看: < 具体解释 700 的一个链接 >
int callbackDebounceRate = 700;
复制代码 

???? 应用母语写正文

如果你的母语是英语,那么请疏忽这条准则。

Good ????????

// Закриваємо модальне віконечко при виникненні помилки.
toggleModal(false);
复制代码 

Bad ????????

// 暗藏谬误弹窗
toggleModal(false);
复制代码 

PS:如果英语书写能力不是很强的话,倡议还是用母语吧。毕竟说分明总比说不清楚要强。

???? 申明变量的格调不对立

再次为格调不对立干杯。

Good ????????

String [] i1 = {"沉", "默", "王", "二"};
String i2 [] = {"沉", "默", "王", "三"};
复制代码 

Bad ????????

String [] wanger = {"沉", "默", "王", "二"};
String wangsan [] = {"沉", "默", "王", "三"};
复制代码 

???? 尽可能把代码写成一行

Good ????????

IntStream.range(1, 5).boxed().map(i -> { System.out.print("Happy Birthday"); if (i == 3) return "dear NAME"; else return "to You"; }).forEach(System.out::println);
复制代码 

Bad ????????

for (int i = 1; i < 5; i++) {System.out.println("Happy Birthday" + (i == 3 ? "dear NAME" : "to you"));
}
复制代码 

???? 对错误信息不管不顾

无论什么时候发现错误,都没有必要让其他人晓得。

Good ????????

try {// 意料之外的状况。} catch (error) {// tss... ????}
复制代码 

Bad ????????

try {// 意料之外的状况。} catch (error) {
  // and/or
  logError(error);
}
复制代码 

???? 应用大量的全局变量

全球化的准则。

Good ????????

int x = 5;

void multi() {x = x * 2;}

multi(); // 当初 x 是 10
复制代码 

Bad ????????

int x = 5;

int multi(int num) {return num * 2;}

x = multi(x); // 当初 x 是 10
复制代码 

???? 申明基本不会应用的变量

万一当前用了呢?以备不时之需。

Good ????????

int sum(int a, int b, int c) {
  int timeout = 1300;
  int result = a + b;
  return a + b;
}
复制代码 

Bad ????????

int sum(int a, int b) {return a + b;}
复制代码 

???? 如果条件容许的话,从不指定类型。

Good ????????

// 享受便捷的高兴
List list = new ArrayList();
list.add("缄默王二");
list.add(18);
复制代码 

Bad ????????

List<String> nameList = new ArrayList<String>();

// 编译出错
nameList.add(18);
复制代码 

???? 没鸟用的代码

看起来更谨严,其实很多余。

Good ????????

Integer multi(Object num) {if (!(num instanceof Integer)) {return null;} else if (num != null) {return (Integer) num * 2;
    }
    return null;
}
复制代码 

Bad ????????

Integer multi(Object num) {if (num instanceof Integer) {return (Integer) num * 2;
    }
    return null;
}
复制代码 

???? 大量的 if-else 嵌套

Good ????????

void someMethod(int a, int b, int c) {if (a > 0) {if (b > 0) {if (c > 0) {int result = a / b / c;}
        }
    }
}
复制代码 

Bad ????????

void someMethod1(int a, int b, int c) {if (a < 0 || b < 0 || c < 0) {return;}
    int result = a / b / c;
}
复制代码 

???? 参差不齐地缩进

参差不齐乃幸福根源。

Good ????????

String [] wanger = {"沉", 
        "默", "王", "二"};
String [] wangsan = {"沉", "默", "王", "三"};
Arrays.asList(wanger).stream().
        forEach(System.out::println);
Arrays.asList(wangsan).
        stream().
                forEach(System.out::println);
复制代码 

Bad ????????

String [] wanger = {"沉", "默", "王", "二"};
String [] wangsan = {"沉", "默", "王", "三"};
Arrays.asList(wanger)
        .stream()
        .forEach(System.out::println);
Arrays.asList(wangsan)
        .stream()
        .forEach(System.out::println);
复制代码 

???? 代码行数多的办法的比少的好

不要把代码逻辑分成可读的局部。

  • 一个类中的代码行数超过 10000 行。
  • 一个办法中的代码行数超过 1000 行。
  • 一个办法里既做减法解决又做加法解决,还做乘除的解决。

???? 不要测试你的代码

代码测试是测试工程师的事,关我屁事。

???? 防止代码格调对立

得心应手地编写代码,特地是在一个团队中有多个开发人员的状况下,我崇尚“自在”。

???? 不要写文档

从一开始就不要。

???? 不要删除废除掉的代码

代码只管曾经废除了,正文掉就行了,没必要删掉。

参考:《2020 最新 Java 根底精讲视频教程和学习路线!》

链接:https://juejin.cn/post/692002…

退出移动版