书籍介绍
这本书真正的价值,不在它告诉你'好的API该有什么特点',而在它逼你面对一个残酷现实:API设计最难的从来不是写代码,而是如何在多年之后依然守住今天的承诺。Martin Reddy把'隐藏实现细节'这件事拆得极细——物理隐藏、逻辑隐藏、隐藏成员变量、隐藏实现类,每一步都对应着编译速度、二进制兼容性、耦合度这些会被时间放大的代价。书中对Pimpl惯用法的剖析尤为扎实:何时该用私有嵌套类、何时必须把私有虚函数留在公开类、深浅拷贝该如何取舍,都是踩过坑的人才会纠结的细节。它适合那些要维护一个长期项目、被'改一处崩一片'折磨过的开发者,也适合愿意反复啃的第二遍读者。唯一的前提:别指望它跟上最新语言特性,它教的是更底层、更不易过时的判断力。
作者简介
作者简介:
Martin Reddy
博士是软件行业的一名老兵,有着15年以上的从业经验,共撰写过40多篇论文,拥有3项软件专利,并与他人合著了Level of Detail for 3D Graphics。另外,他还是ACM以及IEEE的会员。
早年,他曾在SRI International供职5年,主要从事分布式三维地形可视化技术方面的工作,他成功创建了在Web上描述3D地球空间信息模型的ISO标准,并且还连续两年被选为Web3D协会的会长。
他曾在Pixar动画工作室工作过6年,担任内部动画系统的首席工程师,设计并实现了很多高性能API,这些API在一些奥斯卡获奖及提名影片的制作中都发挥了关键作用,这些影片有《海底总动员》、《超人总动员》、《赛车总动员》、《料理鼠王》,以及《机器人总动员》等。
他还开办了一家咨询公司Code Reddy,为各家软件公司提供技术咨询,主要客户有Linden Lab和Planet 9 Studios,为大型在线3D虚拟世界《第二人生》设计了API并改善了其基本架构。
现在他担任ToyTalk公司的首席技术官。
译者简介:
刘晓娜
中国科学院计算技术研究所员工,在职博士,从事网络大数据采集及挖掘方面的研究,爱好读书、翻译和旅游。
臧秀涛
硕士毕业于中国科学院计算技术研究所。曾从事网络游戏、操作系统方面的开发工作。热爱技术、读书和翻译。
林健
中国科学院计算技术研究所博士生,从事机群与网格计算方面的研究,爱好DIY、开源软件与技术写作。