Важно : у нас нет проблем с документацией по исходному коду . Это относится к регулярному аудиту кода и постоянно обновляется. Наша проблема с документацией для разработчиков (или, если хотите, «внешней»), небольшими подсказками, похожими на блог, от программистов до программистов, которые, как правило, когда-то пишутся, часто остаются позади.
Мы используем wiki-подобную систему для создания документации для программистов - статьи, написанные программистами для программистов, описывающие чуть более подробно, как работает конкретный фрагмент кода. Эти вики-страницы обычно включают в себя:
- мотивы, лежащие в основе проектных решений для частей API (например, мы сделали эту уродливую вещь, потому что эта конкретная сторонняя библиотека хочет, чтобы вещи делались таким образом, потому что эта другая библиотека ..., потому что ...)
- объяснение того, как мы справляемся с конкретными общими задачами (например, отображение тривиального всплывающего окна, которое должно ссылаться на соответствующие стили приложения, регистрироваться в компоненте реестра и реализовывать некоторый интерфейс для автоматической «проверки» другим компонентом)
- хорошие практики (субъективно, мы действительно записываем это)
- конфигурация среды, необходимые инструменты и ее настройка
В общем, в первую очередь материал, связанный с написанием кода, который не подходит к обычной документации кода из-за его размера и типа поста в блоге / статьи.
Проблема
Поскольку внедрение этой системы казалось хорошей идеей несколько месяцев назад, сейчас я чувствую, что она вызывает больше проблем, чем решает. Например:
- люди делают статьи писать ... но когда код изменен, обновление вики редко следует
- много скретч статей, написал кто - то в спешке и оставили так
- несмотря на то, что запрос статьи обычно исходит от руководителя проекта, он вряд ли когда-либо проверяется на правильность / состав - что иногда приводит к низкому качеству
Обычная деградация. Код изменился, вики остались прежними. В следующий раз, когда кто-то ищет информацию, он обычно находит кучу устаревших, некачественных материалов - и задается вопросом, что происходит, является ли материал, который он нашел, точным или (еще хуже) его составляющими. И то, что должно было помочь, в конечном итоге делает обратное.
На данный момент кажется, что люди знают о проблеме, включая руководителя проекта, но, похоже, никто не обеспокоен тем, чтобы что-то с ней сделать (или есть что-то более интересное).
Моя первоначальная мысль состояла в том, чтобы бросить все это в забвение (после того, как меня укусили устаревшие «советы» несколько раз подряд), но я полагаю, что это может быть слишком экстремальным. Некоторая информация заслуживает внимания и иногда хорошо читается, но проблема все та же: как вы справляетесь с ее «актуальностью» ? Связана ли она с исходным кодом каким-либо образом (поэтому, когда проверяется обновленная версия файла, автор статьи получает уведомление о том, что ему может потребоваться пересмотреть код / статью)? Определил ли человек, "следящий" за этим на ежедневных основах? Регулярные уборки?