модульная конструкция блока - PullRequest
0 голосов
/ 17 июня 2009

У меня есть две отдельные функции, bar () и foo (). Ход выполнения моей программы должен быть следующим:

input -> bar () -> foo () -> output

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

procedure(inputs)
{
    bar();
    foo();
}

Заранее спасибо за советы.

1 Ответ

2 голосов
/ 17 июня 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...