В то время как предыдущий пост показывает, как преобразовать традиционный код в функциональный, он не дает ответа, почему это необходимо.
Есть несколько причин, и все они важны и актуальны. Я считаю, что главная причина – это надежность кода.
Любой подход/инструмент/методология/и т.д., повышающий надежность кода, позволяет нам создавать все более и более сложные системы. Вот почему мы используем каждую отдельную технологию, которая повышает надежность кода – тестирование/статические анализаторы кода/и т.д.
Используя функциональный стиль, как показано в предыдущем посте, мы привлекаем компилятор, чтобы помочь охватить как успешный, так и неудачный (или нулевой/ненулевой) результат каждого отдельного промежуточного вызова. Как следствие, компилятор помогает нам устранять целые классы ошибок, включая, например, NPE. Да, еще можно выстрелить себе в ногу. Но это намерение должно быть четко выражено в коде при таком подходе.
Оригинал: “https://dev.to/siy/why-use-functional-style-in-java-44o4”