На мой взгляд Grawl не с того конца заходит.
Используя autoprefixer для css, polyfiller для js и другие подобные инструменты, нивелирующие разницу между средой исполнения помогают сосредоточиться на непосредственно коде. Во всех препроцессорах, кроме stylus вы должны не забыть использовать миксин, вместо самого свойства. Хотя на мой взгляд стилус еще хуже — свойство только появилось, миксин не добавлен, или библиотека устарела, а вы даже об этом не подозреваете.
Используя же подход с пост-обработкой вы можете на любом препроцессоре, или без него, писать код вообще не задумываясь об этом.
Ну а по поводу оптимизации — понятно, что статика в gzip, зная как работает математическое сжатие очевидно, что все префиксы очень хорошо пожмутся и практически не будут влиять на размер, отсюда можно автопрефиксер «попросить» вообще 5-летние браузеры поддерживать.
Скажите, вы из тех людей, кто для конструктора в классе пишет комментарий «Constructor.»?
Если секция называется «ANOTHER-SECTION», почему бы файл не назвать another-section.css и не городить капитанства?
Ровно как и структура файлов — она очевидна как только ее видишь, если код разбит на, как вы называете, секции. github.com/twbs/bootstrap/tree/master/less — над проектом почти 600 контрибьюторов трудились, никакого оглавления там нет.
А можно конкретные причины невозможности использовать разбиение на файлы? Я представляю себе только демку в jsfiddle, или аналогах.
По поводу префиксов — по моему вообще надо о них забыть и не использовать ни в каких примерах.
если код не минифицируется, то он будет весить меньше, по сравнению с пробелами.
O RLY?
У меня с приятелем был такой холивар как-то, закончилось тем, что он побежал в phpstorm менять \r\n на \n, тк ничего лучше аргумента о весе исходника он не нашел.
Единственный аргумент в пользу табов — размер отступов. Но на него есть отличный контр-аргумент — то что у Васи на 80 символов, у Пети — на 120.
Пробелы же дают возможность выравнивать код ровно так, как будет удобно его читать, и код будет читаться в любом редакторе одинаково. А норм редакторы, как вы выше заметили позволяют по пробелам перемещаться также легко, как по табам.
В том же coffee надо хорошо понимать, во что будет скомпилирован код. Если код вашего же примера обернуть в функцию, мы получим неявный return коллекции.
На сколько я знаю есть пара проблем с этой фичей. Для начала совершенно тупой (на мой субъективный взгляд) парсер, который создавался для SQL кода, а никак не сложных вложенных и даже рекурсивных конструкций, требующихся для языка (привет elseif, list). Эту проблему я пробовал решить хаком, позволив переменным начинаться с & и резолвить это в php. Но уперся в другую проблему — я не знаком с ядром PHP на столько хорошо, если кто-то подскажет, как правильно внутри Си передать переменную по ссылке, я доделаю эту фичу)
замыкания
А зачем это нужно вообще, кроме цельности языка? Вы можете написать функцию и передать ее, как [this, 'funcName']. Я не думаю, что в ядре есть поддержка замыканий, поэтому зефир ее вряд ли как-то реализует, кроме как подобных хаков.
Спасибо за перевод, но на мой взгляд все абсолютно понятно только по одному коду, даже если программист совсем не знает английский язык.
Лучшим решением было бы не переводить такие простые вещи, а собирать дайджесты по Swift, на мой взгляд.
Используя autoprefixer для css, polyfiller для js и другие подобные инструменты, нивелирующие разницу между средой исполнения помогают сосредоточиться на непосредственно коде. Во всех препроцессорах, кроме stylus вы должны не забыть использовать миксин, вместо самого свойства. Хотя на мой взгляд стилус еще хуже — свойство только появилось, миксин не добавлен, или библиотека устарела, а вы даже об этом не подозреваете.
Используя же подход с пост-обработкой вы можете на любом препроцессоре, или без него, писать код вообще не задумываясь об этом.
Ну а по поводу оптимизации — понятно, что статика в gzip, зная как работает математическое сжатие очевидно, что все префиксы очень хорошо пожмутся и практически не будут влиять на размер, отсюда можно автопрефиксер «попросить» вообще 5-летние браузеры поддерживать.
Если секция называется «ANOTHER-SECTION», почему бы файл не назвать another-section.css и не городить капитанства?
Ровно как и структура файлов — она очевидна как только ее видишь, если код разбит на, как вы называете, секции. github.com/twbs/bootstrap/tree/master/less — над проектом почти 600 контрибьюторов трудились, никакого оглавления там нет.
А можно конкретные причины невозможности использовать разбиение на файлы? Я представляю себе только демку в jsfiddle, или аналогах.
По поводу префиксов — по моему вообще надо о них забыть и не использовать ни в каких примерах.
O RLY?
У меня с приятелем был такой холивар как-то, закончилось тем, что он побежал в phpstorm менять \r\n на \n, тк ничего лучше аргумента о весе исходника он не нашел.
Единственный аргумент в пользу табов — размер отступов. Но на него есть отличный контр-аргумент — то что у Васи на 80 символов, у Пети — на 120.
Пробелы же дают возможность выравнивать код ровно так, как будет удобно его читать, и код будет читаться в любом редакторе одинаково. А норм редакторы, как вы выше заметили позволяют по пробелам перемещаться также легко, как по табам.
Зачем? Современные IDE имеют отличный поиск, переход к селектору прямо из html, плагины позволяют прямо из браузера это делать.
Секции — в отдельные файлы.
Такое вообще выкинуть из своего кода вместе с миксинами для префиксов, подрубить autoprefixer и перестать об этом задумываться.
Ну и конечно стоит упомянуть о hub
Также хорошо бы куку сессии сделать http-only и подрубить https.
На сколько я знаю есть пара проблем с этой фичей. Для начала совершенно тупой (на мой субъективный взгляд) парсер, который создавался для SQL кода, а никак не сложных вложенных и даже рекурсивных конструкций, требующихся для языка (привет elseif, list). Эту проблему я пробовал решить хаком, позволив переменным начинаться с & и резолвить это в php. Но уперся в другую проблему — я не знаком с ядром PHP на столько хорошо, если кто-то подскажет, как правильно внутри Си передать переменную по ссылке, я доделаю эту фичу)
А зачем это нужно вообще, кроме цельности языка? Вы можете написать функцию и передать ее, как [this, 'funcName']. Я не думаю, что в ядре есть поддержка замыканий, поэтому зефир ее вряд ли как-то реализует, кроме как подобных хаков.
2anticafe.ru/ — все ок)
Лучшим решением было бы не переводить такие простые вещи, а собирать дайджесты по Swift, на мой взгляд.
А хотя постойте… Boost из C++ как раз подходит на эту роль.