简单聊聊最近的工作

6月下旬入职现在的公司,到现在恰好三个月。这三个月来进行的SAP ABAP开发对我来说可以算作各种意义上的全新的工作,有必要做一个小小的阶段性总结。

这段日子里我完成了一些开发和技术支持方面的工作,但是对自己的表现不是很满意,因此,我想出了一些改善的方向,写在这里。

寻找明确的需求、详细的需求

在流程的早期进行修改,要比在流程的达到同样的效果更容易,而且往往容易得多,这是工程实践中的一个基本道理。遗憾的是,尽管我自以为明白这样的道理,却还是不免受到相关的教训。在某前台数据导入程序的开发过程中,我就经历了到了这一点。在整个开发过程中,我花了相当的时间去理解收到开发说明书,对其中的不少内容充满了疑惑,开发过程可以说是磕磕绊绊,并不如意,最后程序只能勉强在测试的时间节点提交。这导致我在提交测试后,不得不花掉整个周末的时间在顾问的意见下进行修改。事后分析,原来这份开发说明书是在之前的一份不是很详细的说明书的基础上修改的,而本次的修改者,并不是原说明书的作者,因此该顾问对他新增内容的上下文细节不是很了解,这样文中就难免产生了一些不协调和遗漏之处。当然,我并不想抱怨这种情况,类似交接产生的误会和其它问题在工作中是无可避免的。我奇怪的是自己并没有发现说明书可能存在问题,也没有和顾问进行即时的沟通,而是对自己不理解的部分进行了开发角度的想象和脑补...这显然是不对的,如果在对需求产生疑问和不解的时候,我能花一部分时间去和顾问沟通,那我就可以在很多错误发生之前排除它们,把注意力集中在真正需要我处理的地方。假如要用一句简单且泛泛的话概括我的第一个自我要求,那就是:在做一件事情之前,首先需要明确了解自己在做什么。

写好代码

也许每个人都知道良好的代码应该是什么样子的,简单、优雅、整洁、可复用、可维护.....但这不代表在实践中把代码变成这样的状态很容易。就像在大街上分辨出美女这种任务靠本能就可以实现,但要动手把一个人打扮成美女,恐怕就很难了。我的审美告诉我,自己在工作中写的某些东西是很丑陋的。该怎样改善这种现象?实际上我已经有了一些想法,原本打算写出来。但现在到了动笔之时,在脑中整理的过程中,我发现自己当前的认识可能还比较浅薄。就像上一个话题中的道理一样,我虽然知道了一些东西,但还没有足够深刻的理解。我花了多少时间重构代码?有多少个夜晚没有学习任何知识,在看漫画中度过?相比于总结,实践才是真正的当务之急。这段内容就作为保留话题吧,三四个月之后,这一期的ERP工作顺利结束再补上。

时间: 2024-08-27 22:03:34

简单聊聊最近的工作的相关文章

简单聊聊SOA和微服务

转自:https://juejin.im/post/592f87feb123db0064e5ef7c  (2017-06) 简单聊聊SOA和微服务 架构设计中的朴素主义 前两天和一个朋友聊天,他向我咨询如何从零开始构建一个健壮.强大的软件系统,聊着聊着他忽然问我,「听大家都在说微服务(下文中有的地方会使用MSA),还有人会提到SOA,那么他们的区别到底在哪里?」.我想了想,一时也列不出来一个详细的列表,只能跟他讲说其实他们在概念上是相似的. 关于软件系统的架构设计,是一个太多人喜欢讨论的问题,尤

简单聊聊红黑树(Red Black Tree)

? 前言 众所周知,红黑树是非常经典,也很非常重要的数据结构,自从1972年被发明以来,因为其稳定高效的特性,40多年的时间里,红黑树一直应用在许多系统组件和基础类库中,默默无闻的为我们提供服务,身边有很多同学经常问红黑树是怎么实现的,所以在这里想写一篇文章简单和大家聊聊下红黑树 小编看过很多讲红黑树的文章,都不是很容易懂,主要也是因为完整的红黑树很复杂,想通过一篇文章来说清楚实在很难,所以在这篇文章中我想尽量用通俗口语化的语言,再结合 Robert Sedgewick 在<算法>中的改进的版

