Основная причина, более важная, на мой взгляд, чем размер файла, о котором идет речь, - отсутствие модульности.Программное обеспечение становится легким в обслуживании, если оно разбито на маленькие кусочки, взаимодействие между которыми происходит через несколько четко определенных мест, таких как несколько открытых методов или опубликованный API.Если вы помещаете все в один большой файл, тенденция состоит в том, чтобы все зависело от внутренних элементов всего остального, что приводит к кошмарам обслуживания.
В начале своей карьеры я работал над географической информационной системой, которая состояла изболее миллиона строк C. Единственное, что делало его ремонтопригодным, единственное, что заставляло его работать в первую очередь, это то, что у нас была четкая разделительная линия между всем «сверху» и всем «снизу».Код «выше» реализовал пользовательские интерфейсы, специфичную для приложения обработку и т. Д., И все, что «ниже», реализовало пространственную базу данных. А разделительная линия была опубликованным API. Если вы работали «выше», вам не нужно было знать, каккод «ниже» работал, пока он следовал опубликованному API. Если вы работали «ниже», вам было все равно, как использовался ваш код, если вы реализовали опубликованный API. В какой-то момент мыдаже заменил огромный кусок «внизу», который хранил вещи в проприетарных файлах, на таблицы в базах данных SQL, и «выше» код не должен был знать или заботиться.