为什么我们要学习函数式编程?为获得更好的软件设计技术!
成都创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达10余年累计超上千家客户的网站建设总结了一套系统有效的全网整合营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:效果图设计等企业,备受客户赞许。
一天,我们设计了一个流程,来校对款项的收支平衡。下面这张图就是我们在几年前设计出的结果:
那以后我们开始学习函数式编程。函数式编程让我们以数据流的方式思考过程处理:数据进来,做变换,过滤,计算,最终的结果就是输出。不仅软件是这样工作的,每段代码,每个函数,都模型化成数据输入,数据输出。中间没有状态的变换。
按这种方式思考问题使我们得到了这样的流程图:
把程序当成数据管道的思考方式使我们关注结果应该是什么,而不是每一步应该如何做。这种更高层次的思考问题的方式使得我们在系统设计阶段避免陷入细节实现的泥潭中。
不管用什么语言写成解决方案,这样的方式思考能让我们获得下面的好处:
* 功能细化。(黄色的框代表JIRA任务)需求在图上已经显得非常明白:输入什么,输出什么。每项任务都能独立的开发。
* 每个字节都可测试。涉及到数据库的代码已经放到了外面;不仅如此,每个方框都完全由输入输出来定义。对于测试来说这是一种最简单的单元组件。
这样一来,函数式的思考方式对敏捷编程(任务分解),TDD,和程序的可维护性都有好处。代码变的模块化。问题变得更容易分析,因为我们能够知道每一步骤数据的样子。
相互独立,易于测试的组件:这就是函数式的。
新的编程技巧是有趣,但新的画白板的技术却是一件大事。
英文原文:Why Functional Matters: Your white board will never be the same
本文链接:http://www.aqee.net/why-functional-matters-your-white-board-will-never-be-the-same/
本文名称:为什么函数式编程很重要:不一样的白板图
网页网址:http://www.shufengxianlan.com/qtweb/news0/245200.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联