Щоразу, коли я дізнаюся, що велику частину мого коду потрібно змінювати, або тому, що він неправильний, або тому, що його потрібно адаптувати до основних архітектурних змін, необхідних з інших причин, це я зазвичай роблю:
- Я коментую весь код, який я підозрюю, що мені доведеться змінити. Я розглядаю коментований код як своєрідний мій список TODO.
- Я поступово переглядаю коментований код і коментує частини цього коду, або копіюю їх і вставляю в інше місце, а потім редагую їх у міру необхідності або переписую частини цього коду з нуля, дивлячись на коментований код для довідок. Щоразу, коли я думаю, що я закінчую частину коментованого коду, я видаляю його.
- Я продовжую це, поки не побачу більше коментованого коду.
Слід зазначити, що я багато в чому роблю це на особистому проекті, який я розвиваю в самоті.
Однак мені сказали, що я повинен припинити це робити. Мені сказали, що замість цього я повинен почати використовувати git, посилаючись на старі коміти, щоб побачити старий код, а не залишати коментований код. Мені сказали:
Коментувати код - це шкідлива звичка, яку слід знищити. Вам не вистачає досвіду, тому ви не розумієте цього. Якщо через кілька років ви побачите код іншої людини, яка любить коментувати код, ви самі почнете лаятися на цю людину. Щоразу, коли я бачу коментований код, я видаляю його в повному обсязі, навіть не дивлячись на нього, тому що зазвичай такий код є абсолютно марним. Ви, звичайно, не побачите недоліків коментування коду в невеликих проектах для однієї людини; але якщо ти знайдеш роботу і збережеш цю звичку там, буде соромно.
Чи можу я запитати, які це недоліки того, що я роблю, що я не бачу зараз?
Треба сказати, що я не дуже захоплююсь лише використанням git, щоб побачити минулий код. Як я вже говорив, коментуючи код, я розглядаю як свого роду тодо-список; в той час як git покаже мені, як виглядав код, він не зможе чітко показати мені, які частини коду ще потрібно переглянути, а які вже зроблено. Я боюся, що я можу пропустити частину коду та ввести помилки.
Для повноти я хочу додати, що людина, яку я цитую, є досвідченим розробником і шанувальником "Чистого коду" дядька Боба - а дядько Боб все-таки критикував, коментуючи різко код у своїй книзі.