Выходя за пределы вставки, существует множество функций, которые вызываются только один раз.
Допустим, у нас есть такая структура:
typedef struct foo {
char *foo;
int bar;
double foobar;
} foo_t;
И мы пишем что-то, чтобы инициализировать / выделить это:
foo_t *foome(void)
{
foo_t *ret;
ret = (foo_t *) malloc(sizeof(struct foo));
...
...
}
Но почему мы прошли через все эти неприятности, когда foome()
вызывается только один раз, в main()
? Потому что мы хотим, чтобы следующий человек, имеющий дело с нашей программой, смог взглянуть на main()
и сразу понять, чего мы пытались достичь.
Я бы предпочел увидеть код, который имеет десятки одноразовых функций, если это означает, что сложный алгоритм читается как книга на одном (или закрытом) экране. Я не могу сказать вам, сколько болит моя голова, когда мне приходится прокручивать вверх и вниз по n сотням строк, пытаясь удержать свое место.
Это сохраняет здравомыслие и помогает окружающей среде, потому что теперь мне не нужно распечатывать все 60 страниц вашего алгоритма и размещать их на столе, чтобы иметь возможность его читать:)