java.next:功能编码风格!
2014-05-14 18:03
162 查看
当垃圾收集成为主流,它消除了整个类别的 调试困难问题,使运行管理过程中的 复杂和容易出错的开发商。函数式编程的目的是做 相同的算法,你写你可以工作在更高的抽象层次 在运行时执行复杂的 优化。
该java.next语言不占用必须和功能之间的语言 谱相同的位置,但表现出功能 特征、成语。在函数式编程技术 明确的语言,但有时使用不同的术语相同的 功能的概念,使得它很难看到相似之处。在这 分期付款,我比较功能的编码风格在Scala中,常规的,和 Clojure和讨论他们的利益。
我会从一个共同的问题和必要的解决方案。假设 给你一个名单,其中包括一个单一的 字符。你被要求返回的名称以逗号分隔的字符串不包含单 字母的名字,每个名字的大写。 Java代码来实现这个算法,如清单1所示。
清单1。命令处理
因为你必须处理的整个清单,对清单1中的 问题攻击的最简单的方法是在一个必须循环。每一个名字,我看看它的长度大于1, 然后(如果它大于1)添加到大写的名字
姓的最后的字符串不能包含逗号,所以我带它 了最终的返回值。
在命令式编程,你可以执行的操作在一个低水平的 。在
语言,我被迫使用相同的底层机制(在 列表的迭代)的所有三个任务。功能性语言识别,过滤, 变换,转换是常见的操作,所以他们给你一个方法来 攻击问题从不同的角度。
函数式编程语言的分类问题 命令式语言不同。滤波,变换,并将逻辑 类别出现功能。这些功能的实现 低级变换和依靠开发者写一个函数,作为参数传递自定义 函数的行为。我 可以概念化的问题清单1在 伪代码为:
listOfEmps -> filter(x.length > 1) -> transform(x.capitalize) ->
convert(x, y -> x + "," + y)
功能性语言,你可以不用担心这个概念性的解决方案 实施细节模型。
本文由重庆上弦科技有限公司(翻译而来)
上弦科技官网 OA办公系统
该java.next语言不占用必须和功能之间的语言 谱相同的位置,但表现出功能 特征、成语。在函数式编程技术 明确的语言,但有时使用不同的术语相同的 功能的概念,使得它很难看到相似之处。在这 分期付款,我比较功能的编码风格在Scala中,常规的,和 Clojure和讨论他们的利益。
命令处理
我会从一个共同的问题和必要的解决方案。假设 给你一个名单,其中包括一个单一的 字符。你被要求返回的名称以逗号分隔的字符串不包含单 字母的名字,每个名字的大写。 Java代码来实现这个算法,如清单1所示。清单1。命令处理
public class TheCompanyProcess { public String cleanNames(List<String> listOfNames) { StringBuilder result = new StringBuilder(); for(int i = 0; i < listOfNames.size(); i++) { if (listOfNames.get(i).length() > 1) { result.append(capitalizeString(listOfNames.get(i))).append(","); } } return result.substring(0, result.length() - 1).toString(); } public String capitalizeString(String s) { return s.substring(0, 1).toUpperCase() + s.substring(1, s.length()); } }
因为你必须处理的整个清单,对清单1中的 问题攻击的最简单的方法是在一个必须循环。每一个名字,我看看它的长度大于1, 然后(如果它大于1)添加到大写的名字
结果随着一个逗号,字符串。该
姓的最后的字符串不能包含逗号,所以我带它 了最终的返回值。
在命令式编程,你可以执行的操作在一个低水平的 。在
cleannames()方法清单1完成三项任务:我,我滤波器消除单字符列表,变换利用每个名字的名单,然后转换本表为一个字符串。在祈使
语言,我被迫使用相同的底层机制(在 列表的迭代)的所有三个任务。功能性语言识别,过滤, 变换,转换是常见的操作,所以他们给你一个方法来 攻击问题从不同的角度。
功能处理
函数式编程语言的分类问题 命令式语言不同。滤波,变换,并将逻辑 类别出现功能。这些功能的实现 低级变换和依靠开发者写一个函数,作为参数传递自定义 函数的行为。我 可以概念化的问题清单1在 伪代码为:listOfEmps -> filter(x.length > 1) -> transform(x.capitalize) ->
convert(x, y -> x + "," + y)
功能性语言,你可以不用担心这个概念性的解决方案 实施细节模型。
本文由重庆上弦科技有限公司(翻译而来)
上弦科技官网 OA办公系统
相关文章推荐
- 一个自动化风格编码的文档自动生成!支持C++,Java
- Eclipse中Java开发中版权声明及编码风格的注释
- [转]Google的Java编程风格指南(Java编码规范)
- Eclipse Java注释模板设置详解/版权声明及编码风格的注释
- Eclipse中Java开发中版权声明及编码风格的注释
- java的编码风格
- java编码风格
- JAVA-编码规范-代码风格-命名
- 统一项目中编码风格(Eclipse Java code format、codetemplate)
- java:7种Base64编码和解码功能详解和性能比较
- Java编程 编码风格
- java的编码风格
- java中文编码实现C++的strcmp功能
- Google Java编码风格
- 转一篇关于编码风格习惯的文章---优秀Java程序员的编程风格
- Google为啥没有Java的style guide(编码风格指导)
- Eclipse Java注释模板设置详解/版权声明及编码风格的注释
- Java版记事本升级版(增加显示编码,统计字数,快捷键等功能)
- Google的Java编程风格指南(Java编码规范)
- 批量修改java文件编码(GBK->UTF-8),带备份和恢复功能