Как вы определяете интерфейс, зная, что он должен быть неизменным после публикации? - PullRequest
1 голос
/ 27 мая 2009

Любой, кто разрабатывает, знает, что код - это живое существо, так как вы можете определить «полный» интерфейс, если значительная функциональность может быть не распознана до публикации интерфейса?

Ответы [ 5 ]

3 голосов
/ 27 мая 2009

Проверь это много. Я никогда не сталкивался с панацеей от этой конкретной проблемы - существуют разные стратегии в зависимости от конкретных потребностей потребителей и целей проекта - например, вы поставляете Microsoft среду ASP.NET MVC или создаете внутреннее приложение LoB? Но если разобраться с его простотой, вы никогда не ошибетесь, протестировав.

Под тестированием я подразумеваю использование интерфейса для реализации функциональности. Вы проверяете контракт, чтобы увидеть, может ли он удовлетворить потребности. Придумайте как можно больше различных вариантов использования интерфейса и реализуйте их как можно дальше. Доска остальное, и должно стать ясно, чего не хватает. Я бы сказал для данного «отсутствующего члена», если вы не нажмете его в течение 3-5 итераций, вам, вероятно, это не понадобится.

1 голос
/ 27 мая 2009

Номера версий.

Определить «Полный интерфейс». Назовите это версия 1.0.

Исправьте проблемы. Назовите это версией 2.0.

Они отделены. Они пересекаются по функциональности, но они раздельные.

Да, вы усиливаете усилия по поддержке обоих. То есть до тех пор, пока вы не устареете до версии 1.0 и, в конце концов, не прекратите поддержку.

0 голосов
/ 27 мая 2009

Убедитесь, что интерфейс или технология интерфейса (например, RPC, COM, CORBA и т. Д.) Имеют четко определенный механизм для обновлений и улучшенных интерфейсов.

Например, у Microsoft часто есть MyInterface, затем MyInterfaceEx, затем MyInterfaceEx2 и т. Д. И т. Д.

В других системах есть возможность запрашивать и согласовывать различные версии интерфейса (см. DirectX).

0 голосов
/ 27 мая 2009

Вы не можете сделать это в одноразовом выпуске. Вам нужна обратная связь.

Что вы можете сделать - это сначала создать чистый интерфейс, обеспечивающий все функции, которые должна обеспечивать ваша библиотека; затем предоставьте его вашей пользовательской базе для реального использования; затем используйте отзывы в качестве руководства для обновления вашего интерфейса - без добавления функций, отличных от вспомогательных функций / классов - до тех пор, пока он не станет стабильным на интерфейсе.

Вы не можете полагаться только на опыт / хорошую практику. Это действительно помогает, но этого никогда не бывает достаточно. Вам просто нужна обратная связь .

0 голосов
/ 27 мая 2009

Просто сделайте разумное предположение о будущем, и, если вам потребуется больше, создайте вторую версию вашего интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...