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


Kotlin Code Smell 017 — Нарушители шаблонов
TL;DR: Patterns are awesome, but with great powers comes great responsibility. Проблемы Над дизайном Читабельность Решения Измерьте компромисс использования шаблонов. Создавайте решения, основанные на реальных именах ( существенные ), а не на архитектурных (случайных). Выбирайте хорошие имена . Пользовательский метод MAPPER для нахождения биекций реальных сущностей. Образец кода Неправильный Верно Заключение Выберите, когда применять шаблонное решение...

Код Smell 149 — Необязательная цепочка
Наш код стал более надежным и разборчивым. Но мы прячем NULL под ковер TL;DR: избегайте нулей и неопределенных значений. Если вы избегаете их, вам никогда не понадобятся дополнительные параметры. Проблемы Нули ЕСЛИ ЗАГРЯЗНЕНИЕ Решения Удалить нули Сделка с неопределенным Контекст Optional Chaining , Options , Coalescence и многие другие решения помогают нам справиться с печально известными нулями. Нет необходимости использовать их, когда наш код станет..

Рефакторинг 001 — Удалить сеттеры
Сеттеры нарушают неизменность и добавляют случайную связь TL;DR: сделайте свои атрибуты приватными, чтобы способствовать изменчивости Устраненные проблемы Изменчивость setXXX() нарушает правильную политику именования, так как не существует на MAPPER . Случайное сцепление Связанные запахи кода Code Smell 28 — Setters Первое упражнение, которое делают младшие программисты. IDE, учебники и старшие разработчики продолжают обучать их этому..

Код Запаха 33 - Сокращения
Сокращение очень важно, чтобы мы выглядели умно и экономили память и разум. Проблемы Связь Плохое наименование Декларативность Двусмысленность Читаемость Преждевременная оптимизация Запах кода 20 - Преждевременная оптимизация Для заблаговременного планирования нужен хрустальный шар, которого нет ни у одного разработчика. medium.com Решения Используйте осмысленные и декларативные имена. Примеры Именование..

Кодовый запах 96 - Мои объекты
Вы не владеете объектами. TL; DR: не используйте my в качестве префикса имени . Проблемы Отсутствие контекста Bijection Fault Решения 1. Удалите префикс « my» . 2. Измените на роль, предлагающую имя. Контекст В некоторых старых руководствах слово «мой» используется как ленивое имя. Это расплывчато и приводит к ошибкам в контексте. Образец кода Неправильный Правильно Обнаружение [x] Автоматически Мы можем указать нашим линтерам и статическим..