Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1) Написать тесты на логику поведения, которая будет рефакториться, чтобы проверить что ничего не сломалось в процессе рефакторинга
- * Тесты должны выражать требования Геймдизайнера
- 2) Переименовать все переменный по конвенции именования
- * Не использовать сокращения (Буквы не очень платные :-) )
- 3) Разделить на маленькие методы большие методы, которые не влазят в экран
- * Можно позволить себе добавлять And в названии методов - это временный этап, потом появиться ситуация когда от этого можно избавиться
- * Удалять комментарии и регионы (#region), и по сути заложить их содержание в названия методов
- * комментарии могут быть если там математика или какие-то сложные алгоритмы
- 4) Поиски в циклах лучше заменить FirstOrDefault или аналогичное(у List<T> это Find(); )
- * Вместо лямбд можно сделать локальные методы с понятым названием
- 5) Выделяем свойства для простых проверок
- * в свойства удобнее ещё выделять у используемых классах, внутрь их поместить свойство, которое лезет через +100500 точек у вложенных зависимостей
- 6) Инвертировать if, которые растянуты на весь метод.
- * Лучше сразу сделать return если условие обратное условие на выполняется.
- * Тем самым уменьшается вложенность и читаемость кода становится лучше
- 7) Запускать тесты когда произошли не автоматические изменения в коде (изменения за счет встроенных функций рефакторинга IDE)
- * чтобы понят что тестировать, как раз такие моменты помогут определиться, тестировать надо на абстрактном уровне, на уровне бизнес логики кода(по сути публичный API)
- 8) 3 и более вложенных if Это уже плохо
- 9) Избавиться от bool переменных которые неявно управляют потоком управления (Здесь надо порой очень хорошо подумать и запустить тесты чтобы проверить что всё работает как и прежде)
- 10) Разделить методы с And в названии
- 11) Разбиваем сначала большие методы на маленькие, а потом когда будут видны все ответственности, нужно выделить эти ответственности в отдельные классы
- * Также можно выделить какие-нибудь паттерны если они четко просматриваются после рефакторинга
- 12) Использовать методы расширения, когда надо часто повторять какой-то простой кода в разных местах
- * Иногда можно написать расширения (локальное) на спецефичскую бизнес логику
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement