加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

没落 Java 代码的“坏味道”

发布时间:2019-10-12 07:55:28 所属栏目:建站 来源:王超
导读:代码中的坏味道,如私欲如尘埃,天天都在增进,一日不去破除,便会越累越多。假如勤奋去破除这些坏味道,不只能进步本身的编码程度,也能使代码变得精白无一绝不彻。这里,一向从事Java研发相干事变的阿里高级舆图技能工程师王超,清算了一般事变中的一些

正例:

  1. public int sum(int a, int b) { 
  2.     return a + b; 

删除表达式的多余括号

对应表达式中的多余括号,有人以为有助于代码阅读,也有人以为完全没有须要。对付一个认识 Java 语法的人来说,表达式中的多余括号反而会让代码显得更繁琐。

反例:

  1. return (x); 
  2. return (x + 2); 
  3. int x = (y * 3) + 1; 
  4. int m = (n * 4 + 2); 

正例:

  1. return x; 
  2. return x + 2; 
  3. int x = y * 3 + 1; 
  4. int m = n * 4 + 2; 

器材类应该屏障结构函数

器材类是一堆静态字段和函数的荟萃,不该该被实例化。可是,Java 为每个没有明晰界说结构函数的类添加了一个隐式公有结构函数。以是,为了停止 java "小白"行使有误,应该显式界说私有结构函数来屏障这个隐式公有结构函数。

反例:

  1. public class MathUtils { 
  2.     public static final double PI = 3.1415926D; 
  3.     public static int sum(int a, int b) { 
  4.         return a + b; 
  5.     } 

正例:

  1. public class MathUtils { 
  2.     public static final double PI = 3.1415926D; 
  3.     private MathUtils() {} 
  4.     public static int sum(int a, int b) { 
  5.         return a + b; 
  6.     } 

删除多余的非常捕捉并抛出

用 catch 语句捕捉非常后,什么也不举办处理赏罚,就让非常从头抛出,这跟不捕捉非常的结果一样,可以删除这块代码或添加此外处理赏罚。

反例:

  1. private static String readFile(String fileName) throws IOException { 
  2.     try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) { 
  3.         String line; 
  4.         StringBuilder builder = new StringBuilder(); 
  5.         while ((line = reader.readLine()) != null) { 
  6.             builder.append(line); 
  7.         } 
  8.         return builder.toString(); 
  9.     } catch (Exception e) { 
  10.         throw e; 
  11.     } 

正例:

  1. private static String readFile(String fileName) throws IOException { 
  2.     try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) { 
  3.         String line; 
  4.         StringBuilder builder = new StringBuilder(); 
  5.         while ((line = reader.readLine()) != null) { 
  6.             builder.append(line); 
  7.         } 
  8.         return builder.toString(); 
  9.     } 

公有静态常量应该通过类会见

固然通过类的实例会见公有静态常量是应承的,可是轻易让人它误以为每个类的实例都有一个公有静态常量。以是,公有静态常量应该直接通过类会见。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读