TGViewer
adelf on programming adelf on programming @adelf_on_programming · 1.57K subscribers
Post #91 2.25K
Это я фиксил те 2900+ ошибок стиля, которые нашел detekt. Больше половины - автоматические замены(форматированием IDEA и маленьким своим пхп-скриптом), но и самому пришлось поработать.

В процессе нашел пару мелких багов. Плюс это вынудило меня на рефакторинг, который давно хотел. Центральный класс для кодогенерации был со сложный лайф-циклом. Создавался с дефолтными значениями(допустим базового класса), потом они менялись на те, которые настроил юзер. И потом каждый раз приходилось это все пересчитывать. detekt ругнулся что-то вроде "тут мутабельный список, который можно еще и перезатереть - выбери что-то одно" и это меня добило)

Теперь все иммутабельное, пересчитывается на лету. Вместо codeGeneration.baseClass, теперь codeGeneration.getBaseClass(settings). Со стороны можно сказать, что стало хуже, но теперь все явно(нужны настройки, чтобы получить базовый класс) и цикл жизни простой - это неизменяемый объект с дефолтными значениями, но перекрываемыми из настроек.

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

Проггер же может два дня стилизовать код, делать рефакторинг и уверять, что это принесет плоды в будущем, а как проверить? Код в деньги превращается очень медленно. Поэтому, крайне сложно составить эффективные метрики работы программистов. Я пока не видел ни одной рабочей.
  • 👍 20
  • ❤ 1
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 →