Есть ли имя для этого шаблона форматирования JSON с начальными запятыми? - PullRequest
0 голосов
/ 22 марта 2019

Я видел действительный JSON, написанный следующим образом:

{ "version": 1
, "object":
  { "one": 1
  , "two": 2
  , "three": 3
  , "four": 4,
  , "five": 5
  }
, "array":
  [ 1
  , 2
  , 3
  ]
, "people":
  [ { "firstname": "Jacob",
    , "lastname": "Ford"
    }
  , { "firstname": "Marcin"
    , "lastname": "Wichary"
    }
  ]
}

Я предполагаю, что основным преимуществом является то, что добавление или удаление одной строки данных будет (за некоторыми исключениями) отличаться 'd как раз то, что: добавление или удаление в одну строку.В отличие от более типичного представления JSON, с запятыми, где добавление элемента в конец массива или объекта требует редактирования строки перед ним, чтобы добавить запятую.

Есть ли имя для этого соглашения о представлении JSON с начальными запятыми и запятыми в одном столбце с открывающими / закрывающими скобками?

1 Ответ

0 голосов
/ 23 марта 2019

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

Руководство по стилю кода npm требует для всех списков, разделенных запятыми. в Airbnb запрещает it.

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

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

// error in standard style
var a = "ape",
  b = "bat",
  c = "cat",
  d = "dog"
  e = "elf",
  f = "fly",
  g = "gnu",
  h = "hat",
  i = "ibu";

// error in comma-first style
var a = "ape"
  , b = "bat"
  , c = "cat"
  , d = "dog"
  e = "elf"
  , f = "fly"
  , g = "gnu"
  , h = "hat"
  , i = "ibu"
  ;
...