Комментарий (компьютерное программирование)

редактировать
Иллюстрация исходного кода Java с комментариями пролога, отмеченными красным и встроенные комментариев зеленого цвета. Программный код выделен синим цветом.

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

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

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

Содержание
  • 1 Обзор
  • 2 Использование
    • 2.1 Планирование и анализ
    • 2.2 Описание кода
    • 2.3 Алгоритмическое описание
    • 2.4 Включение ресурсов
    • 2.5 Метаданные
    • 2.6 Отладка
    • 2.7 Автоматическая генерация документации
    • 2.8 Расширение синтаксиса
    • 2.9 Директива использует
    • 2.10 Снятие напряжения
  • 3 Нормативные представления
    • 3.1 Необходимость комментариев
    • 3.2 Уровень детализации
  • 4 Стили
    • 4.1 Комментарий блока
    • 4.2 Комментарии к строке
  • 5
  • 6 Примеры
    • 6.1 Сравнение
      • 6.1.1 Ada
      • 6.1.2 APL
      • 6.1.3 AppleScript
      • 6.1.4 BASIC
      • 6.1.5 C
      • 6.1.6 Конфигурация Cisco IOS и IOS-XE
      • 6.1.7 ColdFusion
      • 6.1.8 Fortran IV
      • 6.1.9 Fortran 90
      • 6.1.10 Haskell
      • 6.1.11 Java
      • 6.1.12 JavaScript
      • 6.1.13 Lua
      • 6.1.14 MATLAB
      • 6.1.15 OCaml
      • 6.1.16 Pascal
      • 6.1. 17 Perl
      • 6.1.18 Raku
      • 6.1.19 PHP
      • 6.1.20 PowerShell
      • 6.1.21 Python
      • 6.1.22 Ruby
      • 6.1.23 SQL
      • 6.1. 24 Swift
      • 6.1.25 XML
  • 7 Проблемы безопасности
  • 8 См. Также
  • 9 Примечания и ссылки es
  • 10 Дополнительная литература
  • 11 Внешние ссылки
Обзор

Комментарии обычно форматируются как блочные комментарии (также называемые комментарии пролога или комментарии к потоку) или строковые комментарии (также называемые встроенными комментариями).

Комментарии блока разделяют область исходного кода, которая может охватывать несколько строк или часть одной строки. Эта область указывается с помощью начального и конечного разделителей. Некоторые языки программирования (например, MATLAB ) позволяют рекурсивно вкладывать комментарии блоков друг в друга, но другие (например, Java ) этого не делают.

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

Некоторые на языках используются как блочные, так и строчные комментарии с разными разделами комментариев. Например, C ++ имеет комментарии блока, разделенные / *и * /, которые могут охватывать несколько строк и комментариев к строкам, разделенные //. Другие языки только один тип комментариев. Например, комментарии Ada являются комментариями к строке: они начинаются с -и продолжаются до конца строки.

Использует

Как лучше использование комментариев является предметом спора; разные комментаторы высказывали различные, а иногда и противоположные точки зрения. Есть много способов написания комментариев, и многие комментаторы вызывают противоречивые советы.

Планирование и просмотр

Автор сообщения как форма для обозначения намерения до, как написание фактического кода. В этом случае он должен объяснять логику кода, а не сам код..

/ * цикл назад по всем элементам, возвращаемым сервером (они должны обрабатываться в хронологическом) * / for (i = (numElementsReturned - 1); i>= 0; i--) {/ * обрабатывать данные каждого элемента * / updatePattern (я, возвращенные элементы [я]); }

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

Описание кода

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

«Не документируйте плохой код - переписывайте его».
«Хорошие комментарии не повторяют код и не объясняют его. Они разъясняют его цель. Комментарии должны объяснять на более высоком уровне абстракции, чем код, что вы пытаетесь сделать ».

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

'Вторая переменная неактивна из-за ошибок сервера, находящихся при повторном использовании формы данных. Нет документации по проблеме с поведением сервера, поэтому просто пишите код. vtx = server.mappath ("локальные настройки")

Алгоритмическое описание

Иногда исходный код содержит новое или заслуживающее внимания решение конкретной проблемы. В таких случаях могут содержать объяснение методологии. Такие объяснения различные диаграммы и формальные математические доказательства. Это может представлять собой объяснение кода, а не разъяснение его цели; но другому, которому поручено поддерживать кодовую базу, могут найти такое объяснение решающим. Это может быть особенно верно в случае узкоспециализированных проблемных областей; или редко используются оптимизации, конструкции или вызовы функций.

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

