Pull to refresh
-4
0
AmdY @AmdY

Веб разработчик

Send message
В этом и беда, что в одном месте. Например, переносы строк для вывода в теге «p» проходят через «nl2br», а вот при выводе в форме нужно использовать «htmlspecialchars», но никак не «nl2br».

Подобную логику нельзя сунуть в модели, можно делать отдельный сервис в стиле декоратора вроде view presenter или data transformer
http://php.net/manual/ru/migration70.deprecated.php
http://php.net/manual/ru/errorfunc.constants.php E_DEPRECATED
Дасточно просто включить правильный уровен ошибок и все устаревающие методы вы уберёте задолго до выхода следущей стабильной версии. Ну а вещи вроде $$foo['bar']['baz'] — это гавнокод, которого не должно быть в нормальных проектах.
Нужно было начинать список с главной проблемы
№ 0 — маркетинг.
Первая игрушка очень симпатичная, дети играют в похожие с графикой даже похуже, и сроки нормальные на разработку, но не смогли нагнать покупателей. В итоге пошли неправильные выводы и смены концепций, да и бюджет видимо неслабо вырос.
Флэшик, выздоравливай. Как ютубик перешёл на хтмлчик пятый, так житься нет, то проблемы с разворачиванием в полный экран, то аудио сжирает 100 процентов проца.
Последнее время даже на 15' ноутбуке разрабатывать не могу, скорость разработки падает в два-три раза в сравнении с обычным рабочим местом (замерял). Код на скриншотах как бы намекает на причину такой острой нужды.
А почему ревью не делаете прямо на битбакете в пулл реквесте?
И про сумму расскажите, а то стек хороший, но денег просит при том, что есть аналоги схожей функциональности, тот же гитлаб имеет и вики, и битбакет заменит, и трекер, и код ревью проводить можно.
Мы последних пять лет даже без «старшого» обходимся. Все кодеры равны, сложные решения принимаются сообща. От этого много профита в сравнении с выделением тимлидов, техлидов, архитекторов…
Чтобы не дублировать http://habrahabr.ru/post/270075/?reply_to=8641825#comment_8641835
По поводу первого кейса я писал
>>Нельзя делать глобальных классов.
БЭМ же тоже от такого не спасает, определит что-то стили для «div» и полчишь глобальные проблемы. Точно так же не спасет от каскадности, если есть правило для block, оно проникнет и в вложенные block__element.
Проблему вложенности решается через более стогие правила css вроде
.block > element {}
плюс можно использовать того же less и заинклудить в .block. element правила .other-block, тогда за счёт более весомых селекторов будут применяться нужные, плюс в качестве бонуса получим возможность стилизовать вложенные блоки.

Используешь ты БЭМ или нет, каскадность CSS у тебя остаётся и проблемы с ней те же.
Бум. Что-то мы друг друга не понимаем. Я как раз и говорю, что достаточно использовать вложенность стилей и они будут разнесены по нейспейсам, не пересекаясь. Нельзя делать глобальных классов. А вот
".block .element {}" и ".other-block .element {}" хотя и имеют совпадающий класс element, но они разные и стили не пересекаются. В тоже время, если их оформление совпадает, то можно использовать миксины, например
.block {
     .element { color: red; }
}
.other-block {
    .element {
         color: blue;
         // если хотим миксин - .block .element;    
     }
}

а в коде
    <div class="block">
        <div class="element">Красный цвет</div>
    </div>
    <div class="other-block">
        <div class="element">Синий цвет</div>
    </div>

а в случае BEM было бы что-то вроде block__element--color-red и block__element--color-blue, и в случае если нам подадобится поменять цвет, нужно править и стили и шаблоны.
Просто удивительно, как мнеджеры любят изобретать велосипеды, читать модные книжки по управлению проектами, ходить на треннинги, получать сертификаты, обязательно певать в сторону водопадной модели, но при этом умудряются так и не прочитать десять страничек о ройсовских водопадах.
С чего это будет матчится button?
если одна кнопка
.my-mega-widget .button {}
а вторая совсем в другом неймспейсе
.my-another-mega-widget .button {}
<style>
.mega-widget .button { color: red;}
.my-another-mega-widget .button { border: solid 1px red;}
</style>
<div class="mega-widget"><button class="button">mega-widget</button></div>
<div class="my-another-mega-widget"><button class="button">my-another-mega-widget</button></div>


При этом используя less можно сделать миксин, чтобы не было дублирования или добавить возможность наследования и расширения.
.block .element ничем не уступает block__element, а как вложенность растёт так и БЭМ преврашается в ужос. Чтобы прописывать это в шаблоны нужен ещё один предпроцессор или плагин как вы приводили для ангуляра. Чтобы эти классы запомнить и раставить нужны жирные мануалы. Плюс зачем-то выпячиваю наружу вроде детали оформления btn__color--grey. Никто не мешает без БЭМ договориться о правилах именования. Нормальный верстальщик затем практически любое оформление сделает не лазя в шаблоны, а только используя css+less.

БЭМ же не единственная методология, вроде мода с появлением препроцессоров на них прошла, а здесь яндекс выкатил свою погремушку с тяжёлым наслением от любви к xslt шаблонам. И школота потянулась на громкое имя, лепят свой БЭМ, а в реальности ляпают инлайн стили когда английские слова заканчиваются.
Отличные примеры, хочешь показать что такое плохой БЭМ, покажи их.

первый вовсе надстройка над bootstrap с его глобальными b-btn b-btn_green b-btn_block, ну и масса прочей лапши
второй получше, но це ужос footer-nav-list__foo dropdown__menu__item
два последних проекта вовсе напичканы инлайн стилями.
Да, пожалуй я погорячился, без предпроцессоров css совсем плох на больших задачах. Но Бэм так же задачу не решает, он тащит за собой аналогичый инструментарий.
Добавляются новые эффекты и новые типы селектов, идея остаётся той же как и обратная совместимость. Именно гибкость селектов направлена на богатый UI, а БЭМ от него отказывается в сторону точных классов на конкретный элемент, это его очередной минус. Яндекс всё же не контора про красивые и динамичные UI.
Почему современные? CSS сто лет назад придумали умные люди и сделали его с большим запасом прочности. Создание модулей-компонентов уже заложено в CSS, а БЭМ это тоже но со своими костылями и ограничениями, этакий антивирус бабушкина.
И меня удивляет их агрессивное навязывание этой технологии, которая очень неудобная, требует своего инструментария и противоречит тому, чему ещё недавно учил яндекс — семантической разметке.
У меня от БЭМ сильное чувство, что ребята как-то недопоняли CSS, не осилели LESS и в итоге налепили велосипедов. Но вот удивляет, что тепреь набравшись опыта и знаний они вместо того чтобы забросить велосипед, они активно его продвигают сравнивая с говновёрсткой с глобальными классами и оправдывая некой скоростью, которая даже во времена ie 5.5 уже была неактуальна.
Так он проблем не решает, а только добавляет, по функционалу это обычный finder, который ищет файлы по пулу путей. А проблемы ресурсов он никак не решает, только создаст лишнюю прослойку.
Это антипаттерн — павлик морозов. Управление ресурсами — задача самих пакетов, они должны публиковать ресурсы через api фреймворка, а не сторонний пакет который лазит в чужие внутренности.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity