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

редактировать

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

Содержание

  • 1 Цели
  • 2 Условные обозначения
  • 3 Практические соображения
  • 4 Примеры
  • 5 Критика
  • 6 См. Также
  • 7 Ссылки
  • 8 Дополнительная литература

Цели

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

Условные обозначения

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

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

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

Примеры

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

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

Критика

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

См. Также

Ссылки

Дополнительная литература

.

Последняя правка сделана 2021-06-07 09:22:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте