История изменений
Исправление
emorozov,
(текущая версия)
:
Ну я вот тут не совсем согласен, т.к. то, что ты пишешь в виде текста, по сути абстракция над тем, что будет твориться под капотом. Если ты не понимаешь, что там творится — напишешь ты в любом случае ерунду.
Я бы сказал есть два уровня. На первом уровне не понимающий человек пишет ерунду вида: использовать неподходящие алгоритмы и структуры данных. Например, сортировка пузырьком, использование списков/массивов вместо множеств, и т.д.
На втором уровне разработчик может хорошо понимать, что происходит под капотом, но при этом писать код, который тяжело читать и который невозможно изменить.
Я лично более одного раза в жизни сталкивался с тем, что код проекта приходилось переписывать, потому что его невозможно было модифицировать под изменившиеся требования.
Просто код имел такую архитектуру, что исправление любой ошибки порождало 2-3 новых ошибки. Или ошибку нельзя было исправить не переписав 50-60% кода. Или ошибку нельзя было исправить, т.к. на неё завязан десяток костылей без которых проект не будет работать.
Первый уровень преодолеть можно: достаточно читать, писать, иметь желание и стимул разбираться.
Как преодолеть второй уровень… Готовых методик практически не существует. Точнее, вообще нет методики, которую можно алгоритмически выполнить, чтобы преодолеть проблемы этого уровня.
Исходная версия
emorozov,
:
Ну я вот тут не совсем согласен, т.к. то, что ты пишешь в виде текста, по сути абстракция над тем, что будет твориться под капотом. Если ты не понимаешь, что там творится — напишешь ты в любом случае ерунду.
Я бы сказал есть два уровня. На первом уровне не понимающий человек пишет ерунду вида: использовать неподходящие алгоритмы и структуры данных. Например, сортировка пузырьком, использование списков/массивов вместо множеств, и т.д.
На втором уровне разработчик может хорошо понимать, что происходит под капотом, но при этом писать код, который тяжело читать и которые невозможно изменить.
Я лично более одного раза в жизни сталкивался с тем, что код проекта приходилось переписывать, потому что его невозможно было модифицировать под изменившиеся требования.
Просто код имел такую архитектуру, что исправление любой ошибки порождало 2-3 новых ошибки. Или ошибку нельзя было исправить не переписав 50-60% кода. Или ошибку нельзя было исправить, т.к. на неё завязан десяток костылей без которых проект не будет работать.
Первый уровень преодолеть можно: достаточно читать, писать, иметь желание и стимул разбираться.
Как преодолеть второй уровень… Готовых методик практически не существует. Точнее, вообще нет методики, которую можно алгоритмически выполнить, чтобы преодолеть проблемы этого уровня.