Java 公告式编程(上)重构代码
近一两年函数式编程变得很火,火了之后,就变得什么都好,其实相对于面向对象编程他确实具备少量优点,例如可测试和维护。但并不表示他什么都好,这个世界不是非黑即白的,很多事是无法衡量对与错。是灰度。所以对于那些适合函数编程的场景我们可以重构代码,将命令式或者面向对象更改为函数式编程。例如函数式编程更为笼统,需要我们思维缜密,设计精巧。而命令式或者面向对象地编程就更易于了解和设计。
命令式编程:命令“机器”如何去做事情(how),这样不论你想要的是什么(what),它都会按照你的命令实现。
公告式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。
Java 8 非常精彩,有许多可以拍手称赞的新的特性,以后给家详情。
重构代码是一种好的习惯,可以让你在精益求精中提高你的代码质量。
下面通过具体例子说明一下。示例中我们将命令式编程的代码重构为公告式编程
一个遍历找出质数的小程序,起始这个在我们的代码中比比皆是。
我们找出肯定范围数字内的质数,这样表达意思很清晰,在从 1 到 7 (range),能否为质数,传入一个函数作为 noneMatch 参数来判断能否为质数。这里还去掉中间变量 divisable 节省了内存开销,而且语义清晰。
第二示例,是我们读取一个文本文件,而后找出文件中 test 单词出现次数
这里有许多没有必要的校验代码例如
(line = bufferedReader.readLine()) != null)
以及少量中间变量例如line
修改简单明了,这就是函数式编程的强大之处,简简单单几行代码就能达到同样的效果。
最后一个示例是分类,根据员工的等级进行分类
修改为公告式编程风格的代码
也可以这样写
今天就到这里,感谢大家支持!
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Java 公告式编程(上)重构代码
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Java 公告式编程(上)重构代码