Привет!
Тизер из доклада - я кажись нашёл железобетонный аргумент и пример в пользу ФА.
Это графы вызовов методов одной и той же реальной функции реального коммерческого проекта.
Слева - сделано "как обычно".
Справа - по ФА/ЭП.
Правый граф в проде (давно уже).
И это ещё на графах не подсвечена когнитивная сложность - левый при сложности всей структуры в целом, ещё будет иметь и сложность отдельных элементов намного большую - максимальная разница - 4 раза.
И правый граф работает в 300 раз быстрее (я замерял).
Оба графа сделаны на Java 8 + Spring Boot.
Левый граф сделан на Hibernate, правый - Spring JDBC Template, с небольшими вкраплениями Hibernate
Если и после этого люди ещё будут сомневаться нужно ли им ФП/ФА - я умываю руки.
#functional_architecture@ergonomic_code #whyfa@ergonomic_code #whynotjpa@ergonomic_code
Тизер из доклада - я кажись нашёл железобетонный аргумент и пример в пользу ФА.
Это графы вызовов методов одной и той же реальной функции реального коммерческого проекта.
Слева - сделано "как обычно".
Справа - по ФА/ЭП.
Правый граф в проде (давно уже).
И это ещё на графах не подсвечена когнитивная сложность - левый при сложности всей структуры в целом, ещё будет иметь и сложность отдельных элементов намного большую - максимальная разница - 4 раза.
И правый граф работает в 300 раз быстрее (я замерял).
Оба графа сделаны на Java 8 + Spring Boot.
Левый граф сделан на Hibernate, правый - Spring JDBC Template, с небольшими вкраплениями Hibernate
Если и после этого люди ещё будут сомневаться нужно ли им ФП/ФА - я умываю руки.
#functional_architecture@ergonomic_code #whyfa@ergonomic_code #whynotjpa@ergonomic_code
👍10