Я стараюсь комментировать каждую функцию, описывая на высоком уровне, но точно, что делает функция. Точность должна быть такой, чтобы не было необходимости читать тело функции, чтобы понять, что она делает, или повторно реализовать ее, чтобы она отлично работала с любым кодом, который ее вызывает.
Кроме этого, я стараюсь, чтобы функции были достаточно маленькими, чтобы все вышеперечисленное представляло собой практически всю необходимую документацию.
Время от времени в коде может быть что-то неясное или странное — я это документирую. Все, что не является очевидным или интуитивно правильным, или над чем вы потратили некоторое время на размышления, должно быть задокументировано.
Просто представьте, что у вас проблемы с памятью, и вы забудете написать эту программу через месяц. Затем представьте, что вам нужно вернуться и исправить это. Что бы вы хотели прокомментировать и как сделать эти комментарии наиболее полезными для вас?
person
Larry Watanabe
schedule
11.01.2010