2014-01-29 6 views
2

В моем опыте обычно видны пробелы, помещенные внутри фигурных скобок для определения одной строки, например. эта функция в JavaScript:Почему программисты помещают пробелы внутри фигурных скобок?

function(a, b) { return a * b; } 

Есть ли какая-либо техническая/историческую причина того, что большинство программистов, кажется, делают это, особенно с учетом того, что пробела не включены в скобках?

+3

Это улучшает читаемость ... –

+1

Конечно, это серьезный вопрос! Очевидно, что люди намерены помещать пробелы внутри {}, но не() или []. Так в чем их мотивация? –

+0

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

ответ

0

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

В качестве примера рассмотрим это утверждение: *a = *b + *c;. Подумайте, как это будет выглядеть без пробелов.

1

Помимо читаемости, на некоторых языках, таких как Verilog, идентификаторы могут быть экранированы (по \ в начале), так что они используют специальные символы в своих именах. Например, следующие имена имена идентификаторов в Verilog:

  • д
  • \ д ~ // экранирование, которая использует ~ во имени
  • \ элемент [32] // одну переменных (не является частью массива), чье имя \ элемент [32]

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

{д, \ д ~ } // Объединение d и \ q ~ в векторе {d, \ q ~} // Объединение d и \ q ~} в векторе. Генерирует отсутствующую ошибку скобки.

+1

Интересный случай. Но, предполагая, что это влияет на() и [] тоже, это не объясняет, почему {} обрабатывается специально. –

+0

Да, мне кажется, что я лично предпочитаю. – Ari

+0

Неужели эта странная практика помещения пространства стала широко распространенной после появления Verilog? – sawa

Смежные вопросы