Проектирование и рефакторинг

  • Хабрахабр

    [Перевод] Что такое энтропия в ПО и как ею управлять?

    Сегодня солнечный день. Вы едете по дороге в вашу деревню, в которой живут все ваши друзья, ваша семья и ваша любимая собака. Прекрасный день! Неожиданно вы слышите ужасный, кошмарный вопль, разрывающий окрестности. Огромная отвратительная Гидра приближается к деревне, чтобы её уничтожить! Вы хватаете меч (конечно, у вас есть меч!) и стараетесь защитить всех, кого любите. Но есть небольшая проблема: у…

    Подробнее »
  • Хабрахабр

    [Перевод] «Нулевой» ад и как из него выбраться

    Значения null, при бездумном их использовании, могут сделать вашу жизнь невыносимой и вы, возможно, даже не понимаете, что именно в них причиняет такую боль. Позвольте мне объяснить. Значения по умолчанию Все мы видели метод, который принимает много аргументов, но при этом более половины из них являются необязательными. В итоге получается что-то подобное: public function insertDiscount( string $name, int $amountInCents, bool…

    Подробнее »
  • Хабрахабр

    Legacy-сервисы в вашей инфраструктуре

    Привет! Меня зовут Паша Черняк, я ведущий разработчик в QIWI, и сегодня я хочу поговорить о неизбежном. О Legacy. Legacy-сервис — это сервис, которого разработчик не касался уже неделю/месяц/год? Начнем с вопроса: что такое Legacy-сервис? А теперь-то вы круче и опытнее. Или это сервис, который был написан менее опытным программистом, например, конкретно вами, но год назад? В любом случае, оставлять…

    Подробнее »
  • Хабрахабр

    [Перевод] Как вы избавляетесь от неиспользуемого CSS-кода? Часть 2

    Сегодня публикуем вторую часть перевода материала о борьбе с неиспользуемым CSS-кодом. → Первая часть Постпроцессинг CSS Предположим, в некоем проекте CSS пишут с использованием Less или Sass, а затем, для компиляции имеющегося кода в обычный CSS, применяют постпроцессор. В таком проекте, вероятно, имеется автоматическая система избавления от неиспользуемого CSS, которая запускается после выполнения препроцессинга CSS. Выглядеть подобное может так: Sass.…

    Подробнее »
  • Хабрахабр

    [Перевод] Как вы избавляетесь от неиспользуемого CSS-кода? Часть 2

    Сегодня публикуем вторую часть перевода материала о борьбе с неиспользуемым CSS-кодом. → Первая часть Постпроцессинг CSS Предположим, в некоем проекте CSS пишут с использованием Less или Sass, а затем, для компиляции имеющегося кода в обычный CSS, применяют постпроцессор. В таком проекте, вероятно, имеется автоматическая система избавления от неиспользуемого CSS, которая запускается после выполнения препроцессинга CSS. Выглядеть подобное может так: Sass.…

    Подробнее »
  • Хабрахабр

    [Перевод] Как вы избавляетесь от неиспользуемого CSS-кода? Часть 1

    Автор статьи, первую часть перевода которой мы сегодня публикуем, хотел бы, чтобы читатели заранее знали о том, что избавление от ненужного CSS — это трудная задача. Если вы это читаете в надежде найти некий инструмент, запустив который, вы сможете узнать о том, какой именно CSS-код можно безбоязненно удалить из вашего проекта, то… Есть подобные инструменты, но их нужно использовать крайне…

    Подробнее »
  • Хабрахабр

    Что не так с валидацией данных и при чем тут принцип подстановки Лисков?

    Формально это можно описать следующим образом: пусть мы получаем некоторую структуру данных, проверяем ее значение на соответствие некоторой области допустимых значений (ОДЗ) и передаем ее дальше. Если вы иногда задаете себе вопрос: «а всё ли хорошо мне в этот метод приходит?» и выбираете между «а вдруг пронесет» и «лучше на всякий случай проверить», то добро пожаловать под кат… При разработке…

    Подробнее »
  • Хабрахабр

    Что делать, если для вашего любимого языка нет статического анализатора?

    д., то это в другой хаб. Ну, если под любимым языком подразумевается русский, английский и т. На первый взгляд, это очень сложно, но, к счастью, существуют готовые многоязыковые инструменты, в которые относительно легко добавить поддержку нового языка. А если язык программирования или разметки, то конечно писать анализатор самим! Сегодня я покажу, как можно с достаточно незначительными затратами времени добавить поддержку…

    Подробнее »
  • Хабрахабр

    [Из песочницы] Ортодоксальный Backend

    Современный backend разнообразен, но всё-таки подчиняется некоторым негласным правилам. Многие из нас, кто разрабатывает серверные приложения, сталкивается с общепринятыми подходами, такими как Clean Architecture, SOLID, Persistence Ignorance, Dependency Injection и прочими. Многие из атрибутов серверной разработки настолько заезжены, что не вызывают никаких вопросов и используются бездумно. О некоторых много говорят, но никогда не используют. Смысл остальных же либо неправильно интерпретирован,…

    Подробнее »
  • Хабрахабр

    [Из песочницы] Кризис DDD сообщества

    Отличный доклад, харизматичный спикер, полезные материалы в конце. Год назад Максим Аршинов (marshinov) выступил с докладом "Быстрорастворимое проектирование". А тут ещё элегантные решения помноженные на DDD! Этот доклад изменил моё понимание того что я делал — кто из нас не пытался интуитивно применить pipeline-архитектуру? С этого начался мой путь евангелиста предметно-ориентированного проектирования. Как всегда, ждём обзора новых фичей, обмена опытом,…

    Подробнее »


Кнопка «Наверх»
Закрыть