2011年7月1日 星期五

Effective Java 讀書筆記: Item 10 - 總是要覆寫 toString

記錄讀書心得, 內容不一定和書上一致, 有些是我自己的看法。

toString 方便顯示訊息給使用者看和除錯, 要實作它應該沒什麼爭議。作者一些額外的考量:
  • 是否要在文件 (註解) 裡說明詳細的格式, 並傳回包含所有資訊的字串。附帶好處是可用來和物件轉換, 方便和外界輸入輸出, 或寫入硬碟作為永久資料。可以是XML、JSON 或自己訂的特殊格式
  • 提供一個 static factory method 轉換字串會更方便
  • 缺點是, 一但明確在文件中訂了格式, 日後就不方便更改。感覺得出來作者一直都很強調「contract 」, 非常小心看待 public API 之類的事
  • 字串包含的任何資訊都要有對應的取得方法, 不然會讓程式設計師 parse toString() 的結果, 成為易錯且難以擺脫的 de factor API
btw, 我發覺寫讀書心得的難處之一是, 得想辦法將英文的概念轉成中文, 有些說法在英文裡很直覺, 但直譯成中文會很怪, 也可能是我不習慣這些詞的中文用法吧。

沒有留言:

張貼留言

在 Fedora 下裝 id-utils

Fedora 似乎因為執行檔撞名,而沒有提供 id-utils 的套件 ,但這是使用 gj 的必要套件,只好自己編。從官網抓好 tarball ,解開來編譯 (./configure && make)就是了。 但編譯後會遇到錯誤: ./stdio.h:10...