list = [f (b), f (b), f (c), f (d), f (a),...]); // Нужна стабильная сортировка. К тому же производительность действительно не имеет значения. insert_sort (список);

Включение ресурсов

Логотипы, диаграммы и блок-схемы, состоящие из конструкций ASCII art, могут быть вставлены в исходный код в формате комментариев. Кроме того, уведомления об авторских правах могут быть встроены в исходный код в виде комментариев. Двоичные данные также могут быть закодированы в комментариях с помощью процесса, известного как кодирование двоичного кода в тексте, хотя такая практика является необычной и обычно относится к файлам внешних ресурсов.

Следующий фрагмент кода представляет собой простую схему ASCII, представляющую поток процесса для сценария системного администрирования, содержащийся в файле сценария Windows, запущенном на Windows Script Host. Хотя раздел, обозначающий код, отображается как комментарий, сама диаграмма представляет собой раздел XML CDATA, который технически считается от комментариев, но может служить аналогичным целям.

ClientApp (async_run, batch_process) | | V mru.ini (mru_history)]]>

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

Метаданные

Комментарии в компьютерной программе часто хранят метаданные о файле программы.

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

Другие метаданные включают: имя создателя исходной версии программного обеспечения и начало первой версии, имя поддерживающего программы, у других людей есть отредактированные файлы программы, URL-адрес о том, как использовать программу, имя лицензия на программное обеспечение для этого программного файла и т. д.

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

Отладка

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

Ниже приведен пример кода комментирования для целей исключения:

if (opt.equals ("e")) opt_enabled = true; / * if (opt.equals ("d")) opt_debug = true; * / if (opt.equals ("v")) opt_verbose = true;

Приведенный выше фрагмент кода предполагает, что программист по какой-то причине решил отключить опцию отладки.

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

Автоматическое создание документации

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

Примеры генераторов документации включают программы Javadoc для использования с Java, Ddoc для D, Doxygen для C, C + +, Java, IDL, Visual Expert для PL / SQL, Transact-SQL, PowerBuilder и PHPDoc для PHP. Формы строки документации поддерживаются Python, Lisp, Elixir и Clojure.

C#, F# и Visual Basic.NET реализует аналогичную функцию под названием «Комментарии XML», которые считываются IntelliSense из скомпилированной сборки .NET.

Расширение синтаксиса

Иногда элементы синтаксиса, которые предназначались для комментариев, использовались для дополнительной программы, такой как «условные комментарии ». Такие «горячие комментарии» могут быть совместимым решением, которое поддерживает обратную совместимость, но широко как кладж.

Директива использует

Бывают случаи, когда обычные символы комментариев кооптированы. для создания специальной директивы для редактора или интерпретатора.

Два примера этого направления интерпретатора:

  • Unix "shebang " - #!- используется в первой строке скрипта для указаний на интерпретатор, который будет переводчик.
  • «Волшебные комментарии», идентифицирующие кодировку, которую использует исходный файл, например Python PEP 263.

Приведенный ниже скрипт для Unix-подобной системы показывает оба этих варианта использования:

#! / Usr / bin / env python3 # - * - coding: UTF-8 - * - print ("Тестирование")

В некоторой степени похоже на использование комментариев в C, чтобы сообщить компилятору, что "провал" по умолчанию в инструкции case был сделан намеренно:

переключатель (команда) {case CMD_SHOW_HELP_AND_EXIT: do_show_help (); / * Прохождение * / case CMD_EXIT: do_exit (); перемена; case CMD_OTHER: do_other (); перемена; / *... и т. д.... * /}

Добавление такого комментария / * Fall thru * /для читателей уже было обычным явлением, но в 2017 году gcc компилятор начал искать эти (или другие признаки преднамеренного намерения) и, если они не были найдены, выдал: «предупреждение: это утверждение может не быть».

Многие редакторы и IDE Буду читать специально отформатированные комментарии. Например функция, «modeline»; что изменило бы обработку вкладок при редактировании с этим комментарием, включенным в верхнюю часть файла:

# vim: tabstop = 8 expandtab shiftwidth = 4 softtabstop = 4

Снятие <

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

Нормативные взгляды

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

Потребность в комментариях

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

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

Комментарии иногда используются для документирования контрактов в подходе проектирование по контракту к программированию.

