知道規則不難,難的是始終如一地遵守。這 10 條鐵律涵蓋代碼質量、架構思維、工程習慣,是從「寫出代碼」到「交付產品」的分水嶺。
可讀性 > 簡潔性。一個 20 行的清晰 if-else 鏈,優於 1 行嵌套三元運算符的「神代碼」。
// ❌ 縮減行數但難讀
if (condA && (condB || condC) && condD) doSomething();
// ✅ 拆分條件,命名中間變量,清晰表達業務含義
boolean eligible = condA && (condB || condC) && condD;
if (eligible) doSomething();
// ❌ 硬編碼散落各處
if ("SD".equals(status) && (sellOffDate == null || today.before(sellOffDate))) ...
// ✅ 常量類集中管理
public class StatusConstants {
public static final String STATUS_SD = "SD";
public static final String STATUS_OBS = "OBS";
public static final String STATUS_NYP = "NYP";
}
// 使用
if (STATUS_SD.equals(status) && (sellOffDate == null || today.before(sellOffDate))) ...
修改時只需改一處,IDE 重構安全可靠。
System.out.println 導致 10000 倍慢化;字符串 + 產生海量臨時對象。// 日誌框架 + 等級控制
private static final Logger log = LoggerFactory.getLogger(MyClass.class);
if (log.isDebugEnabled()) log.debug("Processing item: {}", item); // 佔位符延遲拼接
// 字符串構建
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 20; i++) sb.append(base);
String result = sb.toString();
這 10 條鐵律,前 5 條治代碼,中 3 條治工程,後 2 條治心態。內化為習慣,外化為品質,是從碼農到工程師的必經之路。