原文链接:API Design Principles - Qt
Wiki
基于Gary的影响力上 Gary Gao 的译文稿:C++
的API
设计指导
译文发在酷壳 - CoolShell:API
设计原则, 2017-07-25
API
设计原则 - Qt
官网的设计实践总结
🍎 译序
Qt
的设计水准在业界很有口碑,一致、易于掌握和强大的API
是Qt
最著名的优点之一。此文既是Qt
官网上的API
设计指导准则,也是Qt
在API
设计上的实践总结。虽然Qt
用的是C++
,但其中设计原则和思考是具有普适性的(如果你对C++
还不精通,可以忽略与C++
强相关或是过于细节的部分,仍然可以学习或梳理关于API
设计最有价值的内容)。整个篇幅中有很多示例,是关于API
设计一篇难得的好文章。
需要注意的是,这篇Wiki
有一些内容并不完整,所以,可能会有一些阅读上的问题,我们对此做了一些相关的注释。
感谢酷壳博主 陈皓的全文审校,并对难点和要注意的地方给出贴心的说明和译注。
API
设计原则
一致、易于掌握和强大的API
是Qt
最著名的优点之一。此文总结了我们在设计Qt
风格API
的过程中所积累的诀窍(know-how
)。其中许多是通用准则;而其他的则更偏向于约定,遵循这些约定主要是为了与已有的API
保持一致。
虽然这些准则主要用于对外的API
(public API
),但在设计对内的API
(private API
)时也推荐遵循相同的技巧(techniques
),作为开发者之间协作的礼仪(courtesy
)。
如有兴趣也可以读一下 Jasmin Blanchette 的Little Manual of API Design (PDF) 或是本文的前身 Matthias Ettrich 的Designing Qt-Style C++ APIs。