我正在阅读以下问题 –
How safe would it be to use functional-java to add closures to a Java production project?,我一直在考虑在我目前的项目中使用
Functional Java project.我想知道Stack Overflow的用户使用Functional Java项目的体验是什么?特别是,我对这些具体细节感到好奇:
解决方法
我一直在一个使用FJ图书馆的团队,我知道别人.在一个团队中,它被用来替代较少抛光的本地图书馆,另一个则取代了Google Collections.我也知道有些人仿照FJ的源代码来滚动自己的实现.
在我看来,如果你必须使用Java,那么你应该使用像Java这样的东西来使你的生活变得更轻松.
Did it increase code quality or clarity?
以功能性风格写的代码更简洁,因此更为清晰.图书馆随附,鼓励使用不可变数据结构,提高质量.图书馆还鼓励组合继承,这提高了代码的可重用性.
Improve productivity?
当然.具有更强大工具的开发人员更有成效.根据我的经验,开发人员认为,一流的功能使编程变得更加轻松愉快.快乐的程序员是有生产力的程序员.
Reduce potential points of failure?
一个更有功能的编程风格阻止了可变状态,从而消除了一大类错误.此外,更强大的抽象导致更少的重复,这减少了出现错误的地方的数量.
Impact performance?
没有理由相信表现会受到一种或另一种的影响.所提供的数据结构是为易于使用和表现而不是性能而设计的,但它们的写法最为完美.与其他任何事情一样,驾驶驾驶比起驾驶更为重要.例如,fj.data.List是一个链表,因此它具有O(n)随机访问和连接,因此您可以为此避免使用它.相比之下,fj.data.Stream具有O(1)级联.