Уровень детализации

В зависимости от аудитории кода и других вариантов уровня детализации и описания может различаться.

Например, следующий комментарий Java подойдет во вводном тексте, предназначенном для обучения начинающему программированию:

String s = "Wikipedia"; / * Присваивает значение "Википедия" батарей s. * /

Этот уровень детализации, однако, не подходит в контексте применения опыта или других ситуаций с участием опытных разработчиков. Такие элементарные описания несовместимы с правилами: «Хорошие комментарии... проясняют намерения». Кроме того, для профессиональных сред кодирования уровня детализации обычно хорошо определяется для удовлетворения требований к производительности, определяемые бизнес-операциями.

Стили

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

Блочный комментарий

Следующие фрагменты кода на C демонстрируют лишь крошечный пример, как комментарии могут отличаться стилистически, но при этом передают ту же основную информацию:

/ * Это тело комментария. Вариант первый. * /
/ ************************** \ * * Это тело комментарий. * * Второй вариант. * * * \ ************************** /

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

Консультант по программному обеспечению и технический обозреватель Аллен Холуб - один из экспертов, который выступает за выравнивание левых краев комментариев:

/ * Это стиль, рекомендованный Holub для C и C ++. * Это действует в "Enough Rope", в правиле 29. * /
/ * Это еще один способ сделать это, также в C. ** Это проще сделать в редакторах, которые не делают отступы автоматически со второй ** до последней строки комментария на один пробел от первой. ** Он также используется в книге Холуба, в правиле 31. * /

Использование / * и * / в качестве разделителей блочных комментариев было унаследовано от PL / I на языке программирования B, непосредственном предшественнике программирования C

Комментарии к строке

Комментарии к строке обычно используют произвольный разделитель или последовательность токенов для обозначения начала комментария и символ новой строки для обозначения конца комментария.

В этом примере весь текст от символов ASCII // до конца строки игнорируется.

// ------------------------- // Это тело комментария. // -------------------------

Часто такой комментарий должен начинаться с крайнего левого угла и распространяться на всю строку. Однако во многих языках также можно поместить комментарий в командную строку, чтобы добавить к нему комментарий - как в этом примере Perl:

print $ s. "\ п"; # Добавить символ новой строки после печати

Если язык допускает и строчные комментарии, и блочные комментарии, команды программистов могут принять решение об их использовании по-другому: например, строковые комментарии только для второстепенных комментариев и блочные комментарии для описания абстракций более высокого уровня.

Теги

Программисты могут использовать неформальные теги в комментариях, чтобы помочь в индексировании распространенных проблем. Затем их можно будет найти с помощью обычных инструментов программирования, таких как Unix grep или даже с выделенным синтаксисом. Иногда их называют «кодовыми метками» или «токенами».

Такие теги сильно различаются, но могут включать:

  • ОШИБКА - известная ошибка, которую необходимо исправить.
  • FIXME - необходимо исправить.
  • HACK - обходной путь.
  • TODO - что-то, что нужно сделать.
  • UNDONE - разворот или "откат" предыдущий код.
  • XXX - предупреждать других программистов о проблемном или вводящем в заблуждение коде
Примеры

Сравнение

Типографские обозначения при указании комментариев сильно различаются. Кроме того, отдельные языки программирования иногда предоставляют уникальные варианты. Подробный обзор см. В статье Сравнение языков программирования.

Ada

В языке программирования Ada для обозначения комментария до конца строки используется знак «-».

Например:

- задача авиадиспетчера принимает запросы на взлет и посадку. Тип задачи. Контроллер (My_Runway: Runway_Access) is - записи задачи для записи синхронной передачи сообщений Request_Takeoff (ID: in Airplane_ID; Взлет: вне взлетно-посадочной полосы); запись Request_Approach (ID: в Airplane_ID; подход: внеRunway_Access); end Controller;

APL

APL использует для обозначения комментариев до конца строки.

Например:

⍝ Теперь сложите числа: c ← a + b ⍝ сложение

В диалектах с («слева») и ( "правые") примитивы, комментарии часто могут быть внутри или отдельными в форме игнорируемых строк:

d ← 2 × c ⊣'where'⊢ c ← a + 'bound'⊢ b

AppleScript

В этом разделе кода AppleScript показаны два стиля, используемых на этом языке.

(* Эта программа отображает приветствие. *) В диалоговом окне приветствия (myGreeting) myGreeting "world!" end greet - Показать приветствие ("Hello")

