Ну ИМХО это уже философский вопрос: насколько реальность отвечает нашим ожиданиям, Статья про разработку новых алгоритмов, и, в этом случае, комменты особо важны: читаем, что хотел автор, и смотрим код: что у него получилось.
Завозили, но речь не о том. Речь про отказ от комментов и про использование только значимых имен. Чем больше строк между такими именами — тем труднее читать, тем привлекательней комменты.
Если две строки рядом: одна за другой, то читать легко. А если:
procedure loadFile;
var
err : integer;
begin
err:= loadFromArchive;
if err<0 then
begin
if err=-1 then
print ('I/O error')
else
if err=-2 then
print ('File not found')
else
print ('Unknown error');
exit
end;
decrypt;
//и так далее
end
Можно записать коммент в определение процедуры loadFile:
procedure loadFile;
//загрузить из архивного файла, записи для
//товарных вагонов, расшифровать их, пустые
//вагоны добавить в таблицу свободных вагонов
begin
В Вашем решении не понял: что делают методы freight и free?
Вход и выход типа string, иначе какой смысл делать decrypt видимым?
Неубедительно. Если decrypt могут вызывать другие процедуры, то decrypt должен работать с их данными. А иначе — абсурд.
Коммент с описанием loadFile после заголовка сообщит, что тут decrypt уже использован.
Это как защищаться, чтобы без комментов?
В общем случае decrypt должен работать не только с loadFromArchive. М.б. в последующих версиях.
Я про Ваши желания:
"область видимости должна быть минимальной",
"decrypt не должен работать с общим состоянием".
Желаемое vs действительное...
В таком случае, возможно, он напишет:
loadFile;
decrypt;
при достаточной области видимости decrypt результат будет плачевным.
Не понял: пользователю доступен исх.код?
Если ТЗ требует формат после удачной загрузки файла, то желание заказчика — закон исполнителю. И кофе можно сварить: хозяин — барин ;)
Ага, название процедуры: loadFilePrintErrorDecrypt...
Ok. Договорились, что комментарии нужны (в разумных объемах).
И чтобы узнать, что делает этот код нужно лезть в отдельную процедуру.
Конечно.
decrypt м.б. нетривиальный по новому алгоритму и
loadFromArchive может быть новым. Может новый драйвер на асм.
Пустые строки сродни комментам?
Кроме обработки ошибок, потом может новый код добавиться.
Ну ИМХО это уже философский вопрос: насколько реальность отвечает нашим ожиданиям, Статья про разработку новых алгоритмов, и, в этом случае, комменты особо важны: читаем, что хотел автор, и смотрим код: что у него получилось.
Завозили, но речь не о том. Речь про отказ от комментов и про использование только значимых имен. Чем больше строк между такими именами — тем труднее читать, тем привлекательней комменты.
Если две строки рядом: одна за другой, то читать легко. А если:
Можно записать коммент в определение процедуры loadFile:
В Вашем решении не понял: что делают методы freight и free?
В процедуре loadFile; просто формат Хабра не позволяет разместить этот вызов и следующий комментарий в одну строку. На практике такой проблемы нет.