Как мне облегчить и стимулировать реализацию моей спецификации?
Предположим, я написал библиотеку на языке программирования (например, Java) для взаимодействия с внешним компонентом (например, базой данных).
Теперь я хотел бы, чтобы сообщество предоставило реализации на других языках.
Как я могу включать и поощрять других разработчиков предоставлять реализации, идентичные по функциональности моей.
Некоторые примеры могут быть:
- Предоставить письменную спецификацию поведения
- Предоставить справочную реализацию
- Обеспечить среду тестирования, чтобы они могли проверить свою реализацию (это можно сделать на нескольких языках?)
Какие еще варианты доступны?
1 ответ
Общим подходом всего, к чему вы стремитесь, может быть уровень абстракции соглашений о кодировании. Так как они представляют собой набор рекомендаций для языков программирования, которые рекомендуют стиль программирования, методы и методы для каждого аспекта написанной части программы. Эти соглашения обычно охватывают организацию файлов, отступы, комментарии, объявления, операторы, пробелы, соглашения об именах, методы программирования, принципы программирования, практические правила программирования, лучшие архитектурные практики и т. Д.
Около
разрешить и побудить других разработчиков предоставлять реализации, идентичные по функциональности моей.
Вы можете использовать интерфейсы (протоколы). Даже если они используются для определения абстрактного типа, который не содержит данных или кода, они также определяют поведение как сигнатуры методов.
Ваши примеры хороши. Но в дополнение к
Обеспечить среду тестирования, чтобы они могли проверить свою реализацию
Вы можете представить основные идеи разработки на основе тестов:
Установление целей различных заинтересованных сторон, необходимых для реализации видения
Выделение объектов, которые позволят достичь этих целей, с помощью внедрения функций
Цель разработчика TDD - определить подробный, исполняемый дизайн для вашего решения.