Что значит иметь программу со слишком большим количеством соединений данных между функциями?

Скорее всего, невероятно глупый вопрос, но здесь идет. Поэтому я в настоящее время читаю книгу C, написанную Керниганом и Ричи, и меня немного смущает вопрос, какое влияние оказывает слишком большое количество подключений к данным на программу. Строго ли это связано с внешним видом и удобочитаемостью кода, или это также оказывает негативное влияние на программу, то есть замедляет ее выполнение.

Ниже приведенный абзац.

"Если большое количество переменных должно быть разделено между функциями, внешние переменные более удобны и эффективны, чем длинные списки аргументов. Однако, как указано в главе 1, эти рассуждения следует применять с некоторой осторожностью, поскольку они могут иметь плохой эффект на структуру программы, и привести к программам со слишком большим количеством связей данных между функциями "

1 ответ

Решение

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

Слишком большие списки аргументов, и для вашей программы будут накладные расходы, так как вызов функции обходится дорого. Аргументы функции должны быть помещены в стек (или в регистры). Подробнее читайте в разделе Сколько издержек при вызове функции в C++?

Другие вопросы по тегам