codeguide icon indicating copy to clipboard operation
codeguide copied to clipboard

[HTML-гайд] Перенос атрибутов

Open x1unix opened this issue 8 years ago • 6 comments

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

Этот пункт упускают очень многие style-гайды (гугловый в том числе)

Предлагаю добавить пункт о переносе аттрибутов, например:

<div
  id="myComponentItem32"
  class="my-component__item my-component__item--dashed"
  data-ng-click="loadSomething();"
  data-ng-class="{'text-center': isCentered}"
  title="Lorem Ipsum Dolor...."
>
  Lorem Ipsum Dolor Sit....
</div>

Пример выше часто используется в React-комьюнити

x1unix avatar Sep 01 '17 12:09 x1unix

Гугл предлагает ещё такой перенос:

<md-progress-circular md-mode="indeterminate" class="md-accent"
    ng-show="ctrl.loading" md-diameter="35">
</md-progress-circular>

Отступ 4 пробела — сомнителен, но в целом, идея не тратить по целой строке на каждый атрибут выглядит здравой.

installero avatar Jun 01 '18 13:06 installero

@installero, можно ссылку на пункт?

x1unix avatar Jun 03 '18 21:06 x1unix

Так сослался же:

https://google.github.io/styleguide/htmlcssguide.html#HTML_Line-Wrapping

installero avatar Jun 04 '18 12:06 installero

@installero, спасибо, сразу не заметил :)

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

x1unix avatar Jun 04 '18 12:06 x1unix

Почему? Во многих стайл-гайдах допускается использование одного из нескольких вариантов. Например, в стандартном гайде отступ 2 пробела при вложенности в контейнер — опционален.

It is not necessary to indent every element

installero avatar Jun 04 '18 13:06 installero

Тут бы понять "много" это сколько? Поделитесь своими мыслями. Я остановился на цифре 5, но кажется, что и 4 много если атрибуты строковые. Например, src="...." или class="class1 class2 class3"

nikolai-shabalin avatar Dec 26 '20 16:12 nikolai-shabalin