http://wiki.apidesign.org/index.php?title=Guidelines&feed=atom&action=historyGuidelines - Revision history2024-03-29T05:36:50ZRevision history for this page on the wikiMediaWiki 1.12.0rc1http://wiki.apidesign.org/index.php?title=Guidelines&diff=7154&oldid=prevJaroslavTulach: New page: Tim Boudreau always wanted me to create guidelines for good API design. I felt uneasy to define them as coming out with a general advice is often very hard. Some advises work j...2013-12-02T09:28:54Z<p>New page: <a href="/wiki/Tim_Boudreau" class="mw-redirect" title="Tim Boudreau">Tim Boudreau</a> always wanted me to create guidelines for <a href="/wiki/Good" title="Good">good</a> <a href="/wiki/API" class="mw-redirect" title="API">API</a> design. I felt uneasy to define them as coming out with a general advice is often very hard. Some advises work j...</p>
<p><b>New page</b></p><div>[[Tim Boudreau]] always wanted me to create guidelines for [[good]] [[API]] design. I felt uneasy to define them as coming out with a general advice is often very hard. Some advises work just because being applied in some context/[[environment]]. Finding out exactly what the actual context has to be is hard (an example of this is my analysis that finds when usage of [[singleton]]s is acceptable).<br />
<br />
As such I was hesitant to define proper [[API]] design [[guidelines]] so far. However people are in need of [[guidelines]] and methodologies and it was just a matter of time till somebody writes down set of ''best practices''. Actually the following checklist is not bad:<br />
<br />
http://theamiableapi.com/2012/01/16/java-api-design-checklist/<br />
<br />
I found it inspiring. Not that I would agree with everything in the checklist, but it is certainly better start than starting from [[scratch]]. Until I write down proper [[guidelines]] myself, you have my blessing to use the above one (preferably after checking none of the advises clashes with discovered [[paradoxes]]).</div>JaroslavTulach