BASIC

В этом классическом раннем фрагменте кода BASIC используется слово REM ("Remark") используется для добавления комментариев.

10 REM Эта программа BASIC показывает использование операторов PRINT и GOTO. 15 REM Заполняет экран фразой «HELLO» 20 PRINT «HELLO» 30 GOTO 20

В более поздних версиях Microsoft BASICs, включая Quick Basic, Q Basic, Visual Basic, Visual Basic.NET и VB Script ; и в потомках, таких как FreeBASIC и Gambas, любой текст в значении после символа '(апостроф) также рассматривается как комментарий.

Пример в Visual Basic.NET:

Открытый класс Form1 Private Sub Button1_Click (отправитель как объект, e как EventArgs) обрабатывает Button1.Click 'Следующий код выполняется, когда пользователь' нажимает кнопку в окно программы. rem комментарии все еще существуют. MessageBox.Show ("Hello, World") 'всплывающее окно с приветствием End Sub End Class

C

Показать фрагмент кода C демонстрирует использование комментариев пролога или "блочного комментария" для описать цель условного оператора . Комментарий объясняет ключевые термины и концепции включает короткую подпись программиста, создаваемого код.

/ * * Проверяем, не превысили максимальное количество процессов, но обязательно * исключите root. Это необходимо для того, чтобы установить ограничение на количество процессов для каждого пользователя ниже *, чем количество запущенных процессов root. - Rik * / if (atomic_read (p->user->cesses)>= p->rlim [RLIMIT_NPROC].rlim_cur ! Enable (CAP_SYS_ADMIN) ! Enabled (CAP_SYS_RESOURCE)) goto bad_fork_free;

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

Конфигурация Cisco IOS и IOS-XE

восклицательный знак (!) может быть для пометки комментариев в режиме конфигурации маршрутизатора Cisco, однако такие комментарии не сохраняются в энергонезависимая память (которая содержит конфигурацию запуска), а также они не содержат инструкций "show run".

Можно вставить человеко-читаемый содержимое, которое фактически является частью конфигурации и может быть сохранено в конфигурации запуска NVRAM с помощью:

  • команды "description", используемой для добавления описания конфигурации конфигурации или BGP neighbor
  • Параметр «имя», чтобы добавить описание к статическому
  • Команда «замечание» в списках доступа
! Вставьте текст ниже, чтобы перенаправить вручную config t int gi0 / 2 no shut ip route 0.0.0.0 0.0.0.0 gi0 / 2 name ISP2 no ip route 0.0.0.0 0.0.0.0 gi0 / 1 name ISP1 int gi0 / 1 shut exit

ColdFusion

ColdFusion использует комментарии, подобные HTML-комментарии, но вместо двух тире используется три. Эти комментарии перехватываются механизмом ColdFusion и не выводятся в браузер.

Hello World 

Fortran IV

Этот фрагмент кода Fortran IV демонстрирует, как используются в этом языке, который очень ориентирован на столбцы. Буква «C» в столбце 1 означает, что вся рассматриваемая как комментарий.

CC Строки, начинающиеся с 'C' (в первом столбце или столбце комментариев), являются комментариями C WRITE (6,610) 610 FORMAT (12H HELLO WORLD) END

Обратите внимание, что столбцы строки в остальном обрабатываемых как четыре поля : от 1 до 5 - это поле метки, 6 заставляет восприниматься как продолжение предыдущего оператора; а объявления и операторы идут от 7 до 72.

Fortran 90

Этот фрагмент кода Fortran демонстрирует, как используются комментарии на языке, причем сами комментарии описывают основные правила форматирования.

! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *! * Все символы после восклицательного знака в виде комментариев *! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * программа comment_test print '(A)', 'Привет мир'! В Fortran 90 появилась возможность встроенных комментариев. end program

Haskell

Строковые комментарии в Haskell начинаются с '-' (два дефиса) до конца строки, а несколько строковых комментариев начинаются с '{-' и заканчиваются '-}'.

{- это комментарий к другим строкам -} - и это комментарий к одной строке putStrLn "Wikipedia" - это еще один комментарий

Haskell также использует метод грамотного программирования комментариев, известных как "Bird Style ". Здесь все строки, начинающиеся с>интерпретируются как код, все остальное комментарийрием. Еще одно дополнительное требование - всегда оставлять пустую строку до и после блока:

