课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网软件编程开发行业的不断发展,软件编程开发形式和方法也有了很多的变化,而今天我们就一起来了解一下,面向对象编程的发展经历。
一般,编译器经过一系列阶段或“传递”来处理这些数据结构,每一步的输出被送到下一步的输入中。
在曩昔,我倾向于依照引荐的OOP款式为每个操作中的每个目标设置一些逻辑。这带来不好的后果,当我增加更多步骤时,目标变得越来越复杂。
更糟糕的是,这使得给这些目标写单元测验反常困难。这些复杂的目标在被创立出来之前就需要许多的根底结构。这意味着为了测验一个目标,我有必要创立许多的脚手架来满足一切先决条件。
成果,我的测验覆盖率往往很差,由于编写测验是一项消耗许多精力的作业。
最近,我采取了另一种办法。在我最新的编译器中,一切这些内部数据结构都是“傻瓜型”的,意思是说它们所做的只是保存数据罢了,没有别的。用于操作和转换目标的一切代码都在这些目标的外部。
这对代码的安排有很大的优点。每个算法都集中在一个当地,而不是涣散在一堆源文件中。当我想测验一个特定的编译器操作时,我能够轻松地创立一些示例目标并将其供给给该操作。因而,我的测验写起来更简单了,所以我就能写更多的测验了,然后就能有比曾经更好的测验覆盖率了。
联系数据库
前面我提到过,以面向目标的办法处理联系数据库会有问题。目标联系映射(ORM)被一位谈论家称为计算机科学范畴的越战。(正告——那篇文章很长,很深奥,并且有点倾向性。)
我的大致感觉是,在处理大数据时,你不该将你的记录视为“目标”。联系数据库十分强壮,但它们供给的强壮功用并不是十分“类似目标”。我倾向于以为联系数据流更像流体,你能够运用代数运算的办法来区分,转换和组合数据。
函数式编程
在曩昔十年左右的时间里,人们越来越关注函数式编程(FP)。与OOP一样,函数式编程不仅仅是单纯的一件事物,而是一套整体的风格上的原则。但是,它的关键是,尽管OOP专心于与目标进行交互或通讯,但在FP中,要点在于对它们的转换。这里的“转换”,意思是你获取一些目标,将它传递给一个函数,成果是一个全新的目标,代表着对输入内容所做的一些转换。原始目标要么被保留,要么被丢弃,但不会以任何办法被更改或修饰。
在我自己的编程过程中,我更喜爱“混合”办法,在某些当地运用FP技术,而在其他当地运用OOP技术。在处理某些问题上FP的确能大放异彩,但也有另一些问题上OOP是更明智的挑选。
我知道许多FP爱好者都热衷于“朴实”的函数式语言,其中一切目标都是不可变的,并且只能被转换,而不能被修改。但是,我发现朴实的办法倾向于把某些相对简单的编程实践变成谜题。我的意思是一些聪明的,但不那么显而易见的技巧,这能招引那种喜爱脑筋急转弯的人,可是对其他人来说却是完全无法了解的。
因而,我倾向于在合理的范围内运用FP,使阅览我代码的一般程序员都能了解。假如我想做任何抖机灵的事情,我会写一篇长篇谈论来解说我所做的事情,以及它是怎么work的
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!