Я думаю, что я достаточно хорошо разбираюсь в основах программирования (для разных языков). Я могу написать хорошую строку кода. Я могу написать хороший метод. Я могу написать хороший класс. Я могу написать хорошую группу классов. Я могу написать хорошее небольшое или среднее приложение.
Я, однако, не знаю, как создать хорошее большое приложение. Особенно в случае, когда задействовано несколько технологий, и со временем может быть задействовано больше технологий. Скажем, проект с большим веб-интерфейсом, большим серверным сервером, который подключается к другому интеграционному серверу, и, наконец, большой и сложной базой данных. О, я участвовал в нескольких из этих приложений, и я мог бы создать одно, я уверен. Я не настолько уверен, однако, что это может квалифицироваться как "хорошо".
Мой вопрос, таким образом, касается ссылки на книгу или другой хороший источник чтения, где я мог бы научиться распространять и организовывать код и данные для общих крупных проектов. Например, хотел бы я очень строго наслоить вещи или вместо этого я хотел бы инкапсулировать независимые единицы? Хотел бы я попытаться сохранить большую часть логики в одном пуле, или она должна быть просто распределена, как это кажется наиболее логичным при добавлении какой-либо функции, которую я добавляю?
Я видел много общих принципов по этим вопросам (например, нет кода для спагетти, кода для фрикадельки...) и прочитал несколько отличных статей, в которых обсуждается этот вопрос, но я никогда не сталкивался с источником, который привел бы меня к конкретным практическим знаниям. Я понимаю сложность вопроса и поэтому буду рад услышать о чтениях, которые другие нашли, чтобы помочь им в поиске таких знаний.
Как всегда, спасибо за ваши ответы.
**** Принимая во внимание спорный характер определения "хорошего" кода, термин "хороший" в этом контексте не будет определен (это означает то, что, по вашему мнению, должно означать).