Давайте поговорим об исправлении ошибок. Моё второе любимое занятие после их создания. Как я узнаю, что ошибка исправлена? Ну, меня учили более мудрые и опытные люди, чем я (давно), что если вы хотите убедиться, что ошибка никогда...
Давайте поговорим об исправлении ошибок. Моё второе любимое занятие после их создания.
Как я узнаю, что ошибка исправлена? Что ж, меня научили более мудрые и опытные люди, чем я (давно), что если вы хотите быть уверенным, что ошибка никогда больше не покажет свое лицо - напишите для нее автоматический тест.
Хорошо, я признаю, что были случаи, когда я не писал тест. Некоторые исправления настолько тривиальны, что иногда проверка — роскошь.
Но даже тогда я работал над скрытым предположением. Как и в Fallout, код никогда не меняется. Пока это не произойдет. Но между этими моментами оно никогда не меняется.
Исправляю ошибку. С этого момента и до тех пор, пока он не будет фактически изменен человеком, ботом или кем-то между ними — этот код будет компилироваться или транспилироваться, или что бы мы ни называли «работает» одинаково. Оператор будет выполнен, условие оценено, исключение поймано — каждый раз одним и тем же образом.
И вот мы подошли к современным языкам программирования: Подсказки. Агенты, подсказки, рабочие процессы — они не всегда работают одинаково. Что они делают, так это запускают свою интерпретацию запроса. Если они запускают инструменты — они запускают детерминированные части. Если они управляют субагентами, они используют интерпретации, основанные на других интерпретациях.
Интерпретации работают в основном