最近看了一些同事写的代码,心中千万只*奔腾。虽然能够实现功能,但对于有代码洁癖的程序猿们来说,简直不忍直视。故有感而发,在此分享一下自己的敲码原则。
1 简洁性
可以一行就不要两行。这句话需要意会,并不单单是字面意思,举个简单例子:
private boolean isHandsome(String name) {
boolean result;
String authorName = "hellozhangpeng";
if (authorName.equals(name))
result = true;
else
result = false;
return result;
}
改写为
private boolean isHandsome(String name) {
return "hellozhangpeng".equals(name);
}
2 直观性
2.1 命名
除了约定俗成的英文简写之外,命名使用英文全拼。
2.2 方法的拆分
笔者经常会看到有的文章建议:
我们平常开发的时候,应该编写小而美的方法,避免方法过长,一般函数最好在15行以内。
对此笔者并不完全赞同。大家在阅读源码时,有没有遇到过从方法a跳到方法b,方法b再跳到方法c, 跳来跳去,最后又回到方法a,结果自己又忘了方法b是干啥的。
对于方法是否应该被拆分,笔者的原则是:抽取的方法是否可以被另外两个或以上的方法使用? 若是,则进行抽取。若否,则是先借助我们的开发工具,对代码使用region注释,例如使用IntelliJ IDEA时:
public void hello(){
//region 代码块实现的功能
..........
..........
..........
//endregion
}
通过region,我们便可实现对稍长方法的分割与折叠,同时也能避免阅读时方法间的跳来跳去。
ps:HotSpot VM默认不会JIT编译字节码大小超过8000字节的方法。若方法实在长的可以,则需进行行数限制。但是需要明确的是,追求方法的小而短并不是抽取方法的基本原则。
祝福
祝愿大家编写的代码都将成为艺术品!