Самодокументирующийся код - Self-documenting code
Эта статья нужны дополнительные цитаты для проверка.Март 2020 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В компьютерное программирование, самодокументирующий (или же самоописывающий) исходный код и пользовательские интерфейсы следить соглашения об именах и структурное программирование соглашения, которые позволяют использовать систему без предварительных специальных знаний.[1] В Веб-разработка, самодокументирующий относится к веб-сайту, который раскрывает весь процесс своего создания через общедоступную документацию и чья общедоступная документация является частью процесса разработки.[нужна цитата ]
Цели
Обычно заявляемые цели для самодокументирующих систем включают:
- Сделайте исходный код более легким для чтения и понимания[2]
- Минимизируйте усилия, необходимые для поддержки или расширения унаследованных систем[2]
- Уменьшите потребность пользователей и разработчиков системы в обращении к вторичным источникам документации, таким как комментарии к коду или же руководства по программному обеспечению[2]
- Способствовать автоматизация через автономный представление знаний
Конвенции
Самодокументирующийся код якобы написан с использованием удобочитаемых имен, обычно состоящих из фразы на человеческом языке, которая отражает значение символа, например article.numberOfWords или же ПопробуйтеOpen. Код также должен иметь четкую и чистую структуру, чтобы читатель мог легко понять используемый алгоритм.
Практические соображения
Существуют определенные практические соображения, которые влияют на то, насколько хорошо могут быть реализованы цели для системы самодокументирования.
- единообразие соглашения об именах[2]
- последовательность[2]
- сфера применения и Системные Требования
Примеры
Ниже приведен очень простой пример самодокументирующегося кода, в котором вместо явных комментариев используются соглашения об именах, чтобы сделать логику кода более очевидной для читателей.
size_t count_alphabetic_chars(const char *текст){ если (текст == НОЛЬ) возвращаться 0; size_t считать = 0; пока (*текст != '\0') { если (is_alphabetic(*текст)) считать++; текст++; } возвращаться считать;}
Критика
Джеф Раскин критикует веру в "самодокументированный" код, говоря, что код не может объяснить причины, по которым программа пишется или почему она реализована таким образом.[3]
Смотрите также
- Автологическое слово
- Читаемость кода
- Комментарий (компьютерное программирование)
- Контролируемый естественный язык
- Грамотное программирование
- Программирование на естественном языке
Рекомендации
- ^ Шах, Стивен Р. (2011). Объектно-ориентированная и классическая разработка программного обеспечения (8-е изд.). McGraw-Hill Professional. стр.505 –507. ISBN 978-0-07337618-9. OCLC 477254661.
- ^ а б c d е Пол, Матиас Р. (2002-04-09). "Re: [fd-dev] ОБЪЯВЛЕНИЕ: CuteMouse 2.0 alpha 1". freedos-dev. В архиве из оригинала на 2020-03-24. Получено 2020-03-24.
[…] Почти любое числовое значение в исходном коде следует заменить соответствующим символом. Это значительно улучшило бы очевидный аспект исходного кода и значительно упростило бы обслуживание кода в долгосрочной перспективе, так как позволило бы искать символы для нахождения связей между различными фрагментами кода. […]
- ^ Раскин, Джеф (2005-03-18). «Комментарии важнее кода - тщательное использование внутренней документации - один из наиболее часто упускаемых из виду способов улучшения качества программного обеспечения и ускорения внедрения». Очередь ACM. Разработка. ACM, Inc. 3 (2). В архиве из оригинала на 2020-03-24. Получено 2019-12-22. [1][2]
дальнейшее чтение
Этот язык программирования -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |