Языки программирования - концепции и принципы

Подведем итог: все глобальные переменные


              first_time = false;

     }

     ….

}

Подведем итог: все глобальные переменные и подпрограммы в файле должны быть объявлены как static, если явно не требуется, чтобы они были доступны вне файла. В противном случае они должны быть определены в одном файле без какого-либо спецификатора и экспортироваться через объявление их во включаемом файле со спецификатором extern.

13.2. Почему необходимы модули?

 

В предыдущем разделе мы рассматривали декомпозицию программ с чисто механической точки зрения, исходя из желания раздельно редактировать и компилировать части программы в разных файлах. Начиная с этого раздела мы обсудим декомпозицию программы на компоненты, возникающие в соот­ветствии со смысловой структурой проекта и, может быть, кроме того допус­кающие раздельную компиляцию. Но сначала давайте спросим, почему де­композиция так необходима?

   

   Вам, возможно, объясняли, что человеческий мозг в любой момент време­ни способен иметь дело только с небольшим объемом материала. В терминах программирования это обычно выражается в виде требования, чтобы отдель­ная подпрограмма была не больше одной «страницы». Считается, что под­программа является концептуальной единицей: последовательностью опера­торов, выполняющих некоторую функцию. Если подпрограмма достаточно мала, скажем от 25 до 100 строк, можно легко понять все связи между состав­ляющими ее операторами.

   Но, чтобы понять всю программу, мы должны понять связи между под­программами, которые ее составляют. По аналогии должны быть понятны программы, содержащие от 25 до 100 подпрограмм, что составляет от 625 до 10000 строк. Такой размер программ относительно невелик по сравнению с промышленными и коммерческими программными системами, содержащи­ми 100000, если не миллион, строк. Опыт показывает, что 10000 строк, воз­можно, является верхним пределом для размера монолитной программы и что необходим новый механизм структурирования, чтобы создавать и поддержи­вать большие программные системы.


Содержание  Назад  Вперед