Здравствуйте, мыщъх, Вы писали:
М>не хочу писать большой пост, объясняющий элементарные вещи. меня окружают два типа программистов. первый (намного более многочисленный, "новая школа", поколение Z по пелевину). их девиз: "тут не думать, тут кодить надо". второй (старая школа) может три месяца ходить вокруг компьютера и не написать ни строчки, рисуя закорючки в рабочем журнале и вынашивая дизайн в голове.
По-моему оба типа — крайность. Должен быть баланс. Думать и стараться сразу написать хорошо конечно нужно, но время на обдумывание должно быть вменяемым, а не так что можно за час придумать нормальное решение, но мы будем думать неделю чтобы написать сразу идеально и правильно. Я сейчас начинаю приходить к тому, что код должен быть гибким, как глина, и при выборе решения нужно задавать себе вопрос: если вдруг решение окажется не самым эффективным — насколько легко или сложно будет его потом переделать? Какие в данном случае будут последствия не самого оптимального решения или кода? Если исправить будет сложно — ок, надо хорошенько подумать. А если легко — не нужно убивать кучу времени, нужно просто взять и написать, а потом если что отрефакторить или переписать
— это нормально.
Да и вообще, по-моему на практике (об этом кажется еще Брукс писал) на серьезных проектах редко бывает что сразу взяли и написали правильно, нужно закладывать определенную гибкость и быть готовым, что много придется переписывать или рефакторить.