Публикации по теме 'code-smells'


Kotlin Code Smell 20 — Настройки/Конфигурации
Изменение поведения системы на плате управления может быть мечтой заказчика, но может стать кошмаром для инженера-программиста. Проблема Дублированный код Если загрязнение Глобальное использование "Связь" Тестируемость и бурный рост сценариев тестирования Сложность Решение Избегайте прямого использования настроек Создавайте полиморфные объекты и внедряйте их извне. Образец кода Неправильный class VerySpecificAndSmallObjectThatDealWithPersistence { fun..

Code Smell 105 — Комедийные методы
Используйте профессиональные и значимые имена TL;DR: не будьте неформальными или оскорбительными Проблемы Читабельность Непрофессиональная работа Решения 1. Выбирайте хорошие и профессиональные имена. Контекст Наша профессия имеет творческую сторону. Иногда нам становится скучно, и мы пытаемся быть забавными. Образец кода Неправильный function erradicateAndMurderAllCustomers(); //unprofessional and offensive Верно function deleteAllCustomers(); //more..

Код пахнет с примерами :
Работая в Thoughtworks, я познакомился с концепцией Code Smells. Я нашел эту концепцию очень интересной и начал читать о ней больше. Меня больше интересовало, почему запахи кода вызывают проблемы. В этой серии сообщений в блоге я планирую поделиться своим пониманием различных типов запахов кода, почему именно мы должны их рефакторить, какие более глубокие проблемы связаны с каждым запахом кода и как их реорганизовать на примере. Что такое запах кода? Этот термин был впервые введен..

Code Smell 133 — Жестко закодированные условия IF
Жесткое кодирование — это нормально. Ненадолго TL;DR: не оставляйте жестко запрограммированный беспорядок в IF. Проблемы Тестируемость Жестко закодированные значения Нарушение открытого/закрытого принципа Решения Замените все ЕСЛИ динамическим условием или полиморфизмом . Контекст Жесткое кодирование условий iF отлично подходит для разработки через тестирование . Нам нужно убрать вещи. Образец кода Неправильный private string FindCountryName..

Код Запах 179 — Известные ошибки
В каждом программном обеспечении есть список известных ошибок. Почему? TL;DR: не отслеживайте ошибки. Исправьте их. Проблемы Трудно отслеживаемые списки Технический долг Функциональный долг Решения Хватит называть это ошибкой Воспроизведите Дефект . Покройте сценарий автоматизацией Сделайте самое простое исправление (даже решения с жестким кодированием) Рефакторинг Добро пожаловать в ТДД! Контекст Мы не любим, когда нас прерывают. Затем мы создаем..

Код Запах 157 — Баланс на 0
Сегодня я ожидал платежа в своем кошельке. Баланс был 0. Я запаниковал. TL;DR: Null не равно 0. Error не равно 0. просто 0 равно 0. Проблемы Нули UX Удобство использования Решения Сделайте четкое различие между нулем и ошибкой. Контекст Я много читал о проблемах безопасности. Особенно на крипте. На прошлой неделе я прочитал о треде о взломе криптовалюты . Когда мой кошелек показал мне 0 в качестве баланса, я запаниковал. Это был просто запах UX...

Код Запах 118 — Возврат False
Неудобно проверять, возвращает ли логическое условие логическое значение TL;DR: не возвращайте явные логические значения. Большинство логических значений — это запахи кода. Проблемы декларативность Код ниндзя Внедряющие решения Решения Верните логическое предложение вместо проверки отрицания. Ответ должен быть формулой бизнес-логики, а не алгоритмом. Контекст При работе с булевыми формулами более читабельно показать бизнес-логическую формулу, чем вводить..