При создании нетривиального приложения лучше всего сосредоточиться на том, чтобы все работало быстро, а также на использовании ярлыков в коде, таких как смешивание логики модели с вашими представлениями, нарушение инкапсуляции - типичные запахи кода? Или вам лучше потратить время на предварительную разработку большего количества архитектуры, правильно ее построить, но при этом существует риск того, что весь этот дополнительный код может не использоваться, поскольку ваш дизайн довольно изменчив, и вам, возможно, придется выбросить его, если обратная связь заставляет вас идти в другом направлении?
Для контекста я создаю настольное приложение. Я единственный разработчик, и я делаю это неполный рабочий день, так как у меня есть дневная работа. Теперь, на работе, я стараюсь делать все правильно, график позволяет. Но для этого проекта, который, как я ожидаю, изменится, когда я получу отзывы от людей, я не уверен, что это правильный подход. На этой неделе я потратил несколько часов на то, чтобы внести в конструктор учебника Model View учебник, чтобы сообщить об изменениях модели в представлении. В целом это замечательно, но я не уверен, что мне нужно несколько представлений для отображения данных, и я знаю, что я мог бы отображать вещи быстрее без дополнительной архитектуры. Если у меня есть 10-15 часов в неделю, чтобы потратить на проект, я чувствую, что понадобятся целые годы, чтобы создать что-то, что я смогу продемонстрировать, если буду следовать хорошим практикам программного обеспечения. Я знаю, что мои пользователи победили Мне все равно, что я использовал MVC внутри, они просто хотят что-то, что решит их проблему. Но я также попал в ситуацию, когда вы понесли так много технических долгов из-за коротких путей, что код просто невероятно сложно поддерживать и добавлять новые функции. Мне бы очень хотелось услышать, как другие люди подходят к такой проблеме.