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


Kotlin Code Smell 002  — «Функции слишком длинные»
TL;DR: Refactor and extract functions longer than 5–10 lines of code. Проблемы Низкая сплоченность Высокая связь Трудно читать Низкое повторное использование Решения Рефакторинг . Создайте небольшие объекты, решающие некоторые задачи, и выполните их модульное тестирование. Методы составления. Примеры Библиотеки Образец кода Неправильный class ChessBoard() { init { placeOnBoard(whiteTower) placeOnBoard(whiteKnight) // All other..

Ваш код плохо пахнет?
Ваш код плохо пахнет? Прежде чем мы перейдем к запаху кода, представьте имя любого из ваших коллег, которого вы хотите наказать за плохой код. Я предполагаю, что вы многое имеете в виду. Если бы у вашего коллеги было такое же наблюдение о вас, что бы тогда было? Поэтому, если вы хотите быть хорошим коллегой, вы также должны быть хорошим программистом. Код Запах!!! Запахи кода — это не ошибки программы. Ваша программа может работать идеально, даже если есть запахи кода. Они..

Kotlin Code Smells 010 — Null
TL;DR: Null does not exist in the real world. His creator regrets it, and programmers around the world suffer from it. Don't be a part of it. Программисты используют null для разных флагов. Это может указывать на отсутствие, неопределенное значение, ошибку и т. д. Множественная семантика приводит к связанности и ошибкам. Проблемы Связь между вызывающими и отправляющими. Несоответствие между вызывающими и отправляющими. if / when Загрязнение. Null не полиморфен реальным..

Вы все еще чувствуете его запах? Сравнение Java и Kotlin.
Kotlin - это язык, который приобрел большую известность в сообществе мобильных разработчиков. Итак, я хотел бы поделиться с вами своей статьей, в которой я сравнил запахи кода между Java и Kotlin . Мы знаем, что Java - один из наиболее часто используемых языков в мире. Но Java - очень необузданный и сложный язык, и это большой недостаток. В некоторых случаях написание слишком большого количества кода может привести к появлению определенных запахов кода, которые являются нарушением..

Code Smell 188 — Избыточные имена параметров
Используйте контекстные и локальные имена TL;DR: не повторяйте названия параметров. Имена должны быть контекстными. Проблемы Дублирование Читабельность Решения Удалить повторяющуюся часть имени Контекст При использовании имен мы часто упускаем из виду, что слова зависят от контекста и их нужно читать как целое предложение. Образец кода Неправильный class Employee def initialize(@employee_first_name : String, @employee_last_name : String,..

Code Smell 185 — Злые регулярные выражения
Регулярные выражения — это запах кода. Иногда также уязвимость TL;DR: постарайтесь свести к минимуму рекурсивные правила регулярных выражений. Проблемы Проблемы с безопасностью Читабельность Преждевременная оптимизация Решения Покройте случаи тестами, чтобы увидеть, остановятся ли они Используйте алгоритмы вместо регулярных выражений Добавить обработчики тайм-аута Контекст Это известно как атака ReDos , подтип атаки отказ в обслуживании . Атаки ReDoS можно..

Code Smell 88 - Ленивая инициализация
Еще один шаблон преждевременной оптимизации TL; DR: не используйте отложенную инициализацию. Вместо этого используйте поставщик объекта. Проблемы Удивительные побочные эффекты Преждевременная оптимизация Неудачное быстрое нарушение Реализация связи Нарушение принципа наименьшего удивления Нулевое использование Изменчивость Проблемы с транзакционными и многопоточными приложениями Проблемы отладки Решения Внедрить обязанности с помощью объектов первого класса..