stringtranslate.com

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

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

Цели

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

Конвенции

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

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

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

Примеры

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

size_t count_alphabetic_chars ( const char * text ) { if ( text == NULL ) return 0 ;          size_t количество = 0 ;    while ( * текст != '\0' ) { if ( is_alphabetic ( * текст )) count ++ ; текст ++ ; }          возврат количества ; } 

Критика

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

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

Ссылки

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

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