Galkov писал(а):
Евгений Темиргалеев писал(а):
КАК без ПОЧЕМУ не "много лучше", а почти также плохо
Ну хорошо. А как по Вашему должно выглядеть это понимание. Предложите - ЧТО ДОЛЖЕН ПОНЯТЬ РАЗРАБОТЧИК, касаемо этой конкретной задачи.
Разработчик должен понять
цель. В задаче видно, что выполняется только XOR двух битов. Но это не просто биты. У них есть назначение. И это не просто XOR. Это операция. Какая? Не понятно. (Непонятно по коду, и Вы, отдавая себе в этом отчёт, предварительно описали систему)
Программа необходима для достижения цели, и эту цель надо знать. Программу разбивают на подзадачи, и у них есть свои цели. Допустим, подпрограмма выдаёт результат. Он правильный или нет? Не зная цели, мы этого сказать не сможем. Или, допустим, по косвенным признакам мы знаем, что результат неверный. Он нверен из-за ошибки в логике или из-за некорректности входных данных? Чаще всего назначение того или иного кода можно угадать после его внимательного прочтения, да. Но даже в этом случае уместный комментарий может сильно сократить время, затрачиваемое на восприятие.
Если известна цель
программы, то становится понятной если не точное положение, то хотя бы область применения подпрограммы. Ведь понятно (или можно легко догадаться),
что она здесь делает, и что
это делает именно
она.
Таким образом,
что существенно важнее
как. Но я не пытаюсь преуменьшить форму представления программы. Я прекрасно отдаю себе отчёт, что на Обероне можно написать ясно далеко не всякую программу. Если хорошо разобраться в предметной области, и написать соответствующий декларативный язык (говорят, на декларативных языках пишешь
что надо сделать, а не
как; это неправда, однако составляющая
как сильно сокращается, что повышает удобство), то ни один популярный язык не сможет с ним тягаться. Если подпрограмма нечитаема (фарш), то затраты времени на исправление ошибки могут быть огромны. Но, в крайнем случае, мы её хотя бы можем переписать заново (благо, нам известно,
что она делает).
P.S. Я комментировал не всё Ваше сообщение. Замечу лишь, что оно отличается от темы Евгения.