stringtranslate.com

Вторичные обозначения

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

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

В разных контекстах

Вторичная нотация аннотирует формальную нотацию в ряде контекстов, которые можно разбить на две основные области: текст и графика.

Текстовый контекст

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

Текстовая вторичная нотация в исходном коде компьютера

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

int main(){while(true){printf("I'm stuck in an infinite loop!");}}

Ниже приведен тот же код, но с отступами и подсветкой синтаксиса . В результате формальная запись C становится более удобной для чтения:

int main () { while ( true ) { printf ( "Я застрял в бесконечном цикле!" ); } }      

Текстовая вторичная нотация в типографике

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

 1. Замороженные продукты Allison's - Замороженный тунец - Куриные котлеты - Рыбные палочки - 2 фунта гамбургеров 2. Бакалея Sarah's - 3 коробки хлопьев - 2 коробки фруктового сока - 2 дюжины яиц 3. Формальная одежда Jim's - 2 рубашки - 1 оранжевый галстук                      

Графический контекст

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

Схемы

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

Графическое представление, которое было хорошо изучено и может быть сильно затронуто вторичной нотацией, — это блок-схема и особенно drakon-charts . Исследования показали, что существует ряд факторов компоновки, не включенных в формальную нотацию, которые влияют на простоту понимания блок-схемы:

  1. Минимизируйте пересечения дуг: количество пересечений линий должно быть сведено к минимуму, чтобы облегчить отслеживаемость. В drakon-charts все пересечения дуг (линий) запрещены.
  2. Минимизируйте изгибы линий: дополнительные изгибы добавляют визуальной сложности модели. В drakon-charts все изгибы линий минимизированы.
  3. Используйте симметрию: располагайте элементы симметрично, когда это возможно.
  4. Выровняйте метки по горизонтали: текстовые метки легче читать, если они выровнены по горизонтали.
  5. Использование локальности: группируйте связанные элементы вместе, чтобы их было легче узнавать.

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

Неправильное использование

Хотя неадекватное использование вторичной нотации может значительно увеличить объем усилий, необходимых для понимания модели, неправильное использование вторичной нотации также может быть вредным. Использование симметрии может сделать графику более визуально привлекательной, но также может передавать неправильные представления, если используется неправильно. Например, размещение не связанных между собой элементов близко друг к другу может заставить читателя воспринимать их как связанные. Кроме того, произвольное использование цвета может отвлекать читателя, поскольку он задается вопросом о значении различных цветов.

Эксперты против новичков

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

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

Как часть формальной нотации

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

Например, язык программирования Python требует, чтобы исходный код следовал строгим правилам отступов. Это призвано улучшить читаемость кода, гарантируя, что операторы, находящиеся на одном уровне вложенности внутри блока, будут выровнены по одному столбцу. Однако другие типы вторичной нотации не являются частью формальной нотации. [1] Например, при переносе длинных строк каждая строка, которая является продолжением предыдущей строки, может иметь произвольный отступ. [2]

если  x  ==  1 :  print ( "x равно 1" )  print ( "x нечетно" ) print ( "Это всегда печатается" )  # это недопустимо  print ( "Hello world" ) str  =  "" . join (  "Эти слова имеют отступ" ,  "для лучшей читаемости" )

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

#Заголовок 1# #Исходный код Markdown с отступом, который будет отображаться как исходный код# 

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

Примечания

  1. ^ "Python: Мифы об отступах". www.secnetix.de . Получено 22.05.2017 .
  2. ^ "PEP 8 — Руководство по стилю кода Python". www.python.org . Получено 22.05.2017 .
  3. ^ Грубер, Джон (2015-04-19). "Синтаксис Markdown". Daring Fireball . Получено 2015-04-19 .

Ссылки