Комментирование отдельных переменных иногда полезно, но чаще всего переменные будут иметь логические группировки, которые, как ожидается, будут поддерживать определенные инварианты. Комментарий, описывающий поведение группы в целом, часто бывает более полезным, чем комментарии, описывающие отдельные переменные.
Например, если класс EditablePolygon
в Java может содержать четыре обязательных поля:
int[] xCoords;
int[] yCoords;
int numCoords;
int sharedPortion;
и ожидаем поддержки инвариантов, что оба массива всегда будут иметь одинаковую длину, и эта длина будет> = numCoords, а все представляющие интерес координаты будут находиться в слотах массива ниже numCoords
. Кроме того, он может указывать, что может существовать несколько EditablePolygon
объектов, совместно использующих одни и те же массивы, при условии, что все, кроме одного такого объекта, имеют sharedPortion
больше numCoords
или равны длине массива, и что sharePortion
одного объекта равно не менее, чем значение numCoords
любого другого [создание клона формы требует защитной копии, если только не требуется изменение части оригинала, которая была передана клону, или любой части клона [которая полностью передается оригиналу].
Обратите внимание, что наиболее важными для комментариев к документу являются (1) длины массива, которые могут превышать количество точек, и (2) определенные части массива могут использоваться совместно. Первое может быть несколько очевидно из кода, но второе, вероятно, будет гораздо менее очевидным. Поле sharedPortion
имеет некоторый смысл в отдельности, но его значение и назначение действительно могут быть поняты только по отношению к другим переменным.