干什么ABAP开发者需要采取面向对象技术

ABAP对面向对象的支撑已有十多年的野史,可是在生产实践中,我们对这门技术的利用分外零星。

一派,面向过程的惯性长期存在着;另一方面,对于绝大多数二次开发工作而言,似乎并没有丰硕的理由促使开发者使用面向对象技术。二者组合的结果,就是眼前多数ABAP开发者还在只写面向过程的代码。

自家不觉得面向对象是足以解决开发中各种问题的“银弹”,可是它到底是一项经过了考验的技巧。在二零一七年的现行,多数人曾经认同面向对象给大家带来了一定的功利。面向对象的五个主题特性、多少个基本原则已经改成路人皆知的业务。关于它的日常的裨益,本文不打算再复述,毕竟相关的作品商讨一度太多。

其它,对于ABAP开发而言,它还有一部分额外的利益。在下文,我会分别介绍它们。

 

本文链接:http://www.cnblogs.com/hhelibeb/p/7641965.html

转载请注解

1, 防止过时语法

海洋世界,俺们通晓,在abap的阐明语法中,type是一贯表明类型,like是参照阐明类型。很多新手在入门时会被like与type的分别弄晕,甚至为了不离谱,完全采纳like代替type。而abap是补助为变量起一个和花色名相同的变量名的,若是程序存在着和档次名相同的变量名,开发者又不知情like和type的分其余话,代码中难免会出错。类似的“小知识”给开发者带来了不小的承受。即使那种特征已经在文档中标记为obsolete,不过,出于兼容性之类的设想,SAP仍然允许它们的行使。

只是在OO语境中,语法检查器会对过时语法报错,那使得开发者可以告慰抛开某些ABAP中留存的历史包袱,不需要再勉强自己牢记这一个无谓的规则。

其它,SAP也为面向对象编程提供了额外的工具,比如单元测试类生成。假若如故采取form的话,就只可以手写单元测试类了。

海洋世界 1

 

2, 明白标准程序

相对于客户自定义开发的始末,SAP系统中已部分程序被我们称为标准程序。SAP已经在系统专业程序中大量利用了面向对象技术,在少数产品和模块中,可以说面向对象成为了主流。比如CRM中的BOL,还有SAP正在放大的框架BOPF

ABAP的开销工作是基于SAP系统的,对标准程序的开卷领会、调试、修改(增强)是ABAP程序员工作的首要性内容。假使开发者没有早晚的面向对象编程经验的话,就很难对那些大量行使了面向对象技术的先后举办加强支付,也麻烦对它们举行跟踪与调节,从而给办事带来困难。

在协调编辑面向对象程序的经过中,大家可以逐渐知道集成、多态等概念,熟稔与面向对象相关相关的语法,借此加强协调对正规代码的了解能力。

3, 从另一个角度自省

随着工作的举办和个人左右的学问的更动,我们会对相同段效率发生新的见识,从而用新的代码来展开发挥,由此不少人有重构甚至重写代码的习惯。可是人的耐性总是有限的,重构几回,感觉自己的代码已经“差不多了”,已经可复用、便于扩张,甚至已经“接近完美”,无需再改。这是难以制止的事情,因为,人的大脑有疏失熟稔的事物的扶助,同样的男/女朋友,看久了,便会忽视他们的美丑。怎么样推进团结进一步自省?使用新技巧恐怕是一个方法。

在品尝把代码转换为面向对象的经过中,新技巧的施用会促使我们从另一个角度看待曾经过于熟知以至于被忽略的代码,激发大脑进一步运作,从而取得新的理念和诱导。原本已经固定的代码,又有何不可再一次重构了。当然,这种变更不必然总是好的。面向对象的一个引起争议的地方,就是它导致成千上万程序员、特别是中等水平的程序员,会不自觉地同情于“过度设计”,无必要地规划多余的接口和连续关系、使用各类设计情势,为扩张程序的复杂度。但对此私有而言,相相比较收益,这点代价仍可以接受的,毕竟,没有犯错,又何来发展啊?

总结

在SAP的世界里,面向对象技术已经怀有不亚于面向过程的地方,并且还在稳步地升级中。本文无意鼓吹其中的一者替代另一个,可是,对ABAP程序员而言,了然和采纳面向对象技术的能力已经变得分外必要。最终,引用一句名言作为完结:最好的海洋生物不是最强的也不是最精晓的,而是最适于变化的。