LINUX.ORG.RU

История изменений

Исправление emorozov, (текущая версия) :

Ну я вот тут не совсем согласен, т.к. то, что ты пишешь в виде текста, по сути абстракция над тем, что будет твориться под капотом. Если ты не понимаешь, что там творится — напишешь ты в любом случае ерунду.

Я бы сказал есть два уровня. На первом уровне не понимающий человек пишет ерунду вида: использовать неподходящие алгоритмы и структуры данных. Например, сортировка пузырьком, использование списков/массивов вместо множеств, и т.д.

На втором уровне разработчик может хорошо понимать, что происходит под капотом, но при этом писать код, который тяжело читать и который невозможно изменить.

Я лично более одного раза в жизни сталкивался с тем, что код проекта приходилось переписывать, потому что его невозможно было модифицировать под изменившиеся требования.

Просто код имел такую архитектуру, что исправление любой ошибки порождало 2-3 новых ошибки. Или ошибку нельзя было исправить не переписав 50-60% кода. Или ошибку нельзя было исправить, т.к. на неё завязан десяток костылей без которых проект не будет работать.

Первый уровень преодолеть можно: достаточно читать, писать, иметь желание и стимул разбираться.

Как преодолеть второй уровень… Готовых методик практически не существует. Точнее, вообще нет методики, которую можно алгоритмически выполнить, чтобы преодолеть проблемы этого уровня.

Исходная версия emorozov, :

Ну я вот тут не совсем согласен, т.к. то, что ты пишешь в виде текста, по сути абстракция над тем, что будет твориться под капотом. Если ты не понимаешь, что там творится — напишешь ты в любом случае ерунду.

Я бы сказал есть два уровня. На первом уровне не понимающий человек пишет ерунду вида: использовать неподходящие алгоритмы и структуры данных. Например, сортировка пузырьком, использование списков/массивов вместо множеств, и т.д.

На втором уровне разработчик может хорошо понимать, что происходит под капотом, но при этом писать код, который тяжело читать и которые невозможно изменить.

Я лично более одного раза в жизни сталкивался с тем, что код проекта приходилось переписывать, потому что его невозможно было модифицировать под изменившиеся требования.

Просто код имел такую архитектуру, что исправление любой ошибки порождало 2-3 новых ошибки. Или ошибку нельзя было исправить не переписав 50-60% кода. Или ошибку нельзя было исправить, т.к. на неё завязан десяток костылей без которых проект не будет работать.

Первый уровень преодолеть можно: достаточно читать, писать, иметь желание и стимул разбираться.

Как преодолеть второй уровень… Готовых методик практически не существует. Точнее, вообще нет методики, которую можно алгоритмически выполнить, чтобы преодолеть проблемы этого уровня.