Я читал некоторые вещи о том, как создать библиотеку или API хорошо, и наткнулся на большой разговор Джошуа Блоха в Google Tech Talks. Теперь, хотя я нигде рядом профессиональных разработчиков API, я думаю, программирование кучи классов / функций аналогичное, хотя и значительно уменьшенная версия одного и то же - четкое разделение действий, легкость и приятное использование, поощрение чистого кода , и т.д.
Я шел через какой-то широко используется с открытым исходным кодом Java кода и не получил эту идею (ничего нового, а просто положить его доходчиво ...)
Возьмем пример псевдокод (или , может быть , некоторые диалект BASIC):
1. new label
2. set name 'hello world'
3. set color 'blue'
4. show 'topmost'
5. on click hide
Теперь вдохновленный код Java я хотел бы быть в состоянии сделать что - то вроде этого:
1. Label l = new Label()
2. .setName('Hello World')
3. .setColor('blue')
4. .show(zindex.top);
5. l.onClick = l.hide() ;
Мой вопрос заключается в следующем:
начиная ли кто - либо другой дизайн APIs от псевдо-коды , как это?
Это хорошая идея , что - то маленькое? Скажем ДО 10 классов каждый с , может быть , 10 методов, каждый метод не более , чем 5-6 строк кода внутри него. То есть , очевидно , просто грубый набор чисел , чтобы , чтобы показать размер классов , которые будут разработаны - нигде близко к полному API , а не просто проект хобби - профессиональный пакет , который делает что - то маленькое , но делает это хорошо .
Кто-нибудь нашел каких-либо серьезных недостатков в этом подходе?
Я думаю , что одна реальная выгода в том , что она заставляет вас записать ваши примеры использования первым .
Другое дело в том , что существительные и глаголы оставаться простыми , что позволяет ваш конечный продукт увернуться от MultiPhraseAbstractParadigmDesignPatternImplementor синдрома :-D













