Вот есть такая проблема что логика программы очень сложная. Она сложная не потому, что написана плохо. Сложность кода естественным образом отражает сложность предметной области. Какие пути существуют в упрощении такого кода? Присматриваюсь к следующим вариантам: агентам (agent-oriented programming); явной state-machine; попытке разбить всё на компоненты, взамодействующие через передачу сообщений (SOA). На уровне кода всё становится чище (и проще в unit-тестировании), но на уровне семантики всё так же запутывающе сложно. Да и сами подходы имеют свои плюсы и минусы, оверхед. Одна задача решается, но создаются две новые.
Просто интересны истории успеха/неуспеха. Может кто-то писал ПО для авиации какой-нибудь, которое является системой зависящей от сотен параметров _одновременно_? Такие системы еще эволюционируют со временем (когда бизнес требования меняются). Кстати, в Linux kernel логика непростая, особенно в планировщике задач и i/o, но там вроде как революционные изменения происходят не часто.
Похожие темы
- Форум Рефакторинг (2016)
- Форум Рефакторинг (2004)
- Форум Рефакторинг кода (2010)
- Форум Рефакторинг кода (2018)
- Форум Рефакторинг - можно? (2008)
- Форум [Книга] Рефакторинг. (2009)
- Форум рефакторинг slickedit (2006)
- Форум Настало время рефакторинга (2013)
- Форум Подкиньте самую адово сложную задачку по алгоритмам (2013)
- Форум Автоматический рефакторинг кода (2011)