
Ваша оценкаЦитаты
FANAT124212 февраля 2024 г.Читать далееВозможно, самым эффективным из небольших добрых дел по улучшению кода является простая очистка — рефакторинг с целью улучшения.
Какие улучшения мы можем внести? Самое очевидное — устранение проблем в структуре кода. Но я часто чищу код, даже если такие проблемы в нем отсутствуют.
Я немного улучшаю имена, структуру, архитектуру. Эти изменения малозаметны. Некоторым даже может показаться, что код становится менее чистым. Но моя цель — не просто улучшить состояние кода. Раз за разом проводя незначительную очистку, я знакомлюсь с кодом. Мне становится удобнее с ним работать. Возможно, мои действия не дают объективного улучшения кода, зато улучшается мое понимание и моя способность работать с этим кодом. Очистка улучшает меня как разработчика этого кода.
0106
FANAT124211 февраля 2024 г.Читать далееКент Бек однажды сказал: "Сначала заставьте его [код] работать. А затем перепишите его правильно".
Написать работающую программу — первый и самый простой шаг. Куда сложнее следующий — очистить код.
К сожалению, слишком многие программисты считают, что как только программа начала работать, все готово. И тут же переходят к написанию следующей программы.
В результате появляется множество запутанного, нечитаемого кода, замедляющего прогресс всей команды разработчиков. Программисты так поступают, поскольку уверены, что самое главное — скорость. Они знают, что им много платят, и чувствуют себя обязанными предоставить много функционала за короткий промежуток времени.
Но создание программного обеспечения представляет собой сложный и долгий процесс, поэтому таким программистам кажется, что они работают слишком медленно. Внутреннее ощущение того, что они подводят команду, заставляет их торопиться. Эти программисты поспешно заставляют код работать и объявляют, что все готово. И все равно у них остается чувство, что потрачено слишком много времени.
0103
FANAT12427 января 2024 г.Читать далееПредставьте набор тестов, которому вы настолько доверяете, что готовы рекомендовать развертывание системы, прошедшей эти тесты. [...]
Снова представьте на экране своего компьютера ужасно запутанный код. Что помешает вам начать приводить его в порядок? У вас же есть тесты, которые сообщат о любой неисправности в момент ее возникновения.
С помощью этого набора тестов вы можете безопасно очистить код.
С помощью этого набора тестов вы можете безопасно очистить код.
С помощью этого набора тестов вы можете безопасно очистить код.
Нет, это не опечатка. Я просто очень хотел, чтобы вы прочувствовали этот момент.
047
FANAT12427 января 2024 г.Читать далееПредставьте ужасно запутанный код. Скорее всего, вам не придется напрягаться, чтобы вызвать в воображении такой образ. Большинство из нас сталкиваются с подобным каждый день.
Готов поклясться: при виде такого кода вы иногда начинаете испытывать желание привести его в порядок. Но я практически уверен, что следом, как молот Тора, обрушивается мысль: "Я к этому не прикоснусь!" Ведь вы прекрасно знаете: если, прикоснувшись к этому коду, вы что-то сломаете, то он станет вашим навсегда.
И вы испытываете страх. Вы боитесь кода, поддержкой которого занимаетесь. Вас пугают последствия в виде возможного сбоя.
В результате код начинает деградировать. Никто не будет приводить его в порядок. Никто не хочет его улучшать. Если какие-то изменения неизбежны, то они делаются способом, не наиболее подходящим для системы, а наиболее безопасным для программиста.
Проект приходит в упадок, код портится, продуктивность команды падает, и все это продолжается, пока производительность не начнет стремиться к нулю.
039