Насколько распространено это в индустрии программного обеспечения?
Очень распространен. Примерно так же, как сантехник уничтожает сантехнику, плотник доставляет мусор или дешевый портной, который делает плохо подходящий костюм. Т.е. все это человек.
Есть веская причина, почему это происходит: люди, которые на самом деле не обучены (или не увлечены), вынуждены что-то реализовывать под давлением.
В первую очередь это не проблема тех людей, а обычно структур, окружающих разработку программного обеспечения в этой компании. Например, в компании может быть несколько стажеров, разрабатывающих свое внутреннее программное обеспечение; даже если эти стажеры яркие и знающие, они будут там всего несколько недель или месяцев, и право собственности будет часто меняться.
Или кто-то, кто хорошо работает в этой области, но не программист, может взломать какое-нибудь приложение VBA и т. Д., Потому что в начале это кажется довольно простым.
Или хорошо сделанное приложение заканчивается на этапе сопровождения, все хорошие разработчики идут дальше, и затем его продолжают разрабатывать немногие люди (наихудший случай: один), которые мало о нем знают, у которых нет документации и т. Д.
Как я могу гарантировать, что я остаюсь на вершине ООП и связанных с этим принципов? Я занимаюсь в свободное время и чувствую, что мне действительно нужно работать с более опытным разработчиком, чтобы стать лучше в ООП.
Есть два возможных ответа:
- Либо: обсудите это со своим боссом и убедитесь, что вы принимаете участие в чистых проектах. Если это невозможно, найдите нового босса.
- Или: возьмите на себя ответственность за это самостоятельно. Это означает, что вы делаете это самостоятельно - в свободное время или, если можете, в компании, но руководствуемся самим собой (маловероятно).
Если второй ответ звучит слишком цинично для вас, позвольте мне заверить вас, что это не так. Плотник , который имеет деревообрабатывающий цех дома будет наиболее определенно будет лучше плотником , чем тот , кто не делает.
Например, для некоторых людей абсолютно возможно и очень весело, например, копаться в новом языке, таком как Ruby, изучать не только синтаксис, но и углубляться в специальные ОО-аспекты этого языка и действительно углубляться в него. Все в свободное время, без связи с вашей работой. Это будет просто хобби, но, будучи профессиональным профессионалом, вы можете быть столь же эффективными (или даже более), как сидеть рядом с каким-то ведущим разработчиком и пытаться следить за тем, что они делают. Тогда это будет строго для вашего личного развития и вашего собственного удовольствия. Если вам не нравится это делать, или вы обнаружите, что просто не можете достичь какого-либо понимания, то поцарапайте это и вернитесь к первому ответу.
Тот ведущий разработчик, который обучает вас, вполне вероятно, усвоил эти вещи именно таким образом ...