bem / bh

BH template engine
http://bem.github.io/bh/
MIT License
68 stars 31 forks source link

trim cls when proccess it into html #143

Closed sladex closed 9 years ago

coveralls commented 9 years ago

Coverage Status

Coverage remained the same at 100.0% when pulling b58a4126b6638d84b5dab7b349a222761c493f20 on sladex:cls-trim into ee446ea5801a60cc4e2fc8e3622cd1bfaf0f729a on bem:master.

mishanga commented 9 years ago

@sladex Думаешь, нужно?

sladex commented 9 years ago

Если напрямую задавать класс, то написать лишний пробел сложно: ctx.cls('btn');. Ошибиться можно, если: класс приезжает с данными из вне, класс получается из какого-либо выражения (склейка строк, регулярка, ...). По-моему шаблонизатор вправе делать такие преобразования и это хорошо, если он следит за красивым выводом.

mishanga commented 9 years ago

Я смотрю на это с точки зрения производительности. Во-первых, пример довольно синтетический. Во-вторых, лишние пробелы ничего не поломают. Перфекционизм — это прекрасно, но в данном случае он приводит к увеличению: а) объема кода, б) количества тестов, в) времени шаблонизации. А практической пользы — ноль. Я такие изменения стараюсь не вносить.

sladex commented 9 years ago

Хорошие замечания. Учитывая, что задание дополнительного CSS-класса не должно быть востребованной функцией при работе по BEM-методологии. в) на скорость это изменение либо не повлияет вообще (если json.cls не задан, то и следующий код не выполнится...), либо очень нечзначительно (нативный метод trim очень быстр...), б) по-моему вообще не проблема, а) да, тут нечего противопоставить).

mishanga commented 9 years ago

Viva el perfeccionismo!

qfox commented 9 years ago

@mishanga я тож сомневался по началу :+1: