Важливо : у нас немає жодної проблеми з документацією на вихідний код . Це належить до регулярного аудиту коду і постійно оновлюється. Наша проблема полягає в документації для розробників (або, "зовнішній", якщо вам подобається), невеликих порад, що нагадують блог, від програмістів до програмістів, які, як правило, колись написані, часто залишаються позаду.
Ми використовуємо wiki-подібну систему для виготовлення документації програмістів - статті, написані програмістами для програмістів, де трохи детальніше описуються, як працює конкретний фрагмент коду. Ці вікі-сторінки зазвичай включають:
- мотивації дизайнерських рішень для частин API (наприклад, ми зробили цю потворну річ, тому що саме ця стороння бібліотека хоче, щоб це було зроблено таким чином, тому що ця інша бібліотека ..., тому що ...)
- пояснення того, як ми маємо справу з певними загальними завданнями (наприклад, показ тривіального спливаючого вікна, який повинен посилатися на відповідні стилі додатків, зареєструватися в компоненті реєстру та реалізувати деякий інтерфейс для автоматичного "сканування" іншим компонентом)
- передовий досвід (як суб'єктивний, ми насправді записуємо цей матеріал)
- конфігурація середовища, необхідні інструменти та його налаштування
Загалом, в основному, це стосується написання коду, який не відповідає звичайній кодовій документації через його розмір та характер блогу / статті.
Проблема
Щодо впровадження цієї системи кілька місяців тому здавалося гарною ідеєю, то зараз я відчуваю, що це спричиняє більше проблем, ніж вирішує. Наприклад:
- люди роблять статті писати ... але коли код змінений, оновлення вікі рідко слід
- багато статей про подряпини , написані кимось поспішаючи і залишили так
- незважаючи на те, що запит на статтю зазвичай походить від проекту, він навряд чи перевіряється на правильність / склад - що іноді призводить до низької якості
Звичайна деградація. Код змінено, вікі залишається тим самим. Наступного разу, коли хтось шукає інформацію, те, що він зазвичай знаходить, - це застарілий, низькоякісний матеріал - і цікавиться, що відбувається, чи точні речі, які він знайшов, або (що ще гірше), які його частини. І те, що мало допомогти, зрештою робиться навпаки.
На даний момент, здається, люди знають про проблему, включається керівництво проекту, але, мабуть, ніхто не турбується робити щось з цим (або має ще цікаві речі).
Моя первісна думка полягала в тому, щоб кинути це все у небуття (після того, як мене кілька разів поспіль укусили застарілі "підказки"), але я вважаю, що це може бути занадто екстремально. Деяку інформацію варто зауважити та її добре прочитати іноді, але проблема все одно: як ви маєте справу з її "сучасністю" ? Чи пов’язано це якось із вихідним кодом (тому коли перевіряється оновлена версія файлу, автор статті отримує повідомлення про те, що йому може знадобитися переглянути код / статтю)? Призначили людину "щодня" спостерігати за нею? Чи регулярно проводите чистки?