Jan. 2nd, 2020

d0ctor_z: (Default)
Мысль написать что-то подобное нижеприведенному появилась у меня уже давно, но руки не доходили, а длинные новогодние праздники - отличная возможность.

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

И так почти четыре миллиарда лет.

После всего этого меня совершенно не удивляет, что биологи, биохимики, генетики не совсем понимают, как оно работает - скорее удивляет, что что-то вообще удалось разобрать. К сожалению, подход "выкинуть весь этот кошмар и переписать все с нуля" пока даже близко не реализуем. Но чем больше я думаю над всем этим, тем больше убеждаюсь, что когда-нибудь мы к нему придем, потому что в конечном итоге другого варианта просто нет.

Profile

d0ctor_z: (Default)
d0ctor_z

October 2022

S M T W T F S
      1
23 45678
9101112131415
16171819202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 23rd, 2025 01:34 pm
Powered by Dreamwidth Studios