次の行を検討してください。
if (object.getAttribute("someAttr").equals("true")) { // ....
明らかに、この行は潜在的なバグであり、属性がバグである可能性がnull
あり、NullPointerException
. したがって、次の 2 つの選択肢のいずれかにリファクタリングする必要があります。
最初のオプション:
if ("true".equals(object.getAttribute("someAttr"))) { // ....
2 番目のオプション:
String attr = object.getAttribute("someAttr");
if (attr != null) {
if (attr.equals("true")) { // ....
最初のオプションは読みにくいですが、より簡潔です。2 番目のオプションは意図は明確ですが、冗長です。
読みやすさの観点から、どのオプションを好みますか?