Java并发(10)- 简单聊聊JDK中的七大阻塞队列

引言 JDK中除了上文提到的各种并发容器,还提供了丰富的阻塞队列.阻塞队列统一实现了BlockingQueue接口,BlockingQueue接口在java.util包Queue接口的基础上提供了put(e)以及take()两个阻塞方法.他的主要使用场景就是多线程下的生产者消费者模式,生产者线程通过put(e)方法将生产元素,消费者线程通过take()消费元素.除了阻塞功能,BlockingQueue接口还定义了定时的offer以及poll,以及一次性移除方法drainTo. //插入元素,队列

简单聊聊Linux学习经历

学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内容千差万别,有的人是为了提升自己各方面的能力和素养,有的人是为了生计.而对于我一个学生来说,更是在不断地学习中成长的,从课程知识的学习,到学习做人的道理,为人处事的道理等等,都是在时刻进行中.那么,今天我就聊聊我学习过程中的一个小经历-Linux学习经历. 不知道大家对Linux了解有多少,说实话,上大学之前我对于Linux是一无所知的,因为

简单聊聊java中如何判定一个对象可回收

背景 说到java的特性,其中一个最重要的特性便是java通过new在堆中分配给对象的内存,不需要程序员主动去释放,而是由java虚拟机自动的回收.这也是java和C++的主要区别之一:那么虚拟机是如何实现自动回收的呢?它的基本回收算法又是什么呢?  这篇随笔先不介绍这些~ ~,熟话说 饭要一口一口地吃,路要一步一步地走嘛,这篇随笔主要讲解的是回收的前提:如何判断一个对象可以回收. 对java中如何判断一个对象可以回收的一般性认识 在没有学习<深入理解java虚拟机>之前,对于java中判断一

简单聊聊今天微软的变化

好久没有写博客了.由于连续多天上课,晚上备课比较累,今天起得相对较晚,早上到公司就听见教材研发部的同事在讨论.NET开源了!由于今天要上课,就没能来得及好好看看到底怎么回事,晚上抓紧来看看! 今日在Connect(“未来计划”)大会上,微软放出最后一波大招:免费和开源!看样子,所谓的Mobile First.Cloud First和Developer First不是放空炮啊! 下面简单罗列一下我所知道的变化: Visual Studio 2013免费社区版 (下载)发布 Visual Studi

简单聊聊不可或缺的Nginx反向代理服务器--实现负载均衡【上篇】

今天又是新的一周,我养足了精神去对待新一周的工作,但是今天到公司发现还是有一点空闲时间的,所以就想与之前接触过的Nginx再交往得更深一点儿. 什么是Nginx: Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.官方测试nginx能够支撑5万并发链接,但是实际生产环境能到2-3万并发连接数(只是听说),并且cpu.内存等资源消耗缺非常低,运行非常稳定. Nginx在实际生产中的应用场景: 上面已经说了,Nginx是一款高性能的http服务器,所以

简单聊聊:函数式编程

函数式编程 ( Functional Programming ) 是一种以函数为基础的编程方式和代码组织方式,能够带来更好的代码调试及项目维护的优势.本篇主要结合笔者在实际项目开发中的一些应用,简要谈谈函数式编程. 函数 在函数式编程中,任何代码可以都是函数,且要求具有返回值,如下示例 // 非函数式 var title = "Functional Programming"; var saying = "This is not"; console.log(sayin

简单聊聊大数据

抛开市场上热火朝天的大数据不谈,只从解决实际业务问题方面来看,对数据的收集.分析.辅助决策已经得到越来越多的人重视,这里简单谈一些. 一.数据处理篇 1.数据收集 简单来讲,可以把采集的每一条数据分为:事件.时间.来源.参数等几个基本元素.为了有一个直观的理解,可以参考下Sensors data,SLS(阿里云简单日志系统)这两个产品的设计. 2.数据清洗 这个主要是处理异常数据,不用多说. 3.数据仓库 ETL是建立数据仓库最重要的一环,简单来说,可以按照建议数据库表的标准去做,遵守基本的范式