front-end-best-practices icon indicating copy to clipboard operation
front-end-best-practices copied to clipboard

Регламентировать 'кавычки' в PUG файлах

Open Ilanevazno opened this issue 5 years ago • 8 comments

На данный момент имеется несколько разногласных issues для нескольких людей, где в одном issue указано, что все кавычки в pug файлах необходимо заменить на двойные, а в issue другого человека, другой ревьювер написал о необходимости использовать двойные кавычки в pug HTML атрибутах, а в местах где используется js код - одинарные. Нужно регламентировать данный момент в best practices, во избежание спорных моментов, и желательно использовать второй вариант, где:

- const anyWord = "word";               // Плохо, т.к это уже js код, хоть и внутри PUG файла, 
                                        // у него должны быть одинарные кавычки
button(type="button")= anyWord          // type="button" - HTML атрибут, 
                                        // он должен быть в двойных кавычках
- const anyWord = 'word';               // Хорошо
button(type="button")= anyWord         

Ilanevazno avatar Jun 05 '20 12:06 Ilanevazno

Может нам тут не упоминать вообще про Pug, а сказать, что если кусок на одном языке встроен в другой, то для каждого остаются свои правила и стандарты? То есть если JS внутри HTML, то там все равно остаются стандарты для JS-а и пример можно про инлайновый код для click у кнопки прямо в html-теге, например. И подписать отдельно, что это распространяется на все подобные моменты, в том числе на JS в Pug, CSS в HTML и тд

Znack avatar Jun 06 '20 05:06 Znack

Может нам тут не упоминать вообще про Pug, а сказать, что если кусок на одном языке встроен в другой, то для каждого остаются свои правила и стандарты? То есть если JS внутри HTML, то там все равно остаются стандарты для JS-а и пример можно про инлайновый код для click у кнопки прямо в html-теге, например. И подписать отдельно, что это распространяется на все подобные моменты, в том числе на JS в Pug, CSS в HTML и тд

Согласен. Это предложение было бы наиболее корректным.)

Ilanevazno avatar Jun 06 '20 14:06 Ilanevazno

@Znack,

Может нам тут не упоминать вообще про Pug, а сказать, что если кусок на одном языке встроен в другой, то для каждого остаются свои правила и стандарты? То есть если JS внутри HTML, то там все равно остаются стандарты для JS-а и пример можно про инлайновый код для click у кнопки прямо в html-теге, например. И подписать отдельно, что это распространяется на все подобные моменты, в том числе на JS в Pug, CSS в HTML и тд

Под js кодом в pug что ты подразумеваешь ?

  • (явный js) в теге script или инлайн обработчике событий;
  • код следующий после символа дефис -;
  • просто логический код который не имеется в HTML. К примеру дефолтные параметры в pug миксинах или выражение в атрибуте class=isEnable && 'className';

На текущий момент я придерживался варианта когда во всех трех случаях ставил одинарные кавычки, только для установки литерального значения в атрибут использовал двойные кавычки class="className" получалось как в AirBnb React.

AkhmadBabaev avatar Dec 05 '20 15:12 AkhmadBabaev

Ну первые два точно, третий уже под сомнением, но объяснить его не могу, поэтому тут не топлю ни за что :) Давайте вместе решим, как удобней просто

Znack avatar Dec 06 '20 06:12 Znack

Все в pug по сути является js кодом, и неважно какие мы кавычки поставим он скомпилируется в HTML с двойными кавычками, поэтому чтобы не создавать путаницы в виде того что в одном месте нужно ставить одинарные в другом уже двойные, может везде в pug использовать одинарные?

osyka-yuri avatar Dec 08 '20 08:12 osyka-yuri

Может нам тут не упоминать вообще про Pug, а сказать, что если кусок на одном языке встроен в другой, то для каждого остаются свои правила и стандарты? То есть если JS внутри HTML, то там все равно остаются стандарты для JS-а и пример можно про инлайновый код для click у кнопки прямо в html-теге, например. И подписать отдельно, что это распространяется на все подобные моменты, в том числе на JS в Pug, CSS в HTML и тд

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

alagunoff avatar Dec 08 '20 08:12 alagunoff

Я думаю, стоит использовать двойные только для html-атрибутов, в остальном случае одинарные.

sodiqit avatar Dec 08 '20 11:12 sodiqit

Тогда можем создавать PR :)

Znack avatar Dec 09 '20 17:12 Znack