本文主要是介绍写了两周的代码的感悟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
好久没有更新博客了,实在是没精力(虽然我一直很亢奋~),但新浪围脖还是经常写写的,谁让它方便呢。月中要忙着复习考试,但手头的项目又催得那么紧,何况还是一个人在战斗,只能分心多进程操作,代码写累了看会儿书复习,复习得枯燥了再写写代码,是不是有点疯狂……最近虽说放假了,但我依然没有闲着,因为上头要进行集成了,我得拼命赶啊,还头一回在家熬了夜。哎,给任务的人只知道要这要那的,哪有说的那么轻便啊……
苦水倒完,说说阶段心得吧。
先是工作的进度。项目就是做一个基于BPEL的服务组合系统,说白了就是做个编辑界面用来绘制流程,然后后台解析成BPEL代码,最后扔给执行引擎处理它。
编辑界面我是用flex做的,因为个人愚见觉得好集成,而且一直很想学,反正从带项目的老师那学不到什么现成的经验就自己找机会学点吧,边学边用(哈哈,是不是风险很大)。现在主要的编辑组件已经基本做好了,下一步工作就是写编辑环境了。其实我对最初设计的编辑组件已不大满意了,准备重写,但现在是没时间,等交了第一个版本后再说吧。现在界面方面的技术难点应该就只有和服务器的对象通信了,虽然之前实验过,但现在的对象模型很复杂了,不知结果如何。flex方面的总结之前的文章已经说过了,什么拖放、绘图、右键菜单之类的,暂时没什么补充了。
后台的代码转换是Java写的,最顺手的语言啊。转换的含义是将前端传来的数据模型转换成BPEL代码,这是最难点。现在完成了第一个版本。前端的数据模型是我根据需求要求的语义和BPEL结构自己设计的,全是POJO,因为这样可以直接和flex交互。估摸着肯定是这个模型设计得不好,这个“翻译”算法就折磨了我好几天,即使现在用的算法也不是很完善,有些语义的转换还只能先搁着。
经历了这两周的代码编写,我深刻体会到了语言基础细节、设计模式和算法的重要性(有点像在做套话式的总结~)。这个细节比方说对象的传递,基础类型和包装类(比如Integer、String什么的)都是传值的,不是引用(可以在调试的时候发现,不是引用的没有内存地址),所以有时候在设计方法的时候需要改用自定义的封装类。设计模式的重要性以我现在的功力还只能体会,没水平表述出来……至于算法嘛,后悔大一大二没有好好专研,现在要想个方法真折磨人,这里主要体现在解析编排的活动结构上。代码中用到了不少java现成的数据集,比如ArrayDeque,现在很想有空看看这些数据集的源码到底是怎么实现的。
另外,项目我用了Google(现在知道谷歌和Google是不一样的了,嘿嘿)的code平台做了版本控制,兼带开源的目的。
这篇关于写了两周的代码的感悟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!