最近我與Empire-db取得了聯繫。項目文檔。表示他們正在使用「string-free coding」,旨在儘可能使用較少的常量字符串以避免拼寫錯誤並使用編譯器的力量。「無字符串編碼」是一個通用術語嗎?
我總是這個原則的忠實粉絲,因爲我覺得作爲Java是一個正式的語言可能是expresive像屬性或XML配置並提供通過檢查通編譯器額外的價值。也許在運行時不需要重新編譯就可以更改,但這取決於每種情況。
你這個學期/原理/設計模式,現在更多的參考或讀數?
最近我與Empire-db取得了聯繫。項目文檔。表示他們正在使用「string-free coding」,旨在儘可能使用較少的常量字符串以避免拼寫錯誤並使用編譯器的力量。「無字符串編碼」是一個通用術語嗎?
我總是這個原則的忠實粉絲,因爲我覺得作爲Java是一個正式的語言可能是expresive像屬性或XML配置並提供通過檢查通編譯器額外的價值。也許在運行時不需要重新編譯就可以更改,但這取決於每種情況。
你這個學期/原理/設計模式,現在更多的參考或讀數?
雖然我從來沒有聽說過那個特定的術語,我知道你的意思,這是有道理的。
從未聽過具體表達,但Effective Java建議「避免其他類型更合適的字符串」(條款50)。
這與的幻數 vs 常數相同。使用常量提高了可維護性和可讀性。常量還封裝了更改:常量值的更改會自動傳播,而對於無字符串編碼,拼寫錯誤的常量是編譯時錯誤。
著名Pragmatic Programmer提到特別是在元數據處理連接這一原則。一個關於這個的提示是:在 元
方案一般情況下,
把抽象的代碼,詳細信息,並把具體的 編譯代碼基地外。
這是值得無論如何讀的書。
關於empire-db,它就像SQL查詢的「類型安全性」。
感謝您指出Empire DB。這是一個值得進一步調查的工具。我對Hibernate的分析特別震驚:http://incubator.apache.org/empire-db/empiredb/hibernate.htm – APC 2009-09-29 09:28:50
這是一篇非常有趣的文章。謝謝@APC。 – 2009-09-29 12:53:21
雖然這是一個很好的原則,但一如既往,首先使用常識。毫無意義地遵循良好的設計實踐並帶有良好的意圖也會導致錯誤的代碼,請查看http://thedailywtf.com/Articles/It-Gets-Worse-Each-Year.aspx和http://thedailywtf.com/Articles/ Soft_Coding.aspx – 2009-09-30 10:18:00