Jeg var å lese opp noen ting om hvordan å designe et bibliotek eller API godt, og snublet over Joshua Bloch store tale på Google Tech Talks. Nå selv om jeg er ikke i nærheten av en profesjonell API-utvikler, tror jeg programmere en haug med klasser / funksjoner er en lignende, men mye nedskalert versjon av det samme - entydig skille handlinger, lette og behagelige bruk, oppmuntre ren kode , etc.
Jeg gikk gjennom noen mye brukt åpen kildekode Java-kode og fikk denne ideen (ikke noe nytt, men bare å sette den opp lucidly ...)
La oss ta et eksempel pseudo-kode (eller kanskje noen dialekt av BASIC):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
Nå inspirert av Java-koden jeg ønsker å være i stand til å gjøre noe sånt som dette:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
Mitt spørsmål er dette:
Har noen andre motiv APIer fra pseudo-kode som dette?
Er det en god idé for noe lite? Si opp til 10 timer hver med kanskje 10 metoder, hver metode ikke mer enn enn 5-6 linjer kode i det. Det er åpenbart bare en grov sett med tall for å vise størrelsen på klassene for å være utformet - ikke på langt nær en komplett API og ikke bare et hobbyprosjekt - en profesjonell pakke som gjør noe liten, men gjør det godt .
Har noen funnet noen alvorlige ulemper til denne tilnærmingen?
Jeg tror den ene virkelige fordelen er at det tvinger deg til å skrive ned dine bruker-saker først .
Den andre tingen er at substantiver og verb bli enkelt , slik at det endelige produktet å smette unna MultiPhraseAbstractParadigmDesignPatternImplementor syndrom :-D













