Самодокументирующийся код - Self-documenting code

В компьютерное программирование, самодокументирующий (или же самоописывающий) исходный код и пользовательские интерфейсы следить соглашения об именах и структурное программирование соглашения, которые позволяют использовать систему без предварительных специальных знаний.[1] В Веб-разработка, самодокументирующий относится к веб-сайту, который раскрывает весь процесс своего создания через общедоступную документацию и чья общедоступная документация является частью процесса разработки.[нужна цитата ]

Цели

Обычно заявляемые цели для самодокументирующих систем включают:

Конвенции

Самодокументирующийся код якобы написан с использованием удобочитаемых имен, обычно состоящих из фразы на человеческом языке, которая отражает значение символа, например article.numberOfWords или же ПопробуйтеOpen. Код также должен иметь четкую и чистую структуру, чтобы читатель мог легко понять используемый алгоритм.

Практические соображения

Существуют определенные практические соображения, которые влияют на то, насколько хорошо могут быть реализованы цели для системы самодокументирования.

Примеры

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

size_t count_alphabetic_chars(const char *текст){    если (текст == НОЛЬ)        возвращаться 0;    size_t  считать = 0;    пока (*текст != '\0')    {        если (is_alphabetic(*текст))            считать++;        текст++;    }    возвращаться считать;}

Критика

Джеф Раскин критикует веру в "самодокументированный" код, говоря, что код не может объяснить причины, по которым программа пишется или почему она реализована таким образом.[3]

Смотрите также

Рекомендации

  1. ^ Шах, Стивен Р. (2011). Объектно-ориентированная и классическая разработка программного обеспечения (8-е изд.). McGraw-Hill Professional. стр.505 –507. ISBN  978-0-07337618-9. OCLC  477254661.
  2. ^ а б c d е Пол, Матиас Р. (2002-04-09). "Re: [fd-dev] ОБЪЯВЛЕНИЕ: CuteMouse 2.0 alpha 1". freedos-dev. В архиве из оригинала на 2020-03-24. Получено 2020-03-24. […] Почти любое числовое значение в исходном коде следует заменить соответствующим символом. Это значительно улучшило бы очевидный аспект исходного кода и значительно упростило бы обслуживание кода в долгосрочной перспективе, так как позволило бы искать символы для нахождения связей между различными фрагментами кода. […]
  3. ^ Раскин, Джеф (2005-03-18). «Комментарии важнее кода - тщательное использование внутренней документации - один из наиболее часто упускаемых из виду способов улучшения качества программного обеспечения и ускорения внедрения». Очередь ACM. Разработка. ACM, Inc. 3 (2). В архиве из оригинала на 2020-03-24. Получено 2019-12-22. [1][2]

дальнейшее чтение