云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

网站空间_数据库的软件_安全稳定

小七 141 0

吉米·亨德里克斯和他的地心之旅

任何在80年代末生活在英国的人都知道,1970年摇滚明星吉米·亨德里克斯伪造了自己的死亡,然后开始了一次惊人的地心之旅。现在已经快五十年了,如下图所示,他已经走了一半的路,由于恐龙和蜥蜴人在这个深度呼吸的空气的再生特性,他看起来比以往任何时候都年轻。

图1:Jimi Hendrix进度报告

他会走得更远,但不幸的是,他经历的一系列不可思议的冒险让他慢了下来。

现在,我怀疑读这篇文章的人中有一小部分人想知道SAP和ABAP开发之间有什么联系。你可能在想,是不是JH一直在旅途中消磨业余时间,云服务器试用,读CD或其他类似的东西?

别傻了。那里的Wi-Fi连接不好,不管怎么说,他正忙着和泥巴人之类的人打交道。

重游新娘头

我的音乐能力和门把手差不多,但在过去的五年里,我也经历了一次令人惊叹的SAP之旅,正如木匠们可能会说的"它才刚刚开始"

要想在这里找到一些背景,我需要"重温"各种各样的博客,这些博客可以被视为这段旅程的踏脚石。这就是如何将各国不同的SAP系统,全部用程序代码编写,全部用一个"大泥球"合并成一个可爱的闪亮的东西,完美地适合所有国家,医疗物联网,每个人都永远生活在天堂里,也有世界和平。

再一次,有人可能会说有点乐观。然而,正如肯尼迪所说的飞往月球"我们不这样做,因为它是容易的,但因为它是不可能的"。但他们还是照做了。

2012年5月,我回到澳大利亚,非常清楚这个问题的困难(多国代码,即不飞往月球)。因此,我联系了SCN社区,向他们解释野兽的本质,并征求他们的意见。这可以从以下几点看出博客:-

https://blogs.sap.com/2012/05/01/back-to-the-future-part-01/

到了这个阶段,我已经把所有关于OO编程的"经典"书籍和文章都吃光了,所有这些对我来说都是新闻。引用滚石乐队的一首关于孩子们"做我以前做的事情,他们认为是新的"的歌,把这句话翻过来,我以前遇到的所有问题,解决办法都在那里,如果不是总是,或者确实经常的话,在现实生活中以一种成功的方式实施的话。

一个例子就是所谓的"模板模式"。我不知道那是什么,但这并没有阻止我重新发明轮子,并在下面的2012年10月描述了一些非常相似的东西博客:-

https://blogs.sap.com/2012/10/27/crossing-the-great-divide-procedural-vs-oo-abap-programming/

时光流逝。时间,时间,时间。看看我变成了什么样,当我环顾四周寻找编程的可能性时,我是如此难以取悦。但是看看周围——叶子是棕色的,解决方案是单元测试的模糊阴影。

这听起来很陈腐,但我真的相信,让"泥球"代码可测试是解决我所有问题的方法。这是我在2013年4月写的一个博客https://blogs.sap.com/2013/04/18/are-you-writing-evil-abap-code/

测试,测试,测试

图2:Tickle先生

逻辑是,如果我想改变可怕的现有程序,使其可移植到不同的国家,也更稳定,然后把它们变成可测试的状态这不仅是一个很好的第一步,而且还将带我走上90%的路,我希望遵循

在我的博客中,实际上在我的SAP书单元测试一章的开始,我引用了MichaelFeathers的话如下所示:-

"没有测试的代码是坏代码。不管它写得有多好,也不管它有多漂亮,大数据存储技术有哪些,面向对象,或者封装得有多好。通过测试,我们可以快速且可验证地更改代码的行为。如果没有它们,我们真的不知道我们的代码是变好了还是变差了。"―MichaelC.Feathers,有效地处理遗留代码

我不能经常引用。在我的日常工作中,在我自己的代码中添加单元测试帮了我很多忙。

现在,事实证明,今年早些时候,在一位澳大利亚顾问的安排下,我似乎真的要和Michael Feathers一起工作了。遗憾的是,由于目标公司的繁文缛节(他们的损失,我不得不说,他们失去了我巨大的天才,所有可能的交替宇宙历史上最伟大的智慧,以及迈克尔·费瑟的好处)但至少我在电话里和他谈过了,他说我关于单元测试的章节没问题,而不是开始一个30分钟的咒骂,这可能是一种可能的反应。

我建议大家购买并阅读MichaelFeathers的"WorkingwithLegacy Code"(2004),尽管它都是关于非ABAP语言的,但原则是一样的。

如果你觉得有点吝啬,然后用谷歌搜索"MichaelFeathers对象导师遗留代码",你很可能会得到一个PDF摘要的要点-但这是调皮的。