教你如何写出令人抓狂的代码
前言
请问您在还在为如何写出令人眼前一亮,印象深刻的代码而苦恼吗?代码写的好固然让身边的朋友和同事印象深刻,称赞不已,但是代码写的烂,一样可以让身边的朋友和同事印象深刻,吐槽不已,不过这都不重要,能让人记住你就行,所以本文教你如何写出令人抓狂,WTF最多的代码。
本文为了突出展示重点,只展示核心代码,省略了无关代码
1、命名越简洁越好💩
不知道你是否有过编码五分钟,命名两小时的经历,我们花费大量时间去思考如何取一个好名字,这是不对的,随便给变量取一个名字吧,越简洁越好,这样就有更多的精力用在代码的逻辑思考上,也就有了更多的时间去完成一个需求。
正确💩
String n = "dandanpili";
int w = 3;
错误
String name = "dandanpili";
int workAge = 3;
2、用数字代替常量💩
用数字代替常量可以让代码更简洁,并省去了思考变量命名的事,还能节省我们写代码的时间,让我们有更多的时间去 摸鱼 思考,一箭双雕。
正确💩
if (code == 1) {
return null;
}
错误
public static final int VISITED = 1;
if (code == VISITED) {
return null;
}
3、让命名更具个人风格💩
代码就像一个艺术品,每个人的代码都应该有各自的风格,各自的流派,我们要尊重代码风格的多样性。
正确💩
String box_MARK = "dandanpili";
String Bcolor = "BLUE";
错误
String boxMark = "dandanpili";
String boxColor = "BLUE";
4、函数应该身兼多职💩
把需求功能实现全部放到一个函数里可以避免给不同职责的代码块命名的工作还能减少代码量,还能降低函数的复用率,使之变成独一无二别人无法染指的函数。
正确💩
public void function() {
int data = 0;
data = data + 1;
System.out.println(data);
}
错误
public static void main(String[] args) {
prepareData();
processData();
sinkData();
}
public int prepareData() {
return 0;
}
public int processData(int data) {
return data + 1;
}
public void sinkData(int data) {
System.out.println(data);
}
5、不要让别人发现异常💩
当程序运行发生异常并被我们捕获后,不要告诉任何人,只要没有被别人发现,那程序就是没有异常的。
正确💩
try {
//do something...
} catch(Exception e) {
//嘘!!!!
}
错误
try {
//do something...
} catch(Exception e) {
log.error("程序运行错误", e);
}
6、缩进或空格能不敲就不敲💩
在写代码时,你知道你会敲多少次空格或者Tab吗?如果我们不敲的话,可以节约不少的编码时间,并且空格和Tab这两个键盘按键的寿命也大大延长。
正确💩
public void function(TreeNode node) {
if(node!=null){
if(node.left!=null){
System.out.println(node.left.val));
}
}
}
错误
public void function(TreeNode node) {
if (node == null) {
return;
}
if (node.left == null) {
return;
}
System.out.println(node.left.val));
}
7、函数的参数不要声明成对象💩
函数的参数既然支持用多个,我们为什么不尽可能发挥这个特点呢?函数需要几个参数,就加几个参数,当别人需要改这个函数时,他就知道你不是好惹的了。
正确💩
public void printPersonInfo(String name, String phone, String address, int age) {
log.info("name = {}, phone = {}, address = {}, age = {}", name, phone, address, age);
}
错误
@Data
public class PersonInfo {
private String name;
private String phone;
private String address;
private int age;
}
public void printPersonInfo(PersonInfo personInfo) {
log.info("personInfo = {}", JsonUtil.of(personInfo));
}
8、函数的返回类型不应该被局限💩
我们不希望自己一出生就被定义成一个什么样的人!同样,函数的一生也应该是丰富多彩的,不应该被我们定义成只能返回一种类型的函数!
正确💩
public Object parse(String str) {
if (str == "1") {
return 1;
}
if (str == "2") {
return 2.0d;
}
return null;
}
错误
public int parseInt(String str) {
return Integer.parseInt(str);
}
public double parseDouble(String str) {
return Double.parseDouble(str);
}
9、函数不需要对特殊值进行判断💩
当今社会,人与人之间的信任是十分宝贵的,我们应该相信别人使用我们的函数时是不会传递null或其他非法的值,我们的函数就应该关心自己该关心的事情。
正确💩
public void sinkData(PersonInfo personInfo) {
log.info("person name = {}", personInfo.name);
}
错误
public void sinkData(PersonInfo personInfo) {
if (Objects.isNull(personInfo)) {
log.info("personInfo is null!");
}
log.info("person name = {}", personInfo.name);
}
10、不要写注释💩
好的代码是自解释的,你无需多言。同样,难以阅读的代码,你即使写了注释,依然难以阅读,所以干脆就不要注释,省点磁盘空间吧。
正确💩
boolean flag = ++x == y-- & x++ == 1 || --y == 0;
错误
// 没啥意义,就是瞎写
boolean flag = ++x == y-- & x++ == 1 || --y == 0;
最后
本文章只列举了十个💩代码的写法,其实好的代码千篇一律,烂的代码百花齐放,如果你觉得这篇文章对你写烂代码有帮助的话,希望你可以买点水果,来医院看看我。