Не существует волшебного перехода от академических программ решения головоломок к реальным приложениям. Лучший способ учиться - это просто прыгнуть головой. Вам понадобится очень много времени, чтобы научиться тому, что вам нужно, если вы только когда-нибудь посмотрите на свой собственный код. Вам нужно смотреть на код, написанный профессионалами, и пытаться понять, почему он работает так, как работает, пока вы его не поймете.
Поначалу это кажется ошеломляющим, но вы быстро начнете видеть шаблоны, если приложение вообще логично. Хорошо написанный код будет разделен логическими способами, поэтому вы сможете выделить его по одному слою за раз.
Например, вы можете попробовать подход «снизу вверх», в котором вы пытаетесь понять, как обрабатываются взаимодействия с базой данных, прежде чем смотреть на код, который использует уровень базы данных. Вы продолжаете идти вверх, пока не доберетесь до обработчиков событий GUI.
Большие корпоративные приложения могут быть еще труднее понять, потому что может быть намного больше, чем один исполняемый файл или компонент. Постарайтесь оставаться сосредоточенным и узнайте, за что отвечает компонент, а затем выделите его по частям за раз.
Вы увидите, что существуют не только шаблоны на уровне функций и классов, но и на более высоких уровнях. Это упрощает понимание того, что происходит, когда вы понимаете эти шаблоны.