Упрощайте сложные булевые проверки
Понимание сложных булевых проверок редко требуется для определения пути выполнения программы. Поместив такую проверку в метод, вы сможете упростить код, а описательное имя метода позволит лучше охарактеризовать суть проверки.
Создание отдельного метода для проверки подчеркивает ее значимость. Упрощение булевых проверок является примером оправданного снижения сложности кода.
#tips #refactoring
Понимание сложных булевых проверок редко требуется для определения пути выполнения программы. Поместив такую проверку в метод, вы сможете упростить код, а описательное имя метода позволит лучше охарактеризовать суть проверки.
Создание отдельного метода для проверки подчеркивает ее значимость. Упрощение булевых проверок является примером оправданного снижения сложности кода.
#tips #refactoring
Чистый код и рефакторинг
У каждого понятия прекрасного свои, кто-то связывает чистоту с отсутствием дублирования, кто-то - с минимальными зависимостями и прямолинейностью, но правда всегда где-то посередине. Стремление к чистоте кода абсолютно оправданно, ведь для программиста код как картина для художника.
Читать статью
#cleancode #refactoring
У каждого понятия прекрасного свои, кто-то связывает чистоту с отсутствием дублирования, кто-то - с минимальными зависимостями и прямолинейностью, но правда всегда где-то посередине. Стремление к чистоте кода абсолютно оправданно, ведь для программиста код как картина для художника.
Читать статью
#cleancode #refactoring
Факторизуйте глубоко вложенный код в отдельный метод
Если при написании кода внутри цикла формируется глубокая вложенность условных операторов, имеет смысл переместить обработку вложенности в отдельный метод, чтобы разгрузить код и внести ясность.
Чем выше уровень вложенности, тем хуже ваш код. Создается визуальная перегрузка, которая усложняет понимание кода и исправление багов.
Подробнее: Code Complete, стр. 463
#tips #refactoring
Если при написании кода внутри цикла формируется глубокая вложенность условных операторов, имеет смысл переместить обработку вложенности в отдельный метод, чтобы разгрузить код и внести ясность.
Чем выше уровень вложенности, тем хуже ваш код. Создается визуальная перегрузка, которая усложняет понимание кода и исправление багов.
Подробнее: Code Complete, стр. 463
#tips #refactoring
📖 Refactoring
🖋 Martin Fowler, 2018
Второе издание книги Мартина Фаулера объясняет, что такое рефакторинг на самом деле, впрочем, как и первое издание, выпущенное 20 лет назад. После прочтения книги вы найдете ответы на следующие вопросы:
Зачем мне рефакторинг моего кода?
Как я могу распознать код, который нуждается в рефакторинге?
Как я могу успешно провести рефакторинг своего кода?
Прочитав эту книгу, вы поймете сам процесс и общие принципы рефакторинга, которые сможете сразу же применить к своему коду. Вы также научитесь обнаруживать «косяки» в коде вашего коллеги по команде, которые требуют рефакторинга.
💾 Скачать книгу
Clean Code #книги #refactoring
🖋 Martin Fowler, 2018
Второе издание книги Мартина Фаулера объясняет, что такое рефакторинг на самом деле, впрочем, как и первое издание, выпущенное 20 лет назад. После прочтения книги вы найдете ответы на следующие вопросы:
Зачем мне рефакторинг моего кода?
Как я могу распознать код, который нуждается в рефакторинге?
Как я могу успешно провести рефакторинг своего кода?
Прочитав эту книгу, вы поймете сам процесс и общие принципы рефакторинга, которые сможете сразу же применить к своему коду. Вы также научитесь обнаруживать «косяки» в коде вашего коллеги по команде, которые требуют рефакторинга.
💾 Скачать книгу
Clean Code #книги #refactoring
Рефакторинг унаследованного кода: как разорвать зависимости?
Как быть, если код достался в наследство без тестов, а очень хочется порефакторить? Помолиться и вперед? Или же есть инженерный подход подготовки кода к написанию тестов и безопасному рефакторингу? В рамках мастер-класса вас ждет live-coding и разбор техник разрыва зависимостей.
📺 YouTube
Clean Code #видео #cleancode #refactoring
Как быть, если код достался в наследство без тестов, а очень хочется порефакторить? Помолиться и вперед? Или же есть инженерный подход подготовки кода к написанию тестов и безопасному рефакторингу? В рамках мастер-класса вас ждет live-coding и разбор техник разрыва зависимостей.
📺 YouTube
Clean Code #видео #cleancode #refactoring
Рефакторинг - два простых способа которые сделают ваш код более понятным
В этом видео описываются два простых правила, которые можно будет применять для рефакторинга, чтобы сделать ваш код более простым и понятным.
📺 YouTube
Clean Code #видео #cleancode #refactoring
В этом видео описываются два простых правила, которые можно будет применять для рефакторинга, чтобы сделать ваш код более простым и понятным.
📺 YouTube
Clean Code #видео #cleancode #refactoring
YouTube
Рефакторинг - два простых способа которые сделают ваш код более понятным
В этом видео описываю два простых правила который можно будет применять для рефакторинг, чтобы сделать ваш код более простым и понятным.
Для это вам необходимо избегать вложенности для ваших методов. Это касается как циклов так if условий.
Второй способ…
Для это вам необходимо избегать вложенности для ваших методов. Это касается как циклов так if условий.
Второй способ…
📑 Как определять, декомпозировать и показывать результаты рефакторинга
Рефакторинг — это работы по улучшению внутренней структуры, а также производительности кода или целого компонента без изменения их внешнего поведения.
Целью продуктовой разработки является непрерывная поставка бизнес-ценности пользователям и заинтересованным лицам. Постоянно меняющиеся технологии в сочетании с меняющимися бизнес-целями значительно затрудняют это.
Clean Code #статьи #refactoring
Рефакторинг — это работы по улучшению внутренней структуры, а также производительности кода или целого компонента без изменения их внешнего поведения.
Целью продуктовой разработки является непрерывная поставка бизнес-ценности пользователям и заинтересованным лицам. Постоянно меняющиеся технологии в сочетании с меняющимися бизнес-целями значительно затрудняют это.
Clean Code #статьи #refactoring
Рефакторинг - Где? Куда? Когда? Откуда? Почему? Зачем и Как?
Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать". В этом докладе рассказывается, как бороться с такими мыслями, чем они плохи, какие есть подходы к рефакторингу, и чего им можно добиться на примере компьютерной игры.
📺 YouTube
Clean Code #видео #cleancode #refactoring
Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать". В этом докладе рассказывается, как бороться с такими мыслями, чем они плохи, какие есть подходы к рефакторингу, и чего им можно добиться на примере компьютерной игры.
📺 YouTube
Clean Code #видео #cleancode #refactoring
YouTube
Рефакторинг - Где? Куда? Когда? Откуда? Почему? Зачем и Как? / Алексей Охрименко (IPONWEB)
РИТ++2018, FrontendConf
Тезисы:
http://frontendconf.ru/moscow-rit/2018/abstracts/3355
Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать". В этом докладе я расскажу, как бороться с такими мыслями, чем…
Тезисы:
http://frontendconf.ru/moscow-rit/2018/abstracts/3355
Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать". В этом докладе я расскажу, как бороться с такими мыслями, чем…
Рефакторинг кода
Рефакторинг — это процесс улучшения кода, который не влияет на внешнее поведение программы, так как при рефакторинге оптимизируется внутренняя структура кода. Он становится более чистым и понятным другим членам команды. Его легче поддерживать и развивать, а значит, ускоряется процесс разработки. В результате программный продукт получается качественным и работает без сбоев. Но у этого процесса есть риски, например, после всех изменений программа перестает работать. Поэтому чтобы использовать рефакторинг, нужно хорошо знать плюсы и минусы всех способов улучшения кода.
📺 YouTube
Clean Code #видео #refactoring
Рефакторинг — это процесс улучшения кода, который не влияет на внешнее поведение программы, так как при рефакторинге оптимизируется внутренняя структура кода. Он становится более чистым и понятным другим членам команды. Его легче поддерживать и развивать, а значит, ускоряется процесс разработки. В результате программный продукт получается качественным и работает без сбоев. Но у этого процесса есть риски, например, после всех изменений программа перестает работать. Поэтому чтобы использовать рефакторинг, нужно хорошо знать плюсы и минусы всех способов улучшения кода.
📺 YouTube
Clean Code #видео #refactoring
YouTube
Рефакторинг кода
Рефакторинг — это процесс улучшения кода, который не влияет на внешнее поведение программы, так как при рефакторинге оптимизируется внутренняя структура кода. Он становится более чистым и понятным другим членам команды. Его легче поддерживать и развивать…
РЕФАКТОРИНГ. Почему код может плохо пахнуть и как его освежить?!
Что такое рефакторинг и какой профит мы можем от него получить, с чем его едят и как проводят? К чему стремится рефакторинг? Как пахнет ваш код? Причины по которым необходимо провести рефакторинг? Как найти ошибки в коде? Что такое правило трёх ударов? Как объяснять клиенту, что это такое и зачем оно нужно? Как видят эту необходимость все стороны? Ответим на все вопросы, покажем примеры и расскажем, как они работают!
📺 YouTube
Clean Code #видео #refactoring
Что такое рефакторинг и какой профит мы можем от него получить, с чем его едят и как проводят? К чему стремится рефакторинг? Как пахнет ваш код? Причины по которым необходимо провести рефакторинг? Как найти ошибки в коде? Что такое правило трёх ударов? Как объяснять клиенту, что это такое и зачем оно нужно? Как видят эту необходимость все стороны? Ответим на все вопросы, покажем примеры и расскажем, как они работают!
📺 YouTube
Clean Code #видео #refactoring
YouTube
РЕФАКТОРИНГ. Почему код может плохо пахнуть и как его освежить?!
О чем сегодня послушаем и поговорим? Что такое рефакторинг и какой профит мы можем от него получить, с чем его едят и как проводят? К чему стремится рефакторинг? Как пахнет ваш код? Причины по которым необходимо провести рефакторинг? Как найти ошибки в коде?…
🧑💻 Когда нужен рефакторинг
Согласно «Википедии», рефакторинг — это процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения. Его цель — упростить понимание работы программы.
Итак, что значит «упростить понимание работы программы»?
▍Конкретные цели рефакторинга могут быть такими:
— улучшить проект существующего кода;
— найти ошибки;
— сделать код более понятным для других участников команды;
— сделать код менее раздражающим;
— упростить добавление нового кода.
Также рефакторинг помогает быстрее реализовать программные продукты. Повышается качество — и, соответственно, скорость разработки. Рефакторинг точно необходим, если к вам в команду приходит новый человек, и код в таком виде, в котором он существует, ему не понятен. Это говорит о том, что качество кода неудовлетворительно.
Для рефакторинга, во-первых, напишите хорошие тесты: unit, функциональные или интеграционные. Во-вторых, изменяйте код небольшими итерациями. На каждом шаге прогоняйте тесты. Для качественного рефакторинга полезно знать шаблоны проектирования. Без них будет сложнее проектировать и масштабировать большие проекты.
Clean Code #совет #cleancode #refactoring
Согласно «Википедии», рефакторинг — это процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения. Его цель — упростить понимание работы программы.
Итак, что значит «упростить понимание работы программы»?
▍Конкретные цели рефакторинга могут быть такими:
— улучшить проект существующего кода;
— найти ошибки;
— сделать код более понятным для других участников команды;
— сделать код менее раздражающим;
— упростить добавление нового кода.
Также рефакторинг помогает быстрее реализовать программные продукты. Повышается качество — и, соответственно, скорость разработки. Рефакторинг точно необходим, если к вам в команду приходит новый человек, и код в таком виде, в котором он существует, ему не понятен. Это говорит о том, что качество кода неудовлетворительно.
Для рефакторинга, во-первых, напишите хорошие тесты: unit, функциональные или интеграционные. Во-вторых, изменяйте код небольшими итерациями. На каждом шаге прогоняйте тесты. Для качественного рефакторинга полезно знать шаблоны проектирования. Без них будет сложнее проектировать и масштабировать большие проекты.
Clean Code #совет #cleancode #refactoring
🧑💻 Что именно рефакторить
Рассмотрим, какие элементы кода затрудняют его восприятие, ухудшают качество и, соответственно, требуют рефакторинга.
▍Повторы
Допустим, у нас есть такой фрагмент: см. код 1.
Решение — реализовать гидратор:
Clean Code #совет #cleancode #refactoring
Рассмотрим, какие элементы кода затрудняют его восприятие, ухудшают качество и, соответственно, требуют рефакторинга.
▍Повторы
Допустим, у нас есть такой фрагмент: см. код 1.
Решение — реализовать гидратор:
$dto);Метод гидратора: см. код 2.
Clean Code #совет #cleancode #refactoring
🧑💻 Рефакторинг комментариев
Если код получается непростым, возникает искушение написать комментарий и поставить на этом точку. Нужно избегать этого, если комментарий поясняет логику, но не делает код более качественным.
Пример: см код 1.
Решение — переписать код, заменив комментарии вынесением кода в методы. Даже несколько строк кода лучше вынести в метод, чтобы не использовать комментарий: см. код 2.
Clean Code #совет #cleancode #refactoring
Если код получается непростым, возникает искушение написать комментарий и поставить на этом точку. Нужно избегать этого, если комментарий поясняет логику, но не делает код более качественным.
Пример: см код 1.
Решение — переписать код, заменив комментарии вынесением кода в методы. Даже несколько строк кода лучше вынести в метод, чтобы не использовать комментарий: см. код 2.
Clean Code #совет #cleancode #refactoring
📑 Что такое рефакторинг кода и зачем он нужен
Рефакторинг — это переработка исходного кода программы, чтобы он стал более простым и понятным.
Рефакторинг не меняет поведение программы, не исправляет ошибки и не добавляет новую функциональность. Он делает код более понятным и удобочитаемым.
Clean Code #статьи #refactoring
Рефакторинг — это переработка исходного кода программы, чтобы он стал более простым и понятным.
Рефакторинг не меняет поведение программы, не исправляет ошибки и не добавляет новую функциональность. Он делает код более понятным и удобочитаемым.
Clean Code #статьи #refactoring
🧑💻 Что нужно рефакторить? — Наследование
Предпочтительнее использовать композицию вместо наследования. К примеру, 2 дочерних класса наследуют от родительского все его методы. Если мы добавим в родительский класс метод, который нужен только для одного из дочерних классов, он автоматически будет применим и ко второму. Если же использовать инжект, дочерние классы будут независимы и не будут содержать лишнего. Конечно, все зависит от ситуации — иногда без наследования не обойтись.
Clean Code #совет #cleancode #refactoring
Предпочтительнее использовать композицию вместо наследования. К примеру, 2 дочерних класса наследуют от родительского все его методы. Если мы добавим в родительский класс метод, который нужен только для одного из дочерних классов, он автоматически будет применим и ко второму. Если же использовать инжект, дочерние классы будут независимы и не будут содержать лишнего. Конечно, все зависит от ситуации — иногда без наследования не обойтись.
Clean Code #совет #cleancode #refactoring
🧑💻 Что нужно рефакторить? — Статика
Использование статики ведет к непредсказуемости кода. Статические переменные несут глобальное состояние, данные не инкапсулированы в объекты. Изменяя эти переменные из разных мест приложения, мы не можем гарантировать корректность их состояний.
Статика приводит к процедурному программированию, тогда как в объектно-ориентированной парадигме мы инстанцируем объекты и позволяем им управлять данными как и когда это нужно. При использовании статики невозможно проектировать на основе контрактов.
Clean Code #совет #cleancode #refactoring
Использование статики ведет к непредсказуемости кода. Статические переменные несут глобальное состояние, данные не инкапсулированы в объекты. Изменяя эти переменные из разных мест приложения, мы не можем гарантировать корректность их состояний.
Статика приводит к процедурному программированию, тогда как в объектно-ориентированной парадигме мы инстанцируем объекты и позволяем им управлять данными как и когда это нужно. При использовании статики невозможно проектировать на основе контрактов.
Clean Code #совет #cleancode #refactoring
Рефакторинг унаследованного кода: как разорвать зависимости?
Как быть, если код достался в наследство без тестов, а очень хочется порефакторить? Помолиться и вперед? Или же есть инженерный подход подготовки кода к написанию тестов и безопасному рефакторингу? В рамках мастер-класса вас ждет live-coding и разбор техник разрыва зависимостей.
📺 YouTube
Clean Code #видео #refactoring
Как быть, если код достался в наследство без тестов, а очень хочется порефакторить? Помолиться и вперед? Или же есть инженерный подход подготовки кода к написанию тестов и безопасному рефакторингу? В рамках мастер-класса вас ждет live-coding и разбор техник разрыва зависимостей.
📺 YouTube
Clean Code #видео #refactoring