Строго говоря, отсутствие типа — это "самый общий тип из всех возможных". Это тот самый пресловутый mixed.
А вообще да, правильнее всего было бы добавить возможность именно ослабить тип.
"Конечно, давайте отправим SOLID в ад. Кто такая Барбара Лисков??? Какая-то безумная женщина? Конечно! Давайте разрешим ломать принципы и идеи".
Специально пошел перечитал solid, так и не понял как это он вдруг нарушается? Лисков, вообще не писала ничего про ослабление интерфейса. Зато согласно методологии контрактного программирования:
Предусловия не могут быть усилены в подклассе.
Постусловия не могут быть ослаблены в подклассе.
Собственно, первый пункт соблюдался раньше, и теперь соблюдается. Лишь дали возможность ослабить предусловия. Что касается второго пункта, то я думаю, что было бы неплохо дать еще и возможность усиливать постусловия. А пока — страдаем.
Нельзя отделять одно от другого. Равно как и нельзя поставить === между этими понятиями. Эти вещи коррелируют, но не имеют прямой зависимости.
Мне нравится такая формула:
опыт = количество_опыта * качество_опыта
умение = интеллект * талант
навык = опыт * умение
полезность = навык * мотивация
Строго говоря, не так уж самостоятельно. Всё собирается из абсолютно тех же зависимостей (ну или почти тех же), но уже под своим соусом. Само собой, это самое "всё" решает именно наши задачи, без претензий на универсальность.
Ну, Динго — вообще костылище, каких поискать. Количество "хаков" в этом пакете зашкаливает )
Начиная с условного объявления классов, заканчивая подменой маршрутизатора в контейнере. Возможно, что большинство стандартных кейсов он покрывает без проблем, но нам он не подошел.
Нельзя "без особых проблем" заменить службы маршрутизации и событий. Потому как эти базовые провайдеры загружаются на очень раннем этапе, и сам фреймворк очень сильно завязан на свою систему событий. Все остальное действительно подключается/отключается без танцев с бубном.
Выскажу мнение, не как пользователь, но как разработчик.
Работал с различными форумными движками на PHP. Из того, с чем работал, выбор однозначен — XenForo.
Хорошая архитектура, отличное сообщество (англоязычное, по крайней мере — в русском мне как-то не удалось поучаствовать), множество обучающих материалов.
Строго говоря, отсутствие типа — это "самый общий тип из всех возможных". Это тот самый пресловутый mixed.
А вообще да, правильнее всего было бы добавить возможность именно ослабить тип.
Специально пошел перечитал solid, так и не понял как это он вдруг нарушается? Лисков, вообще не писала ничего про ослабление интерфейса. Зато согласно методологии контрактного программирования:
Собственно, первый пункт соблюдался раньше, и теперь соблюдается. Лишь дали возможность ослабить предусловия. Что касается второго пункта, то я думаю, что было бы неплохо дать еще и возможность усиливать постусловия. А пока — страдаем.
Господа, вы слишком серьезно к этому относитесь.
Это же просто выдуманная формула для тайкуна.
Я не проводил никаких исследований по этому поводу.
Некоторый "врожденный" коэффициент предрасположенности к чему либо.
Формула моя. Я использовал ее при разработке игры, которой уже никогда не увидеть свет.
Нельзя отделять одно от другого. Равно как и нельзя поставить
===
между этими понятиями. Эти вещи коррелируют, но не имеют прямой зависимости.Мне нравится такая формула:
таки есть.
пожалуйста не экономьте чернила.
смотришь потом на переменную с именем
c
и думаешь… "хм… а этоchannel
илиconnection
?"картинка с поаром
В качестве клиента git, нужно использовать git. Остальное — профанация.
Строго говоря, не так уж самостоятельно. Всё собирается из абсолютно тех же зависимостей (ну или почти тех же), но уже под своим соусом. Само собой, это самое "всё" решает именно наши задачи, без претензий на универсальность.
Ну, Динго — вообще костылище, каких поискать. Количество "хаков" в этом пакете зашкаливает )
Начиная с условного объявления классов, заканчивая подменой маршрутизатора в контейнере. Возможно, что большинство стандартных кейсов он покрывает без проблем, но нам он не подошел.
Нельзя "без особых проблем" заменить службы маршрутизации и событий. Потому как эти базовые провайдеры загружаются на очень раннем этапе, и сам фреймворк очень сильно завязан на свою систему событий. Все остальное действительно подключается/отключается без танцев с бубном.
Странно, в что материале ни разу не упоминается конечный автомат.
Уж простите, но у меня подгорает стул от того, что разработчики, с не первым годом опыта, до сих пор смешивают понятия авторизации и аутентификации.
мда… оказали вы услугу rocket.rs, разместив ссылку на Хабре. В пятницу. Вечером.
Как Дота она выглядит =)
Твиттер тут
В сравнении с JS, конечно же.
Выскажу мнение, не как пользователь, но как разработчик.
Работал с различными форумными движками на PHP. Из того, с чем работал, выбор однозначен — XenForo.
Хорошая архитектура, отличное сообщество (англоязычное, по крайней мере — в русском мне как-то не удалось поучаствовать), множество обучающих материалов.