Публикации по теме 'refactoring'


Советы по сокращению технического долга
Накопление технического долга является фактором затрат в продвинутых проектах. Вот несколько советов, как их уменьшить Введение Технический долг — это метафора, обычно используемая в компьютерных науках для обозначения возможных последствий плохой технической реализации программного обеспечения. Что касается плохого дизайна программного обеспечения, влияние накопленного технического долга такое же, как описывает Мартин Фаулер в Гипотезе выносливости дизайна . Если говорить..

Code Smell 127 — Изменяемые константы
Вы объявляете что-то константой. Но вы можете изменить его. TL;DR: используйте неизменяемые константы Проблемы Изменчивость Нарушение принципа наименьшего удивления Связь Решения Обеспечьте изменчивость Избегайте констант. Их трудно обмануть в тестах. Контекст Мы научились объявлять константы в нашем первом курсе компьютерного программирования. Как всегда, не важно, если что-то постоянно. Важно, если он не мутирует. Образец кода Неправильный..

Да здравствует рефакторинг
Много ли вы делаете рефакторинга при написании кода? Или вы просто продолжите добавлять код, где вы можете провести рефакторинг, просто чтобы развернуть его как можно скорее? Допустим, у нас есть этот код в продакшене: >>> def read_file_as_json(filepath): ... with open(filepath, 'r') as file: ... for line in file: ... yield json.loads(line) >>> for i in read_file_as_json('/tmp/somefile'): ... print(i) ... {u'key1': u'value1'}..

Код Запах 194 — Отсутствует интервал
Дата начала должна быть меньше даты TL;DR: есть интервалы. Зачем использовать простые даты? Проблемы Отсутствует абстракция Дублированный код Не принудительные инварианты Первобытная одержимость Ошибка биекция Нарушение принципа Fail Fast Решения Создание и использование объекта Interval Контекст Ограничение Дата начала должна быть меньше даты окончания означает, что начальная дата определенного интервала должна быть раньше конечной даты того же..

Дзэн решения проблем LeetCode: День 3 — Стать проще
Вот последняя запись в серии ежедневных практических занятий LeetCode . Краткий итог: сегодня я решил 2 простые задачи за отведенное время 30 минут . Хотя сегодня они были короче как для понимания, так и для реализации, чем обычно, я думаю, что есть чему поучиться у обоих. Реверсирование строки в Python, 2 способа Обратить только буквы — LeetCode Для заданной строки s перевернуть строку в соответствии со следующими правилами: Все символы, не..

Рефакторинг с уверенностью
Рефакторинг с уверенностью На прошлой неделе, когда я вносил изменения в наш файл constants.js , я заметил, что мы можем улучшить его удобство сопровождения и читабельность. Но прежде чем я смог надеть очки рефакторинга, я сначала должен был убедиться, что не внесу никаких новых ошибок в кодовую базу. Поскольку список констант, которые мне нужно было изменить, был довольно длинным, велика вероятность, что я допущу ошибку. Наши автоматические тесты, скорее всего, не обнаружат..

Что такое рефакторинг? Шаблоны проектирования? Почему вы должны узнать это сегодня!
Проблема Я знаю человека, у которого работает несколько программистов. В этой фирме есть один суперзвездный программист, который может очень быстро запустить приложение от концепции до запуска. Проблема в том, что другие программисты, работающие на этого парня, жалуются, что его код грязный. Начальник не может его уволить, потому что он делает свое дело, но в то же время переживает, что если этот программист уйдет, никто не сможет понять его код. Существует распространенное..