How To Design A Good API and Why it Matters
Google Tech Talks January 24, 2007 ABSTRACT Every day around the world, software developers spend much of their time working with a variety of Application Programming Interfaces (APIs). Some are integral to the core platform, some provide access to widely distributed frameworks, and some are written in-house for use by a few developers. Nearly all programmers occasionally function as API designers, whether they know it or not. A well-designed API can be a great asset to the organization that wrote it and to all who use it. Good APIs increase the pleasure and productivity of the developers who use them, the quality of the software they produce, and ultimately, the corporate bottom line….



July 21st, 2010 at 1:32 am
[...] on July 21, 2010 by ciprianpt I just post How To Design A Good API and Why it Matters on http://www.softwarepeer.com/windows/how-to-design-a-good-api-and-why-it-matters/ This entry was posted in Uncategorized. Bookmark the permalink. ← [...]
July 21st, 2010 at 1:47 am
I’m going to say this, from 22:00 – 26:00 is without a doubt, the best advice I’ve ever received regarding API design. It goes something like this: “When in doubt, leave it out”… and yes that applies to you
July 21st, 2010 at 1:49 am
@hecatombe lcsd05.cs.tamu.edu/slides/keynote.pdf
July 21st, 2010 at 2:28 am
@hecatombe lcsd05.cs.tamu.edu/slides/keynote.pdf
July 21st, 2010 at 2:52 am
@hecatombe keepvid . c (o) m
July 21st, 2010 at 3:03 am
I just love these enthusiastic speakers, with loads of experience, and a good sense of humour … ! Excellent.
July 21st, 2010 at 3:33 am
Joshua rules!
July 21st, 2010 at 3:52 am
I agree that naming is ultra important! but sometimes naming things stalls writing code.
I find naming some functions super hard, so i rank accuracy with more words over being concise.
If you can refactor, then you can come back and rename things to make sense later with more time.
July 21st, 2010 at 4:05 am
A lot is describing what is referred to as modular programming …
July 21st, 2010 at 4:58 am
Naming IS indeed very important … cause debugging starts with using those names! You first need to know what piece of code is not working correct, and if names were used smartly … you hit bingo each time! — I tend to restrict names according to strict lengths, example : min. 5 characters, max. 9 characters (depends on prog. language)
July 21st, 2010 at 5:27 am
good 1 hour
July 21st, 2010 at 5:35 am
god 1 hour
July 21st, 2010 at 6:23 am
Hmmmm.
About your problem, making a name for a function that checks for win on a tic-tac-toe board.
“IsTopLeftBottomRightDiagonalA Win.”
Huh? I don’t think so.
Why would you make a separate function checking each winning combination?
Wouldn’t you just make one function that checks all combinations?
Anyway, the problem is in your design.
chris69666 made a good point.
July 21st, 2010 at 7:06 am
Hrm when I get a name thats quite long that hints to me that I doing something wrong somewhere else.
“IsTopLeftBottomRightDiagonalAWin” seems unnecessarily long imo. How about i.e. CheckDiagonals
July 21st, 2010 at 7:14 am
The slides are available online. Just search for the title of this talk on Google–the first result is the presentation, though it doesn’t contain everything shown in this video.
July 21st, 2010 at 7:21 am
Great talk. I’m so glad you mentioned the importance of naming. In fact it shows up twice.
Just the other day I was asking programming friends for help with naming. I wanted to check for a win on the diagonals of a tic-tac-toe board. And I wanted a name better than “IsTopLeftBottomRightDiagonalAWin.”
Often when I ask for naming help I’m met with “Just use that name and move on.” After hearing that enough I began questioning if I was wasting my time. It’s good to hear that naming IS coding.
July 21st, 2010 at 7:49 am
great talk. Thanks for the upload.
July 21st, 2010 at 8:38 am
Is possible to get slides of the presentation?
July 21st, 2010 at 9:34 am
yes indeed
July 21st, 2010 at 9:56 am
Fantastic talk. Great speaker.