TGViewer
feelin feelin @feelindev · 47 subscribers
Post #214 725
Проблемы с цепочками

В своих докладах о чистом коде я часто разбираю рефакторинг длинных цепочек вызовов. Основная мысль проста: такая конструкция не только замедляет чтение и понимание кода, но и бьёт по производительности.

Однажды меня спросили: "А что, если эти методы изменяют внутреннее состояние объекта?" Действительно, если audinfo() (ну или подобный метод в других примерах) возвращает объект, чьи методы мутируют состояние, то вынесение его в переменную превратит пять независимых вызовов в пять обращений к одному экземпляру. А значит, поведение программы может измениться.

Но ответ, на мой взгляд, кроется в самой постановке вопроса. Хороший код не должен порождать сомнения в духе "а что, если...". Если безопасный синтаксический рефакторинг меняет логику работы — это не недостаток рефакторинга, а яркий сигнал о проблемном дизайне.

Если копнуть глубже, то использование методов с побочными эффектами в контексте извлечения параметров выглядит странным в принципе. Если в подобной ситуации на практике методы действительно меняют состояние, "лечить" нужно не цепочку вызовов, а архитектуру класса.

🎤 feelin #cleanCode
  • 👍 2
More from @feelindev
  1. Oct 1, 2026Мне нужна твоя одежда и твой мотоцикл Вечная тема, которая преследует AI: не взбунтуются л…
  2. Sep 28, 2026Искусственное сопротивление В последнее время я часто задумываюсь о том, почему некоторые…
  3. Sep 22, 2026Яблочная секта Уже пару месяцев как я прикупил себе последний MacBook Air на M5. Сегодня р…
  4. Sep 18, 2026Highway to AI В Developer Relations есть один важный аспект – открытость своего продукта и…
  5. Sep 16, 2026Plata за хайп На прошлой неделе в IT-тусовке разразился скандал из-за ситуации с разработч…
  6. Sep 15, 2026Яблочный телепорт На прошлой неделе случайно нащупал технологию, о существовании которой д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →