Это нужно не только другим участникам проекта, но и Вам: сейчас-то Вы помните, что имели в виду, но что будет через неделю, месяц, год?
Не создавайте комментарий если в нём нет необходимости.
В это трудно поверить, но я видел комментарий 'Declare variables:' прямо перед объявлением переменных и 'Call function XXX:' перед вызовом функции XXX!
Используйте комментарии в качестве подзаголовка для визуального разделения фрагментов подпрограммы, выполняющих различные подзадачи.
Кстати, последний совет поможет не только читать старые подпрограммы, но и создавать новые: как только подпрограмма добавлена, сразу напишите по комментарию перед каждым воображаемым фрагментом (который будет вскоре написан), таким образом создав нечто вроде скелета. Ниже в качестве примера приведён такой вот скелет метода, вычисляющего новый баланс для клиента (также обратите внимание, что в комментариях допускается не пользоваться артиклями если это не мешает пониманию - выходит короче, разработчикам ведь некогда романы читать):
Код: Выделить всё
private decimal calcNewBalance (integer customerID, decimal amountToAdd)
{
// Validate parameters:
// Retrieve existing balance of customer:
// Retrieve their allowed overdraft:
// Calculate new balance:
// If new balance exceeds allowed overdraft then return original balance:
// If this code reached then new amount is ok - return it:
}
На этом этапе написания подпрограммы (довольно раннем) легче сконцентрироваться на алгоритме выполнения её задачи (потом, когда будет полтора-два экрана кода, за деревьями будет трудней увидеть лес). После того, как бизнес-логика хорошенько обмозгована (и найдено решение возникших вопросов - легче сейчас перекомпоновать комментарии, чем потом переписывать код), можно приступать к написанию выполнимого код (т.е. позвольте скелету обрасти мясом).