Question

Je lisais quelques choses sur la façon de concevoir une bibliothèque ou API bien, et trébuché à travers une grande conférence à Google Tech pourparlers de Joshua Bloch. Maintenant, même si je suis loin d'être un développeur API professionnel, je pense que la programmation d'un groupe de classes / fonctions est similaire, bien que beaucoup version réduite de la même chose - la séparation nette des actions, la facilité et l'utilisation agréable, encourageant code propre , etc.

Je traversais un peu largement utilisé le code Java open source et ai eu cette idée (rien de nouveau, mais juste de le mettre en place lucidement ...)

Prenons un exemple code pseudo (ou peut-être un dialecte de BASIC):

1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide

inspiré par le code Java Je veux être en mesure de faire quelque chose comme ceci:

1. Label l = new Label()
2.          .setName('Hello World')
3.          .setColor('blue')
4.          .show(zindex.top);
5. l.onClick = l.hide() ;

Ma question est la suivante:
Est-ce que quelqu'un d'autre API de conception à partir de pseudo-code comme ceci?

Est-ce une bonne idée pour un petit quelque chose? Dites jusqu'à 10 classes chacun avec peut-être 10 méthodes, chaque méthode pas plus que 5-6 code de lignes à l'intérieur. C'est évidemment juste un ensemble approximatif de nombres pour montrer la taille des classes à concevoir - nulle part près d'une API complète et non pas seulement un projet passe-temps - un ensemble professionnel qui fait quelque chose de petit, mais le fait bien .

Quelqu'un at-il trouvé de sérieux inconvénients à cette approche?

Je pense que le un avantage réel est qu'il vous oblige à écrire votre premier cas d'utilisation .

L'autre chose est que le noms et les verbes restent simples , qui permet à votre produit final d'esquiver les MultiPhraseAbstractParadigmDesignPatternImplementor syndrome :-D

scroll top