Я продолжаю сталкиваться с использованием этого слова, и я никогда не понимаю его использование или передаваемое значение.
Фразы как...
"добавьте семантику для тех, кто читал"
"Семантика HTML5"
"семантическая паутина"
"семантически правильно путь к..."
... смутите меня, и я только обращаюсь к сети. Является слово просто другим способом сказать "грамматику" или "синтаксис"?
Спасибо!
Семантика - это значение различных элементов программы (или чего-то еще).
Например, давайте посмотрим на этот код:
int width, numberOfChildren;
Обе эти переменные являются целыми числами. С точки зрения компилятора они абсолютно одинаковы.Однако, судя по названиям, один - это ширина чего-то, а другой - количество других вещей.
numberOfChildren = width;
Синтаксически это на 100% нормально, поскольку вы можете присваивать друг другу целые числа. Однако семантически это совершенно неверно, поскольку ширина и количество дочерних элементов (вероятно) не имеют никакого отношения. В этом случае мы бы сказали, что это семантически неверно, даже если компилятор разрешает это.
Это означает «значение», то, что у вас осталось, когда вы уже учли синтаксис и грамматику. Например, в C ++ i ++;
определяется грамматикой как допустимый оператор, но ничего не говорит о том, что он делает. «Приращение i на единицу» - это семантика.
Семантика HTML5 - это то, что правильно сформированное описание HTML5 должно помещать на страницу. «Семантическая сеть» - это, как правило, сеть, в которой ссылки и поиск ведутся по смыслу, а не по словам. Семантически правильный способ сделать что-то - это сделать так, чтобы это значило правильные вещи.
В мире HTML термин «семантика» используется, чтобы говорить о значении тегов, а не просто рассматривать то, как выглядит вывод. Например, иностранные слова обычно выделяются курсивом, а выделенные слова также обычно выделяются курсивом. Вы можете просто заключить все иностранные или подчеркнутые слова в теги ..
, но это описывает только то, как они выглядят, но не объясняет, почему они так выглядят.
Для выделенного слова лучше использовать тег ..
, потому что он передает семантику выделения. Браузер (или ваша таблица стилей) может затем отобразить их курсивом, и другие пользователи страницы будут знать, что слово выделено. Например, программа чтения с экрана могла правильно прочитать его как выделенное слово.
С моей точки зрения, это почти похоже на грамматический взгляд на синтаксис. Я не могу говорить о семантике в широком смысле, но когда люди говорят о семантике в Интернете, они обычно имеют в виду идею о том, что если вы уберете все css, javascript и т. Д.; то, что осталось (голый HTML-код), имело бы смысл прочитать.
Также учитывается использование правильных тегов для правильной разметки.Это происходит из-за старых макетов на основе таблиц (таблицы следует использовать только для табличных данных) и использования списков для представления содержимого в виде списков.
Вы бы не использовали h1 для чего-то менее важного, чем h2. Это не имело бы смысла.
Синтаксис - это структура. Семантика - это значение. Каждый разный контекст придает термину разный оттенок значения.
HTML 5, например, имеет новые теги, которые предназначены для придания значения данным, заключенным в теги. Тег
сообщает, что данные, содержащиеся в нем, косвенно связаны с информацией вокруг себя. Понимаете, это смысл, а не разметка.
Взгляните на этот список новых семантических тегов HTML 5 . Сравните их с более старыми и более знакомыми HTML-тегами, такими как
,
,
,
. . Каждый из них будет влиять на внешний вид содержимого HTML, отображаемого в браузере, но они не могут сказать нам, почему. Они не содержат смысловой информации.
Это не просто терминология компьютерных наук, и если вы спросите
Что означает , стоящий за этим жаргоном компьютерных наук?
, то, боюсь, мы перейдем к рекурсивному цикл точно так же, как этот .