Ero leggere alcune cose su come progettare una biblioteca o API bene, e ci siamo imbattuti grande discorso di Joshua Bloch a Google Tech Talks. Ora, anche se io sono in nessun posto vicino uno sviluppatore API professionale, penso che la programmazione di un gruppo di classi / funzioni è simile, anche se molto ridotta versione della stessa cosa - chiara separazione delle azioni, la facilità e l'uso piacevole, incoraggiando codice pulito , eccetera.
Stavo attraversando alcuni open source il codice Java utilizzato e avuto questa idea (niente di nuovo, ma solo mettendo in su lucidamente ...)
Prendiamo un esempio di codice pseudo (o forse un po 'di dialetto del BASIC):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
Ora ispirato al codice Java vorrei essere in grado di fare qualcosa di simile a questo:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
La mia domanda è questa:
qualcuno le API di progettazione altro a partire dalla pseudo-codice come questo?
E 'una buona idea per qualcosa di piccolo? Dire fino a 10 classi ciascuna con forse 10 metodi, ciascun metodo non più di 5-6 righe di codice all'interno di esso. Questo è ovviamente solo un insieme di massima di numeri per per mostrare la dimensione delle classi da progettare - in nessun posto vicino a un API completa e non solo un progetto hobby - un pacchetto professionale che fa qualcosa di piccolo, ma lo fa bene .
Qualcuno ha trovato seri svantaggi di questo approccio?
Credo che l' unico vero vantaggio è che ti costringe a scrivere le vostre casi d'uso prima .
L'altra cosa è che i nomi e verbi rimanere semplice , consentendo al prodotto finale per schivare il MultiPhraseAbstractParadigmDesignPatternImplementor sindrome di :-D













