Я работаю в хранилище данных, которое получает несколько систем через множество потоков и слоев с лабиринтными зависимостями, связывающими различные артефакты. Почти каждый день я сталкиваюсь с такими ситуациями: я запускаю что-то, это не работает, я прохожу множество кода, но спустя часы я понимаю, что мне удалось концептуализировать карту процесса крошечной порции того, что я теперь знаю позже в тот же день, поэтому я спрашиваю кого-то, и они говорят мне, что этот другой поток должен быть запущен первым, и что если я проверил здесь (указывая некоторую, казалось бы, произвольную часть огромного стека других кодированных зависимостей), то я бы видел это. Это невероятно расстраивает.
Если бы я мог предложить команде, что, возможно, было бы неплохо, если бы мы сделали больше, чтобы сделать зависимости между объектами более заметными и очевидными, а не встраивать их глубоко в рекурсивные уровни кода или даже в данные, которые должен присутствовать из-за того, что он заполняется другим потоком, возможно, ссылаясь на хорошо известную, испытанную и протестированную парадигму программного обеспечения - тогда я мог бы сделать свою работу, а всем остальным намного проще.
Трудно объяснить преимущества этого моей команде. Они склонны просто принимать вещи такими, какие они есть, и не «мыслить масштабно» с точки зрения того, чтобы увидеть преимущества возможности концептуализировать всю систему по-новому - они на самом деле не видят этого, если вы сможете смоделировать огромную систему чем эффективнее, тем меньше вероятность того, что вы столкнетесь с неэффективностью памяти, остановкой потока уникальных ограничений и дубликатов ключей, бессмысленными данными, потому что намного проще спроектировать их в соответствии с первоначальным видением, и вы не столкнетесь со всеми этими проблемами, которые сейчас мы переживаем то, что, как я знаю, необычно по сравнению с прошлым, но кажется, что оно кажется им неизбежным.
Итак, кто-нибудь знает о программной парадигме, которая подчеркивает зависимости, а также продвигает общую концептуальную модель системы с целью обеспечения долгосрочной приверженности идеалу? В настоящий момент у нас в значительной степени беспорядок, и решение каждого спринта, кажется, «просто добавьте сюда эту вещь, здесь и здесь», и я единственный, кто обеспокоен тем, что вещи действительно начинают разваливаться.