Я прихильник коментування вихідного коду та документування програмних продуктів. Це мій особистий досвід і спостереження, що робота над вихідним кодом, який суворо коментується, допомогла мені по-різному, коли мені довелося вирощувати програмне забезпечення або підтримувати його.
Однак є ще один табір, який говорить, що коментувати в кінцевому рахунку нічого не вартий або його значення сумнівне. Численні прихильники кодування без коментарів стверджують, що:
- Якщо фрагмент коду добре написаний, він пояснює себе, тому коментувати його не потрібно
- Якщо фрагмент коду не є роз'яснювальним, тоді переробляйте його та зробіть його зрозумілим, щоб він не потребував коментарів
- Ваш тестовий набір - це ваша жива документація
- З часом код і коментарі виходять із синхронізації, і це стає ще одним джерелом головних болів
- Agile каже, що робочий код важливіший за купу документації, тому ми можемо сміливо ігнорувати написання коментарів
Для мене це просто догма. Знову ж таки, моє особисте зауваження - це те, що програмне забезпечення, написане командами розумних та досвідчених розробників, врешті-решт має значну кількість коду, що не пояснює себе.
Знову ж таки, API Java, API какао, Android API тощо показують, що якщо ви хочете написати та підтримувати якісну документацію, це можливо.
Сказавши все це, розмови про плюси і мінуси документації та коментування вихідного коду, які базуються на особистих переконаннях, зазвичай не закінчуються добре і не призводять до невідповідних висновків.
Як такий, я шукаю наукові праці та емпіричні дослідження щодо впливу програмної документації, особливо коментування вихідного коду, на її якість та ремонтопридатність, а також на їх вплив на продуктивність команди.
Чи натрапили ви на такі статті, і який результат був від них, якщо вони є?