我正在阅读一些关于如何很好地设计库或 API 的内容,并偶然发现了 Joshua Bloch 在 Google Tech Talks 上的精彩演讲。现在,虽然我离专业的 API 开发人员还差得很远,但我认为编写一堆类/函数是相似的,尽管同一件事的缩小版 - 动作的明确分离,易用性和令人愉悦的使用,鼓励干净的代码, ETC。
我正在浏览一些广泛使用的开源 Java 代码并得到了这个想法(没有什么新东西,只是把它清楚地提出来......)
让我们举一个伪代码示例(或者可能是 BASIC 的一些方言):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
现在受到 Java 代码的启发,我希望能够做这样的事情:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
我的问题是:
还有其他人从这样的伪代码开始设计 API 吗?
小东西是个好主意吗?说最多 10 个类,每个类可能有 10 个方法,每个方法里面的代码不超过 5-6 行。这显然只是一组粗略的数字来显示要设计的类的大小 - 远不及完整的 API,而不仅仅是一个爱好项目 -一个专业的包,做一些小事但做得很好。
有没有人发现这种方法有任何严重的缺点?
我认为一个真正的好处是它迫使你首先写下你的用例。
另一件事是名词和动词保持简单,使您的最终产品能够避开MultiPhraseAbstractParadigmDesignPatternImplementor综合症:-D