6月下旬入职现在的公司,到现在恰好三个月。三个月来进行的SAP ABAP开发对我来说可以算作各种意义上的全新的工作,有必要做一个小小的阶段性总结。
这段日子里我完成了一些开发和技术支持方面的工作,但是对自己的表现不是很满意,因此,我想出了一些改善的方向,写在这里。
寻找明确的需求、详细的需求
在流程的早期进行修改,要比在流程的达到同样的效果更容易,而且往往容易得多,这是工程实践中的一个基本道理。遗憾的是,尽管我自以为明白这样的道理,却还是不免受到相关的教训。在某前台数据导入程序的开发过程中,我就经历了到了这一点。在整个开发过程中,我花了相当的时间去理解收到开发说明书,对其中的不少内容充满了疑惑,开发过程可以说是磕磕绊绊,并不如意,最后程序只能勉强在测试的时间节点提交。这导致我在提交测试后,不得不花掉整个周末的时间在顾问的意见下进行修改。事后分析,原来这份开发说明书是在之前的一份不是很详细的说明书的基础上修改的,而本次的修改者,并不是原说明书的作者,因此该顾问对他新增内容的上下文细节不是很了解,这样文中就难免产生了一些不协调和遗漏之处。当然,我并不想抱怨这种情况,类似交接产生的误会和其它问题在工作中是无可避免的。我奇怪的是自己并没有发现说明书可能存在问题,也没有和顾问进行即时的沟通,而是对自己不理解的部分进行了开发角度的想象和脑补...这显然是不对的,如果在对需求产生疑问和不解的时候,我能花一部分时间去和顾问沟通,那我就可以在很多错误发生之前排除它们,把注意力集中在真正需要我处理的地方。假如要用一句简单且泛泛的话概括我的第一个自我要求,那就是:在做一件事情之前,首先需要明确了解自己在做什么。
写好代码
也许每个人都知道良好的代码应该是什么样子的,简单、优雅、整洁、可复用、可维护.....但这不代表在实践中把代码变成这样的状态很容易。就像在大街上分辨出美女这种任务靠本能就可以实现,但要动手把一个人打扮成美女,恐怕就很难了。我的审美告诉我,自己在工作中写的某些东西是很丑陋的。该怎样改善这种现象?实际上我已经有了一些想法,原本打算写出来。但现在到了动笔之时,在脑中整理的过程中,我发现自己当前的认识可能还比较浅薄。就像上一个话题中的道理一样,我虽然知道了一些东西,但还没有足够深刻的理解。我花了多少时间重构代码?有多少个夜晚没有学习任何知识,在看漫画中度过?相比于总结,实践才是真正的当务之急。这段内容就作为保留话题吧,三四个月之后,这一期的ERP工作顺利结束再补上。