Дисциплина оформления и ведения исходного текста

Совместная разработка =>

  1. Дисциплина использования корпуса текстов (хранилища)

  2. Дисциплина формирования исходного текста

Пример дисциплины работы с хранилищем (git)

Дисциплина оформления кода

Цель: продуктивная совместная работа

(хотя могут стоять такие задачи)

  1. Индивидуальная продуктивность (типичные ошибки, «удобный» вид, планирование)
  2. Включение в общее инф. пространство (документирование, комментарии, повторнаое использование кода)
  3. Доступность сообществу (KISS, следование общим правилам)
  4. (greg@kroah.com со ссылкой на Elliot Solloway & Kate Ehrlich): добровольное использование разумных правил позволяет надеяться на то, что все в сообществе также используют эти правила

  5. Учёт специфики проекта и сообщества:
    • Размер и ротация сообщества
    • Требования к надёжности кода
    • Специфика ЯП и предметной области

Что стоит фиксировать

  1. Внешний вид
  2. Именование объектов
  3. (не-)Использование конструкций ЯП
  4. Разбиение на модули (C: функции, .c и .h файлы)
  5. Комментарии
  6. Использование системных и библиотечных примитивов
    • => Отдельная дисциплина при работе с большими инструментариями

Пример: Linux Kernel Coding Style

«First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it's a great symbolic gesture.» 1

  1. Indentation
  2. Breaking long lines and strings
  3. Placing Braces and Spaces
  4. Naming
  5. Typedefs
  6. Functions
  7. Centralized exiting of functions
  8. Commenting
  9. You've made a mess of it

  10. Kconfig configuration files
  11. Data structures
  12. Macros, Enums and RTL
  13. Printing kernel messages
  14. Allocating memory
  15. The inline disease
  16. Function return values and names
  17. Don't re-invent the kernel macros
  18. Editor modelines and other cruft
  19. Inline assembly

Замечания от greg@croah

Д/З

Материалы

LecturesCMC/LinuxApplicationDevelopment2012/05 (последним исправлял пользователь FrBrGeorge 2012-11-10 14:36:06)