做asp网站的实验收获,官方网站怎么备案,编写app的软件,用c 来建设网站java 代码冲突检测在工作中#xff0c;最近我对现有Java项目进行了代码清理。 完成该练习后#xff0c;我可以看到在代码中一次又一次地发生了一组常见的代码冲突。 因此#xff0c;我想出了此类常见违规的清单#xff0c;并与同行共享#xff0c;以提高安全意识#xff… java 代码冲突检测 在工作中最近我对现有Java项目进行了代码清理。 完成该练习后我可以看到在代码中一次又一次地发生了一组常见的代码冲突。 因此我想出了此类常见违规的清单并与同行共享以提高安全意识有助于提高代码质量和可维护性。 我在这里将清单分享给更多的听众。 该列表不是按任何特定顺序排列的而是从所有代码质量工具如CheckStyle FindBugs和PMD强制执行的规则中得出的。 开始了 在Eclipse中格式化源代码并组织导入 Eclipse提供了自动格式化源代码和组织导入从而删除未使用的导入的选项。 您可以使用以下快捷键来调用这些功能。 Ctrl Shift F –格式化源代码。 Ctrl Shift O –组织导入并删除未使用的导入。 您可以让Eclipse在保存文件时自动格式化和自动组织而不必手动调用这两个函数。 为此在Eclipse中转到窗口-首选项- Java-编辑器-保存操作 然后启用在保存时执行选定的操作并选中格式化源代码 组织导入 。 避免方法中的多次返回退出点 在您的方法中请确保只有一个出口点 。 在方法主体中不要在多个地方使用return。 例如下面的代码是不推荐的因为它有一个以上的退出点返回语句。 private boolean isEligible(int age){if(age 18){return true;}else{return false;}
} 上面的代码可以这样重写当然下面的代码仍可以改进但是稍后会介绍。 private boolean isEligible(int age){boolean result;if(age 18){result true;}else{result false;}return result;
} 简化if-else方法 我们编写了几种实用程序方法这些方法采用一个参数检查某些条件并根据条件返回一个值。 例如考虑上一点中刚刚看到的isEligible方法。 private boolean isEligible(int age){boolean result;if(age 18){result true;}else{result false;}return result;
} 整个方法可以重写为单个return语句如下所示。 private boolean isEligible(int age){return age 18;
} 不要创建布尔整数或字符串的新实例 避免创建BooleanIntegerString等新实例。例如不要使用new Boolean(true) 而应使用Boolean.valueOf(true) 。 后面的语句具有与前一个语句相同的效果但是它提高了性能。 在块语句周围使用花括号。 永远不要忘记在块级语句周围使用花括号例如if for while 。 这样可以减少代码的歧义并避免在修改块级语句时引入新错误的机会。 不建议 if(age 18)result true;
elseresult false; 推荐的 if(age 18){result true;
}else{result false;
} 在适用的情况下将方法参数标记为最终参数 在适用的情况下始终将方法参数标记为最终参数。 如果这样做不小心修改了参数的值则会收到编译器警告。 而且它使编译器可以更好地优化字节码。 推荐的 private boolean isEligible(final int age){ ... } 在大写字母中命名公共静态最终字段 始终在大写中命名公共静态最终字段也称为常量 。 这使您可以轻松地区分常量字段和局部变量。 不建议 public static final String testAccountNo 12345678; 推荐的 public static final String TEST_ACCOUNT_NO 12345678; 将多个if语句合并为一个 尽可能将多个if语句合并为一个。 例如下面的代码 if(age 18){if( voted false){// eligible to vote.}
} 可以组合为单个if语句例如 if(age 18 !voted){// eligible to vote
} 开关应该具有默认值 始终为switch语句添加默认大小写。 避免重复的字符串文字而是创建一个常量 如果必须在多个地方使用字符串请避免将其用作文字。 而是创建一个String常量并使用它。 例如从下面的代码中 private void someMethod(){logger.log(My Application e);........logger.log(My Application f);
} 字符串文字“ My Application”可以制成常量并在代码中使用。 public static final String MY_APP My Application;private void someMethod(){logger.log(MY_APP e);........logger.log(MY_APP f);
} 其他资源 Java最佳实践的集合。 可用Checkstyle检查的列表。 PMD规则集列表 参考我们的JCG合作伙伴 Veera Sundar博客上的Java常见Java代码违规 。 翻译自: https://www.javacodegeeks.com/2012/09/common-code-violations-in-java.htmljava 代码冲突检测