Стандарт кодирования GNU. : Общие положения относительно Ваших программ

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

1. Общие положения относительно Ваших программ

При написании программ для проекта GNU (или любых ваших собственных программ) ни при каких обстоятельствах не должны учитываться какие-либо особенности реализации Unix.

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

Например, утилиты Unix как правило оптимизировались на минимальное использование оперативной памяти; если для Вас важна скорость, ваша программа будет реализована существенно по другому. Вы можете хранить весь входной файл в памяти и просматривать его там, вместо того, чтобы использовать stdio. Следует избегать использования временных файлов: обработку необходимо выполнять в один проход вместо двух (в частности, мы так делаем в ассемблере).

Или, напротив, придавайте особое значение простоте за счет скорости. Для многих приложений скорость современных компьютеров делает возможным использование простых алгоритмов.

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

Старайтесь помещать отдельные части программы в библиотеки, которые можно использовать независимо. По возможности следует использовать алгоритм "сборки мусора" вместо тщательного отслеживания, когда следует освобождать память, или использовать новый механизм распределения памяти obstack, разработанный в рамках GNU.


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