Программистское мракобесие
Я почему-то думал, что когда 10 лет толпой людей разрабатывают сложные системы, там не делают так, как я - держа все знания по проекту только в виде кратких текстовых набросок по поводу архитектуры, часть информации в голове(чтобы можно было проектировать в уме в любое время), и основную часть - в виде структуры проектов и кода в системе контроля версий.
А вот оказывается, что так и делают:
К этому моменту я выкинул все свои диаграммы классов, за ненадобностью – зачем на них смотреть, если они давно уже в голове?
А вот оказывается, что так и делают:
К этому моменту я выкинул все свои диаграммы классов, за ненадобностью – зачем на них смотреть, если они давно уже в голове?
Re: pt. 2
Предыдущий комментатор вообще вроде как описал свою "контору" - банковский софт, что-то вроде "диасофта" скорее всего. Там в разработке - конвейр. Явно выделяются компоненты, пригодные к повторному использованию, они хорошо документируются, и используются в качестве "кубиков" на заказных проектах. Некий подход.
Только это не "продуктовая" компания, и проблема, о которой я говорю, в ней почти не возникает. Код, во-первых, у них слабосвязен и относительно устойчив - и это основное отличительное свойство, его поддерживать легко.
Во-вторых, данные приложения построены в основном на комбинации покупных технологий, своих собственных технологий там нет.
В третьих, они просто меньше, и очень просто устроены и структурированы по сравнению с биржевыми системами системами класса CQG, которым требуется как собственной разработки сервера БД для работы с таймсериями (SQL-сервера в этом классе задач сосут), так и собственные графические фреймворки (графики навороченные рисовать), так и собственные DSL (трейдерские индикаторы и стратегии описывать). Требования к банковскому софту помягче - нет требований рилтайма, не надо уметь работать в отказоустойчивом кластере на сотне серверов, и не требуется собрать котировки со всех бирж по всему миру в единый "фид". Короче, простой он, банковский софт, на самом деле.
Или, скажем, если сравнить с тем же MS Office. Майкрософт, впрочем, предпочитает в случае с офисом просто избавляться от старого кода в новой версии (речь не о Visio с Project - это как раз legacy), и не иметь названных проблем, переписывая его нафиг - средства позволяют. Или, скажем, с сервером компьютерной телефонии или коллцентром.
Но при этом, оратор считает, что он знает все, и люди говорящие о поддержке больших систем - просто ленивы и безалаберны. Даже это понятно - он другого-то софта не видел, кроме банковского, с чем ему сравнивать. Короче, все понятно, что тут телепатировать. :)
Re: pt. 2
Я просто сделал две ошибки:
1) повторил его грех "знаю всё" и начал телепатить.
2) предположил, что поскольку Вы работали над long-time-support системы, то Вы, возможно, не знаете как обстоит дела в лавках пишуших "одноразовые приложение". Похоже, Вы это знаете куда лучше меня =)