ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 июля
129668
Evgeny_CD, Архитектор (31.08.2008 17:23, просмотров: 15327)
Коллеги, вот меня интересует вопрос - почему несмотря на якобы колоссальную популярность Linux нет такой штуки, как базы знаний по Linux API? Я это себе представляю так. Есть исходники Linux. В них аффтары расставляют теги возле всех сущностей (функции, максросы, type def, глобальные переменные, константы, константы enum). Создается БД, в которой записано: * имя сущности * что это такое - тип * краткое описания * в каком h прототип * где находится определение - чтобы быстро сходить и посмотреть, что к чему * в каком режиме юзер можно использовать эту сущность * связь сущности с параметрами конфигурации ядра * логическая иерархия Логическая иерархия - это многоуровневая иерархическая система для систематизации всех сущностей. Это связи именно логические, удобные человеку, с исполнением кода не связанные. Юзер берет эту БД и делает с ней следующее. 1. Берет файл конфигурации своего ядра и фильтрует БД в зависимости от опций. Чтобы не изучать того, чего в его системе нет. 2. Берет Graphviz и строит логический граф сущностей. По желанию, фильтрация, конечно. Вещает на стены комнаты и за небольшое время становится настоящим гуру. Ибо 10к сущностей API в виде алфавитного списка запомнить может только мазохист, а вот когда они побиты на уровни иерархии - легко. Словарный запас нормального человека гораздо выше. 3. Берет свой любимый редактор и пишет к нему примочку которая: * обращается к БД для поиска сущности * help по ней * проверка / вставка include * переход к коду, где сущность была определена. Спор о редакторах прекращается, ибо каждый выбирает по себе. В идеале к этому всему еще прилинкована книга типа Linux. Системное программирование Лав Р. http://www.bolero. …oks/9785388000149.html чтобы автоматически переходить на те разделы, которые относятся к сущности. При такой организации дела обучение качественному программированию под Linux - это вопрос одного квартала максимум. Вопрос - почему так никто пока не сдела? Заметим, этот подход годится совершенно для любой системы программирования - хоть uCOS.