Будучи новичком, я даже думал, что несколько файлов затрудняют мне понимание кода.Но после работы над несколькими проектами я понял важность этого модульного подхода.Есть много причин для нескольких файлов в проекте.Здесь я перечислю некоторые из них.
Допустим, вы находитесь в компании и хотите распределить задачи между многими сотрудниками.Теперь, если вы будете работать с одним файлом, вам будет сложно отслеживать, кто что редактирует.Таким образом, мы разбиваем задачу на более мелкие задачи, где каждая задача может быть выполнена отдельным человеком.Мы предоставляем ему определенный интерфейс.В случае C ++ мы можем предоставить заголовочный файл с открытыми методами и публичной переменной.Так что теперь этот человек знает, какие методы он может использовать из той части, над которой работают его коллеги.
Итак, в этой ситуации несколько файлов выполняют следующие функции:
- Разделяй и властвуй : Делите задачу между коллегами, не рискуя нарушить чужой код.
- Сохраняйте модульный код, где у каждого файла / класса есть определенная функция.Таким образом, в будущем, если мы захотим добавить или удалить некоторые функции, мы можем просто отредактировать этот класс, не тратя слишком много времени на весь код.
- Оптимизировать компиляцию : скажем, у вас есть 400 файловв коде и теперь вы меняете 1 строку в определенном файле.Теперь вы можете индивидуально скомпилировать отредактированный файл.Хотя, если это был один гигантский файл, то компиляция неизмененных вещей будет напрасной.
Что касается сложности, то фактическое распределение кода в разных файлах уменьшает сложность кода.
Учтите, что вы работаете над сольным проектом.Скажем, у него есть какая-то база данных, функциональность, ввод-вывод, графический интерфейс, некоторые вычисления, такие как поиск и т. Д. Теперь рассмотрим, если вы включите все это в один файл, тогда станет трудно отслеживать различные вещи в кратчайшие сроки, поскольку размер проектаувеличивается, где быстро, даже не сознавая, создатель.Это приведет к дублированию имен функций, переменных, структур и т. Д. Теперь вместо наличия функций log
в каждом файле, который регистрирует состояние базы данных, ввод-вывод и т. Д. Соответствующего файла, у вас будет один файл сdatabaseLog
, inputLog
и т. Д. И какова гарантия того, что у вас не будет других функциональных возможностей в графическом интерфейсе, для которых inputLog
не будет подходящим названием.
Допустим, у вас есть какая-то ошибка или сбойв проекте проще посмотреть на один файл, так как на него смотрится меньше.В одном файле вам будет сложно отследить, что и к чему относится.Итак, Отладка упрощается.
Итак, вкратце, вы можете сказать, что если имена файлов назначаются в соответствии с их назначением, то многострочный код уменьшает сложность кода, а не увеличивает его..
Если вы пытаетесь прочитать чужой код с несколькими файлами, вот несколько советов:
- Посмотрите на один файл за раз и узнайте, что именно он делает.Большинство новичков ошибаются в том, что они начинают с main и продолжают поиск функций, когда сталкиваются.
- Я рекомендую вам записать, что делает каждая функция.
- Использовать блок-схемы.
И когда вы работаете над проектом, убедитесь, что каждый файл имеетэто свое собственное назначение, оно модульное, а функции выполняют одно.Убедитесь, что файлы находятся в правильной иерархии в соответствии с их назначением.Кроме того, вам будет легче попробовать и применять эти методы в будущем, если будете использовать их ежедневно.Удачи.
Надеюсь, это поможет.