|
Программирование >> Перегруженные имена функций и идентификаторы
называется Web. Изначально она б1ла разработана для Pascalя, но потом появились варианты для других языков. Например, СWeb - это Web для языка Си. Используя Web вы описываете работу вашей программы, сначала самым общим образом. Затем описываете какие-то более специфические вещи и т.д. Кусочки кода появляются на самгх глубоких уровнях вложенности этих описаний, что позволяет говорить о том, что и читатель, и вы, дойдете до реализации только после того, как поймете действие программы. Сам Web состоит из двух программ: для создания программной документации (получаются очень красивые отчеты) и создания исходного текста на целевом языке программирования. Кстати сказать, TeX написан на Webе, а документацию Web делает с использованием TeXа... как вы думаете, что из них раньше появилось? Web в основном применятся программистами, которые пишут сложные в алгоритмическом отношении программы. Сам факт присутствия документации, полученной из Web-исходника, упрощает ручное доказательство программ (если такое проводится). Тем не менее, общий подход к программированию должен быть именно такой: сначала думать, потом делать. При этом не надо мерить работу программиста по количеству строк им написанных. Несмотря на то, что использование Webа для большинства совсем прикладных задач несколько неразумно (хотя вполне возможно, кто мешает хорошо программировать?), существуют более простые реализации той же идеи. Рассмотрим doxygen в качестве примера. * \bref Краткое описание. * Этот класс служит для демонстрации * возможностей автодокументации. class AutoDoc { public: int foo() const; !< Просто функция. Возвращает ноль. * \brief Другая просто функция. * Назначение непонятно: возвращает ноль. foo() - * более безопасная реализация возврата нуля. * \param ignored - игнорируется. * \warning может отформатировать жесткий диск. * \note форматирование происходит только по пятницам. * \see foo(). int bar(int ignored); Комментарии для doxygen записываются в специальном формате. Они начинаются с /** , /*! или !< . Весь подобный текст doxygen будет использовать в создаваемой документации. Он автоматически распознает имена функций или классов и генерирует ссылки на них в документации (если они присутствуют в исходном тексте). Внутри комментариев существует возможность использовать различные стилевые команды (пример достаточно наглядно демонстрирует некоторые из них), которые позволяют более тщательным образом структурировать документацию. doxygen создает документацию в форматах: html; LaTeX; RTF; man. Кроме того, из документации в этих форматах, можно (используя сторонние утилиты) получить документацию в виде MS HTML Help (наподобие MSDN), PDF (через LaTeX). В общем использовать его просто, а результат получается очень хороший. Кроме того (раз уж зашла об этом речь), существует такая программа, называется pcGRASP, которая позволяет разрисовать исходный текст. В чем это заключается: все видели красивые и очень бесполезные блок-схемы. pcGRASP делает кое-что в этом духе: к исходному тексту он добавляет в левое поле разные линии (характеризующие уровень вложенности), ромбики (соответствующие операторам выбора), стрелочки (при переходе с одного уровня вложенности на другой, например, return) и т.д. Самое приятное, так это распечатки, полученные таким образом. Учитывая то, что indent (отступы) pcGRASP делает сам (не ориентируясь на то, как оно было), это делает подобные распечатки исключительно ценными. В заключении, еще раз отметим, что комментарии надо писать так, чтобы потом самому было бы приятно их читать. Никакого распускания соплей в исходном тексте - тот, кто будет читать его, прекрасно знает что делает операция присваивания и нечего ему это объяснять. Красиво оформленная программная документация является большим плюсом, по крайней мере потому, что люди, принимающие исходный текст, будут рады увидеть текст с гиперссылками. Тем более, что не составляет труда подготовить исходный текст к обработке утилитой наподобие doxygen. Веб-программирование Популярный нынче термин веб-программирование обычно подразумевает под собой программирование, в лучшем случае, на perl, в худшем - на PHP, в совсем тяжелом - на JavaScript. Ничуть не пытаемся обидеть людей, которые этим занимаются, просто смешно выделять программирование на Perl в отдельную нишу, прежде всего потому что специфика его использования отнюдь не в веб-программировании . Кроме того, вообще тяжело понять, чем принципиально отличается создание CGI-программ от просто программ , кроме использования специализированного интерфейса для получения данных. Тем не менее, веб-программирование действительно существует. Заключается оно не в генерации на лету HTML-страничек по шаблонам на основании информации из базы данных, потому что это относится именно к использованию БД. Веб-программирование - это работа с сетевыми
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.303
При копировании материалов приветствуются ссылки. |