雙面書

2007 年 6 月 13 日

上週我收到了我的簽名系列中的最新書:傑拉德·梅薩羅斯撰寫的 xUnit 測試模式。我已經斷斷續續地與傑拉德合作了幾年,所以我對其內容相當熟悉,但不知何故,看到實體書時我還是相當震驚。不知何故,我沒有意識到這本書有多大——883 頁,很容易成為我系列中最大的書。

總的來說,我不喜歡大書,我為讓 精簡 UML 如此小巧而感到非常自豪。這麼大的一本書讓我感到害怕,我怎麼會有時間讀完它?

但 xUnit 測試模式看起來並不像它看起來那麼可怕,因為它實際上是兩本書合為一本。在這方面,它遵循了我也在 EAA 的 P 中使用的風格。第一本書是一本敘事書,旨在「從頭到尾」閱讀。敘事書足夠小,可以消化,在 xUnit 測試模式中是 181 頁,在 EAA 的 P 中是 106 頁。第二本書是參考資料,旨在不從頭到尾閱讀(儘管有些人會這麼做),而是在需要時查閱。這個想法是閱讀敘事書以對該領域有深入的了解,然後將其放在書架上,以便在需要深入參考部分時可以輕鬆取用。

我讀了很多歷史書,我常常希望作者寫一本雙面書。歷史書通常需要詳細說明以擴充特定主題或描述觀點的證據。然而,結果可能是一本很長的書。一個例子是我最喜歡的一本書:槍炮、病菌與鋼鐵。我真的很高興我讀了它,我確實推薦它。但它確實感覺很長,我想知道它在雙面書中會如何運作。

如何閱讀一本書建議,當你第一次閱讀一本書時,你應該刻意跳躍式閱讀,毫不猶豫地跳過細節部分。我閱讀速度很快,這對我有幫助,但儘管快速或跳躍式閱讀是一個優點,我還是希望這本書的設計能有所幫助。我個人的經驗法則是一本敘事性的技術書籍,從頭到尾的頁數限制在 200 頁。如果超過這個頁數,你需要一些方法讓人們用更少的篇幅獲得核心資訊。雙面書並不是唯一的方法,例如在建築的無時性中選取加粗的段落,對我來說效果很好。我確定還有其他我尚未接觸過的技術,但雙面書目前在我的清單中名列前茅。

雙面書實際上是一個更通用的原則的具體案例,即按逐漸增加的章節組織一本書。採礦工具就是一個很好的例子。前兩章在 24 頁中快速概述了 Ruby。然後你有 280 頁的教學課程,後面跟著 500 多頁的參考資料。企業整合模式一書的前幾章是一個概述(95 頁),其餘(約 550 頁)為參考。然而,像這樣的書籍通常不會像它們可能的那樣清楚地說明這些連續的揭示層次。

一個有趣的問題是我們是否可以在雙面書格式中做更多的事情。很多人不會意識到 xUnit 測試模式是一本雙面書,因為它看起來像一本厚厚的書(封底實際上聲稱它是三本書,因為參考部分被視為兩個獨立的部分)。我們可以實體拆分書籍,也許將它們打包成一個套盒中的兩卷?我不認為實際上分別銷售這些書是有意義的,因為它們結合得太緊密了。

自然而然地,我們會考慮線上存取。參考資料通常在網路上效果更好,所以也許我們可以讓參考書只在網路上(也許在實體書中附上光碟或其他東西),只銷售敘事書。這種結構會對銷售產生什麼影響?

這裡有許多有趣的問題,但最後的訊息是我會敦促大型書籍的作者多思考如何以一種有助於想要在 200 頁限制內找到內容的人的方式來架構書籍。