如果不想看那些自我感觉良好的鸡汤书,而是想要一份极其深入、透彻且痛感拉满的剖析,去读 Jaroslav Tulach 的《实用 API 设计》(Practical API Design)吧。没错,它是基于 Java 的,但它完美诠释了那些鸡汤书所忽视的根本权衡:你让 API 对用户来说越强大,它在未来演化和长期……的潜力就越小
For a very deep, thorough and painful treatment instead of feel-good books, read "Practical API Design" by Jaroslav Tulach. Yes, it's Java, but it exemplifies the fundamental tradeoff that the feel-good books ignore: the more powerful you make your API for users, the less potential for evolution and long-term…
……Bloch http://www.youtube.com/watch?v=aAb7hSCtvGw (视频) http://lcsd05.cs.tamu.edu/slides/keynote.pdf (PPT) -- Matthias Ettrich 写的“Designing Qt-Style C++ APIs” http://doc.trolltech.com/qq/qq13-apis.html -- “Practical API Design”站点 http://wiki.apidesign.org/wiki/Main_Page 书籍:-- Jaroslav Tulach 的《实用 API 设计》http://amzn.com/1430209739 -- Ken Pugh 的《面向接口设计》- http://pragprog.com/titles/kpiod/interface-oriented-design…
…Bloch http://www.youtube.com/watch?v=aAb7hSCtvGw (video) http://lcsd05.cs.tamu.edu/slides/keynote.pdf (slides) -- "Designing Qt-Style C++ APIs" by Matthias Ettrich http://doc.trolltech.com/qq/qq13-apis.html -- "Practical API Design" site http://wiki.apidesign.org/wiki/Main_Page Books: -- "Practical API Design" by Jaroslav Tulach http://amzn.com/1430209739 -- "Interface-Oriented Design" by Ken Pugh - http://pragprog.com/titles/kpiod/interface-oriented-design…
……在 2 年里学到的模块化知识(好的和坏的),比搞 10 年绿地开发(从零开发)还要多(另外,我现在写一个能用的 Eclipse 插件的速度,比写一个同等功能的 Vim 函数还要快……)。我也推荐《实用 API 设计》(里面既有宏观的建议,也有关于源码兼容性与二进制兼容性的细微但至关重要的细节,其中有些方面我搞了几年开发都还一无所知……)
…modularity (good and bad) in 2 years than a decade of green field development (plus, I can now write a usable Eclipse plugin faster that I can write the equivalent Vim function ...). I also recommend "Practical API Design" (which contains both large scale advise and tiny but important details regarding source compatibility vs binary compatibility with aspects that have been unknown to me after several years of developing…
如果不想看那些自我感觉良好的鸡汤书,而是想要一份极其深入、透彻且痛感拉满的剖析,去读 Jaroslav Tulach 的《实用 API 设计》(Practical API Design)吧。没错,它是基于 Java 的,但它完美诠释了那些鸡汤书所忽视的根本权衡:你让 API 对用户来说越强大,它在未来演化和长期……的潜力就越小
For a very deep, thorough and painful treatment instead of feel-good books, read "Practical API Design" by Jaroslav Tulach. Yes, it's Java, but it exemplifies the fundamental tradeoff that the feel-good books ignore: the more powerful you make your API for users, the less potential for evolution and long-term…
……Bloch http://www.youtube.com/watch?v=aAb7hSCtvGw (视频) http://lcsd05.cs.tamu.edu/slides/keynote.pdf (PPT) -- Matthias Ettrich 写的“Designing Qt-Style C++ APIs” http://doc.trolltech.com/qq/qq13-apis.html -- “Practical API Design”站点 http://wiki.apidesign.org/wiki/Main_Page 书籍:-- Jaroslav Tulach 的《实用 API 设计》http://amzn.com/1430209739 -- Ken Pugh 的《面向接口设计》- http://pragprog.com/titles/kpiod/interface-oriented-design…
…Bloch http://www.youtube.com/watch?v=aAb7hSCtvGw (video) http://lcsd05.cs.tamu.edu/slides/keynote.pdf (slides) -- "Designing Qt-Style C++ APIs" by Matthias Ettrich http://doc.trolltech.com/qq/qq13-apis.html -- "Practical API Design" site http://wiki.apidesign.org/wiki/Main_Page Books: -- "Practical API Design" by Jaroslav Tulach http://amzn.com/1430209739 -- "Interface-Oriented Design" by Ken Pugh - http://pragprog.com/titles/kpiod/interface-oriented-design…
……在 2 年里学到的模块化知识(好的和坏的),比搞 10 年绿地开发(从零开发)还要多(另外,我现在写一个能用的 Eclipse 插件的速度,比写一个同等功能的 Vim 函数还要快……)。我也推荐《实用 API 设计》(里面既有宏观的建议,也有关于源码兼容性与二进制兼容性的细微但至关重要的细节,其中有些方面我搞了几年开发都还一无所知……)
…modularity (good and bad) in 2 years than a decade of green field development (plus, I can now write a usable Eclipse plugin faster that I can write the equivalent Vim function ...). I also recommend "Practical API Design" (which contains both large scale advise and tiny but important details regarding source compatibility vs binary compatibility with aspects that have been unknown to me after several years of developing…