# Избыток абстракций
Andrew Lobanov (tavern,1) → All – 12:26:55 2024-09-27
Как бороться с сабжем в легаси-коде? Попадаются прямо такие вещи, что я проямо колдобюсь, когда сталкиваюсь.
Последнее из прекрасного, мьютекс со счётчиком локов, который нигде не используется.
Я ещё могу нафантазировать зачем нужен счётчик ReadLock'ов в RWMutex, но вот в самом обычном мьютексе это нафига? Причём реально по всему проекту этот счётчик не используется нигде.
А ведь для этого наверчена отдельная структура, у неё свои методы, реализующие интерфейс мьютекса, но так как нет в стандартной библиотеке интерфейса мьютекса, то наверчен свой интерфейс, но в итоге везде эти мьютексы летят через пустые интерфейсы.
И вот с одной стороны проделана работа (пусть и без результата, но кто его знает, что там в головах было в древности, может была какая-то красивая идея), а с другой стороны это всё бежит по пустым интерфейсом, ломая весь вкус статической типизации.
Извините, накипело. Я эту лабуду разматывал несколько часов только что, чтобы понять, что вообще такое мне в интерфейс падает, где оно описано и нафиг оно нужно.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
Andrew Lobanov (tavern,1) → All – 12:26:55 2024-09-27
Как бороться с сабжем в легаси-коде? Попадаются прямо такие вещи, что я проямо колдобюсь, когда сталкиваюсь.
Последнее из прекрасного, мьютекс со счётчиком локов, который нигде не используется.
Я ещё могу нафантазировать зачем нужен счётчик ReadLock'ов в RWMutex, но вот в самом обычном мьютексе это нафига? Причём реально по всему проекту этот счётчик не используется нигде.
А ведь для этого наверчена отдельная структура, у неё свои методы, реализующие интерфейс мьютекса, но так как нет в стандартной библиотеке интерфейса мьютекса, то наверчен свой интерфейс, но в итоге везде эти мьютексы летят через пустые интерфейсы.
И вот с одной стороны проделана работа (пусть и без результата, но кто его знает, что там в головах было в древности, может была какая-то красивая идея), а с другой стороны это всё бежит по пустым интерфейсом, ломая весь вкус статической типизации.
Извините, накипело. Я эту лабуду разматывал несколько часов только что, чтобы понять, что вообще такое мне в интерфейс падает, где оно описано и нафиг оно нужно.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.