Я работаю в одном магазине в том месте, где я работаю, и когда я начал там, у меня был нулевой опыт и степень бакалавра в нижеуказанной школе компьютерных наук. Вдобавок ко всему, мой первый проект в компании включал не только определение хороших принципов дизайна, но и изучение нового языка. Излишне говорить, что мой код был вначале дрянным, и все новые функции, которые я добавил с тех пор, были взломаны поверх всего этого дрянного кода. Мне удивительно, что мое программное обеспечение работает так же, как и оно.
Я выучил ТОННУ во время моей работы, и мне не терпится реорганизовать мой код, чтобы сделать его более читабельным, чтобы будущие новые сотрудники могли окунуться и помочь мне в этом. Я также ДЕЙСТВИТЕЛЬНО хочу упростить добавление новых функций без необходимости взламывать вещи вместе. Я думаю, что было бы полезно изучить такие основы, как Prism для WPF / Silverlight, но у меня есть огромный список дел (так как я работаю в одиночном магазине), и, похоже, это займет довольно приличное количество времени. просто чтобы научиться им пользоваться.
Теперь я немного ознакомился с Призмой, где я знаю основные принципы, лежащие в ее основе. Кроме того, было бы нетрудно написать собственный код, который выполняет некоторые из тех вещей, для которых используется Prism. На самом деле я уже сделал это в некоторой степени, и я добился значительных успехов в создании более модульных вещей.
Мой вопрос таков: должен ли я продолжать писать больше инфраструктурного кода, который дает мне именно то, что мне нужно, и не более, или мне нужно время, чтобы изучить что-то вроде Prism? Или, может быть, это можно спросить так: стоит ли мне тратить время на написание своих собственных собственных нестандартных решений, или я должен тратить время, пытаясь понять богатую, обширную среду, которая может быть более сложной, чем необходимо? И какие факторы я должен учитывать при принятии решения?