L>Немного поясню, в чем дело. Опытный программист, выступающий в качестве моего наставника, попросил меня для начала сделать такой-то класс. До этого я почти никаких классов не делал (не считая очень простеньких питоновских классов, которые требовалось создать по условию пары тренировочных задач), а в основном осваивал реализацию всяких-разных несложных алгоритмов с применением базовых питоновских структур данных (списков, кортежей, словарей и т. д.). Ну да ладно, прочитал несколько статей и сделал простой класс. Думал, пойдет. Постепенно выяснилось, что я изначально всё делал не так, как надо, и практически весь мой код можно сразу выбросить. Наставник тактично мне этого не сказал (наоборот, всячески шел мне навстречу и отвечал на все мои тупые вопросы), но я и сам докумекал, хоть и запоздало, что мне надо еще погрызть теорию, а уж потом браться за реальный проект...
не совсем понял, где там с классами была твоя проблема... рефакторинг в наше время довольно быстро делается...
на самом деле, это почти философская проблема типа курицы и яйца...
слышал от одного знакомого и такое высказывание, что типа студентам матмехов надо запретить программить до третьего курса, пока у них в голове не сформируются правильные представления о том, что эффективно и правильно, и вот только тогда имеет смысл начинать чего-то конкретное реализовывать, твой наставник и те курсы от физтеха по питону, наверное, в том же духе; в духе этой логики же, наверное, и идея, что к программированию , кроме как выпускников матмехов, вообще нельзя никого подпускать
моя же идея в том, что программировать с самого начала правильно — очень сложно: надо знать кучу
костылей условностей объектно-ориентированного программирования, стопитьсот пэттернов, принципов и т.п. (которые тебе не помогут а будут лишь мешать, если ты вдруг решишь программировать функционально, что сейчас вроде как модно
), поэтому мой путь — от простого — к сложному, вначале пишешь говноприложение, в котором никто , кроме тебя не может разобраться, потом после написания 5 говноприложений начинаешь работать с небольшой командой, где ты впервые увидишь, как пишут другие и придёшь в ужас от того кода, что пишешь сам, потом ты начинаешь читать всякие умные книжки про clean code, gof и т.д. , потом начинаешь работать в больших командах ...этот путь менее крут по сложности и уклону, поэтому одолеть его могут многие, но и по времени он займёт много больше времени , при этом и вероятность инфаркта много меньше