В стиле Bird.>fact :: Integer ->Integer>fact 0 = 1>fact (n + 1) = (n + 1) * fact n И вы также должны оставить пустую строку после кода.

Грамотное программирование можно выполнить на Haskell, используя LaTeX. Среда кода может быть приведена вместо стиля Ричарда Берда: в стиле LaTeX это эквивалентно приведенному выше примеру, среда может быть определена в преамбуле LaTeX. Вот простое определение:

\ usepackage {verbatim} \ newenvironment {code} {\ verbatim} {\ endverbatim}

позже в

% исходном файле LaTeX \ verb | факт п | вызов функции вычисляет $ n! $, если $ n \ ge 0 $, вот определение: \\ \ begin {code} fact :: Integer ->Целочисленный факт 0 = 1 факт (n + 1) = (n + 1) * факт n \ end {code } Здесь дополнительное объяснение с использованием разметки \ LaTeX {}

Java

Этот фрагмент кода Java показывает комментарий блока, использованный для описания setToolTipTextметод. Форматирование соответствует стандартам Sun Microsystems Javadoc. Комментарий для чтения процессором Javadoc предназначен.

/ ** * Это блочный комментарий в Java. * SetToolTipText регистрирует текст для отображения во всплывающей подсказке. * Текст отображается, когда курсор задерживается над компонентом. * * @param text Строка для отображения. Если 'text' имеет значение NULL, * подсказка для этого компонента отключена. * / public void setToolTipText (String text) {// Это встроенный комментарий в Java. ЗАДАЧА: Напишите код для этого метода. }

JavaScript

JavaScript использует // для предшествующих комментариев и / * * / для многострочных комментариев.

// Однострочный комментарий JavaScript var iNum = 100; var iTwo = 2; // Комментарий в конце строки / * многострочный комментарий JavaScript * /

Lua

На языке программирования Lua используются двойные дефисы, -, для однострочных комментариев аналогично Ada, Eiffel, Haskell, SQL и VHDL языков. Lua также имеет блочные комментарии, которые начинаются с - [[и продолжаются до закрытия ]]

. Например:

- [[Многострочный длинный комментарий]] print (20) - - распечатать результат

Обычный способ закомментировать фрагмент кода - заключить код между - [[и -]], как показано ниже:

- [[print (10) -]] - никаких действий (закомментировано)

В этом случае можно повторно активировать код, добавив один дефис в первую строку:

- - [ [print (10) -]] ->10

В первом примере - [в первой строке начинает длинный комментарий, а два дефиса в последней строке все еще находится внутри этого комментария. Во второй последовательности последовательностей --- [запускает обычный однострочный комментарий, так что первая и последняя строка статьями комментариями. В этом случае printнаходится вне комментариев. В этом случае последняя строка становится независимым комментарием, поскольку она начинается с --.

. Длинные комментарии в Lua могут быть более сложными, чем эти, как вы можете прочитать в разделе «Длинные строки» c.f. Программирование на Lua.

MATLAB

На языке программирования MATLAB символ '%' указывает однострочный комментарий. Многострочные комментарии также доступны через скобки% {и%} и могут быть вложенными, например

% Это производные для каждого члена d = [0-1 0]; % {% {(Пример вложенного комментария, отступ для косметики (и игнорируется).)%} Формируем последовательность, следуя формуле Тейлора. Обратите внимание, что мы работаем с вектором. %} seq = d. * (х - с). ^ n./(factorial(n))% Мы складываем, чтобы получить приближение Тейлора приблизительно = sum (seq)

OCaml

OCaml использует вложенные комментарии, что полезно при комментировании блока кода.

codeLine (* уровень комментариев 1 (* уровень комментариев 2 *) *)

Pascal

В семействе языков Niklaus Wirth pascal (включая Modula-2 и Оберон ), комментарии открываются знаком '(*' и завершаются '*)'.

например:

(* тестовые диагонали *) columnDifference: = testColumn - столбец; if (row + columnDifference = testRow) или.......

В современных диалектах Паскаля вместо них используются '{' и '}'.

Perl

Строка комментариев в Perl и многих других языках сценариев начинаются с символов решетки (#).

# Простой пример # my $ s = "Википедия"; # Устанавливает для альтернативного значения "Википедия". напечатать $ s. "\ п"; # Добавить символ новой строки после печати

Вместо обычной конструкции блочного комментирования Perl использует Обычная старая документация, язык разметки для грамотного программирования, например:

= item Pod :: List -E new () Создать новый объект списка. Свойства могут быть указаны через хеш-ссылку следующим образом: my $ list = Pod :: List->new ({-start =>$., -Indent =>4}); См. Подробности об отдельных методах / свойствах. = вырезать суб новый {мой $ this = shift; мой $ class = ref ($ this) || $ this; мой% params = @_; мой $ self = {% params}; благослови $ self, $ class; $ self->initialize (); return $ self; }

Raku

Raku (ранее называвшийся Perl 6) использует те же строковые комментарии и комментарии документации POD, что и обычный Perl (см. Раздел Perl выше), но внимание настроива тип комментарий блока: "многострочные / встроенные комментарии".

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

# `{{" комментируем "эту версию toggle-case (Str: D $ s) Переключаем регистр каждого символа в строке: my Str $ toggled-string = toggle-case (" МОЕ ИМЯ - МИХАЭЛ! "); }} sub toggle-case (Str: D $ s) # `(сейчас используется эта версия скобок) {...}

PHP

Комментарии в PHP могут быть либо в стиле C ++ (как встроенный, так и блочный), либо использовать хеши. PHPDoc - это стиль, адаптированный из Javadoc, и это общий стандарт для документирования кода PHP.

PowerShell

Комментарии в Windows PowerShell

# Однострочный комментарий Write-Host "Hello, World!" <# Multi Line Comment #>Write-Host "Прощай, мир!"

Python

Встроенные комментарии в Python используют символ решетки (#), как в двух примерах в этом коде:

# Эта программа печатает "Hello World" в screen print ( "Hello World!") # Обратите внимание на новый синтаксис

Блочные комментарии, как определено в этой статье, технически не существуют в Python. Можно использовать простой строковый литерал , представленный строкой в ​​тройных кавычках, но он не игнорируется интерпретатором так же, как комментарий "#". В приведенных ниже примерах строк с тройными двойными кавычками таким как комментарии, но также рассматриваются как строки документации :

"" Предполагаемая, что это файл mymodule.py, тогда эта строка является первым оператором в файле, будет стать строкой документации модуля mymodule при импорте файла. "" "class MyClass (object):" "" Строка документации класса "" "def my_method (self):" "" Строка документации метода "" "def my_function () : "" "Строка документации функции" ""

Ruby

Комментарии в Ruby.

Однострочный комментарий: (строка начинается с решетки "#")

ставит "Это не комментарий "# это комментарий помещает" Это не комментарий "

Многострочный комментарий: (комментарии помещаются между ключевыми словами" начало "и" конец ")

помещает" Это не комментарий "= начало все, что идет в этих строках, предназначено только для человека-читателя = end помещает «Это не комментарий»

SQL

Стандартные комментарии в SQL имеют однострочную форму с двумя дефисами:

- Это сингл комментарий строки - за которым следует вторая строка SELECT COUNT (*) FROM Authors WHERE Authors.name = 'Smith'; - Примечание: нам нужен только «смит» - этот комментарий появляется после кода SQL

. В качестве альтернативы, Transact поддерживает синтаксис формата комментария, идентичный стилю «блочного комментария», используемому в синтаксисе для C и Java. -SQL, MySQL, SQLite, PostgreSQL и Oracle.

MySQL также поддерживает комментарии от символа решетки (#) до конец строки.

Swift

Однострочные комментарии начинаются с двух косых черт (//):

// Это комментарий.

Многострочные комментарии начинаются с косой черты, за которой следует звездочка (/ *), и заканчиваются звездочкой, за которой следует косая черта (* /):

/ * Это также комментарий, но он записывается поверх нескольких линий. * /

Многострочные комментарии в Swift могут быть вложены в другие многострочные комментарии. Вы пишете вложенные комментарии, начиная с многострочного блока комментариев, а затем начиная второй многострочный комментарий внутри первого блока. В затем закрывается второй блок, за ним следует первый блок:

/ * Это начало первого многострочного комментария. / * Это второй вложенный многострочный комментарий. * / Это конец первого многострочного комментария. * /

XML

Комментарии в XML (или HTML) вводятся с помощью

,

Проблемы безопасности

В интерпретируемых языках комментарии доступны для просмотра конечному пользователю программы. В некоторых случаях, например, если элементы кода «закомментированы», это может быть уязвимость системы безопасности .

См. Также
Примечания и ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-05-15 06:51:54
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте