TGViewer
adelf on programming adelf on programming @adelf_on_programming · 1.57K subscribers
Post #110 3.23K
Недавно сделал рефакторинг, который выглядит дико даже для меня, но в итоге, подумав, вполне нормальный.

Был класс, который размещал два компонента в окошке. Обычно это label и поле к нему. Но иногда там был только label и тогда field было null. И наоборот могло быть тоже. В итоге была огромная конструкция где проверялись все возможные варианты - кто null, кто не null. А когда добавились еще параметров стало просто невмоготу.

Что я сделал? Вместо одного класса FieldPair, в котором оба поля могли быть null, я сделал три. OnlyLabel, OnlyField and FieldPair. И в каждом только ненулевые компоненты. И все стало так сильно проще! Я даже мелкий баг нашел сразу же.
  • ❤ 13
  • 🔥 8
  • 👍 4
More from @adelf_on_programming
  1. Sep 10, 2026Новый дивный мир Пришел issue, в котором юзер жалуется на какое-то несоответствие логики.…
  2. Aug 11, 2026Podlodka #489 – Laravel Laravel любят за скорость разработки, ругают за магию и регулярно…
  3. Jun 4, 2026Под прошлым постом развернулась дискуссия, которая в очередной раз показала, что в програм…
  4. Jun 1, 2026Часто слышу мнение в стиле "неймспейс это тоже часть имени класса. Используйте его" И, как…
  5. Apr 20, 2026Хранение дефолтных значений Для новой фичи мне нужно хранить токен Sentry и домен, где это…
  6. Jan 18, 2026Исследую сейчас исходники Livewire4. Прекрасный пример, когда две совсем разные логики пыт…
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 →