使用功能性java项目有什么经验?

我正在阅读以下问题 – 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)级联.

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...