П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3408 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 5957 раз(а).

Учебник HTML.
Просмотров 3201 раз(а).

Руководство по PHP5.
Просмотров 5418 раз(а).

Хостинг через призму DNS.
Просмотров 4017 раз(а).

Подборка текстов стандартных документов.
Просмотров 55707 раз(а).

Учебник PHP - Самоучитель
Просмотров 2994 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 4567 раз(а).

Внешние атаки...
Просмотров 3731 раз(а).

Учебник PHP.
Просмотров 2766 раз(а).

SSI в примерах.
Просмотров 37384 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство пользователя для GNU Awk

Приложение C. Замечания о реализации

C.2.1 Добавление новых свойств

Вы можете свободно добавлять новые свойства к gawk. Однако, если вы хотите, чтобы сделанные вами изменения вошли в поставку gawk, имеется несколько шагов, которые вы должны предпринять, чтобы сделать возможным для меня принять ваши изменения.

1. Возьмите последнюю версию. Для меня гораздо легче вставить изменения, если они относятся к самой последней поставляемой версии gawk. Если ваша версия gawk очень стара, я могу оказаться не в состоянии вообще объединить их. См. раздел B.1.1 [Получение поставки gawk], стр. 279, для информации о том, как получить последнюю версию gawk.

2. Следуйте стандартам кодировки GNU. Этот документ показывает, как должно писаться программное обеспечение GNU. Если вы его не читали, прочтите пожалуйста до того, как приступите к модификации gawk. (The GNU Coding Standards доступен как часть Autoconf distribution из FSF.)

3. Используйте стиль кодировка gawk. Cи-код для gawk следует инструкциям в GNU Coding Standards, с минимальными исключениями. Код отформатирован с использованием традиционного стиля "K&R", в особенности в отношении расположения скобок и использования символов tab. Коротко, правила кодирования для gawk таковы:

Используйте старый стиль (non-prototype) заголовков функций при определении функций.

Помещайте имя функции в начале отдельной строки.

Помещайте тип значения возврата функции, даже если это есть int, в строке над той, где помещаются имя и аргументы функции.

Описания аргументов функции не должны иметь отступа.

Ставьте пробелы вокруг скобок в управляющих структурах (if, while, for, do, switch и return).

Не помещайте пробелов перед скобками, используемыми в вызовах функций.

Ставьте пробелы вокруг всех Си-операторов и после запятых в вызовах функций.

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

Используйте real tabs для отступов, а не пробелы.

Используйте стиль "K&R" для расположения скобок.

Используйте сравнения с NULL или '"0' в условиях операторов if, while и for, и в случаях операторов switch вместо простых указателей или значений символов.

Употребляйте символьные постоянные TRUE, FALSE и NULL, и символьную константу '"0' где нужно, вместо 1 и 0.

Вставляйте однострочные описательные комментарии для каждой функции.

Не употребляйте `#elif'. Многие старые Unix C компиляторы не умеют их обрабатывать.

Не употребляйте функцию alloca для резервирования памяти вне стека. Такое употребление причиняет больше трудностей при переносе, чем небольшое удобство отсутствия необходимости освобождения памяти. Используйте malloc и free.

Если я буду должен переформатировать ваш код в духе, принятом в gawk, я могу не захотеть возиться с ним.

4. Будьте готовы подписать соответствующую статью. Для того, чтобы FSF поставляло ваши изменения, вы должны опубликовать эти изменения, представив подписанный документ такого рода, или передать права на публикацию в FSF. Оба эти действия легко осуществить, и многие авторы это уже сделали. Если у вас есть вопросы, пожалуйста войдите в контакт со мной (см. раздел B.7 [Сообщения о коллизиях и ошибках], стр. 292), или с gnu@gnu.org.

5. Исправьте документацию. Вместе с вашим новым кодом пришлите пожалуйста новые разделы или главы к этой книге. Если возможно, воспользуйтесь Texinfo, вместо представления неформатного текста ASCII (хотя и это лучше, чем совсем никакой документации). Соглашения, которые используются в Эффективном AWK-программировании, помещены после `@bye' в конце Texinfo source file. Если можно, внесите изменения и в справочник man page.

Вы должны будете также подписать письменную статью по вашим изменениям в документации.

6. Согласуйте изменения с context diffs или unified diffs. Используйте `diff -c -r -N' или `diff -u -r -N' для сравнения оригинального дерева gawk с вашей версией. (Я считаю context diffs более удобочитаемым, а unified diffs более компактен.) Рекомендую использовать версию GNU diff. Перешлите мне результаты, выданные каким-нибудь исполнением diff после согласования. См. раздел B.7 [Сообщения о коллизиях и ошибках], стр. 292, об информации по электронной почте. Использование названного формата облегчит мне внесение ваших изменений в эталонную версию исходного кода gawk (установку заплатки). Если я буду должен произвести вставку вручную, используя текстовый редактор, я могу этого не сделать, особенно при наличии множества изменений.

Хотя все это звучит как куча работы, помните, что вы только пишете новый код, а я должен его понять и поддержать, и если это невозможно сделать с минимумом лишней работы, я могу отказаться от этого.

Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru