网站服务器_华为云服务网页版_年度促销

时间:2022-05-12 09:10       来源: 微辰云

网站服务器_华为云服务网页版_年度促销

如果你去问10个有经验的程序员他们最大的职业恐惧是什么,7个会说他们已经过时了。我没有任何确凿的数据来支持这样的说法,这纯粹是经验,我去问了我的9个同事,得到了这些答案。一些比三分之一的开发人员更严肃的人得出结论,他们担心A。我将取代他们,但那是另一个讨论。

所以我在这里,10岁的ABAP开发人员试图赶上SAP的最新技术。我开始写这个博客是为了一年后我可以在其中再看一次,让我在未来的一年里决定是否有任何改进,或者这只是浪费时间——尽管我相信,没有时间来教育自己就是浪费时间。希望我们不会很快到达这一点。

在阅读了Paul Hardy ABAP的未来之书-帮自己一个忙并得到它之后,淘客返利系统,需要改进的主题变得很清楚:

面向对象编程概述。测试驱动开发和ABAP单元。业务对象处理框架(BOPF)。Floorplan Manager和其他UI技术(可能是SAP UI5)。ABAP for SAP HANA.

为了提高面向对象的能力,我决定从《面向对象分析与设计》一书中拿出一些例子,这本书也很好,很有趣。第一章描述了一个吉他店的老板,他决定放弃他的纸质吉他跟踪系统,开始使用计算机系统来管理他的库存。很自然,他购买了saperp并聘请了一位顾问来实现他的系统。这是我们吉他店老板迈克最初的类图设计:

好吧,这有点令人失望,但仍然是一个很好的开始。每个GUITAR都由抽象的ZCL\u guitars表示,它与数据库表ZGUITARS的结构相同。

在ZCL\u guitars中没有什么可看的,企业软件正版化,因为它只表示一个数据结构,里面没有任何行为。与其创建setter和getter方法,产业云,不如创建一个公共属性并使其只读。

在TDD方法中,在创建任何产品代码之前,您应该首先创建失败的测试,然后只编写足够的代码使测试通过。这是为了确保您的所有代码都经过了正确的测试,并且您的系统工作正常。因此,如果我想将吉他添加到清单中,首先需要创建一个测试方法。在Eclipse中这是一件非常酷的事情,请转到源代码底部的"测试类"选项卡,键入单词"test",按CTRL+SPACE,代码中有一个模板正在等待插入

add\u guiter方法为空,因此在运行此测试(CTRL+SHIFT+F10)之后,Eclipse IDE会显示失败的测试:很公平,只需要在add\u guitar方法中填充一些代码就可以通过测试。add\u guitar方法应该将guitar添加到清单中,清单表示为类内的哈希表

然后类定义会变成这样

哈希表的一个非常酷的事情是,当您尝试插入重复记录时,大数据+,它们会抛出异常。恼人的是,这个特性显然只适用于次键。这让我别无选择,只能检查测试方法中的Sy-SuBrc。第一个测试通过了。

现在让我们创建一个测试,在其中添加一个重复的记录。这里让我思考的是如何管理add\u guitart方法引发的异常?。根据SAP的规定,中移物联网,测试方法不应该捕获异常

但是当您引发异常而这个异常没有被引发时,该怎么办?上一个链接中推荐的解决方案对我不起作用。即使在第二次调用被测试的方法之后,异常也没有停止测试方法的执行,并且我得到了一个错误错误,即没有引发异常。删除cl\u abap\u单元\u assert=>fail调用后,测试通过了。

不管怎样,这里是整个测试类