近日做项目的一些反思与总结
近期做项目的一些反思与总结
项目进行到现在,已经接近尾声了。在整个项目的制作过程中,自己既有进步的地方,也有暴露出严重问题的地方。让自己感到格外高兴地,是在这个项目阶段,自己真正体会到了面向对象程序设计(OOP)所带来的好处:清晰的类间关系、模块化的划分,抽象化的基类、面对变化所派生的子类,它们组成了程序整体上的结构,使用起来真的是十分的舒服。但是,与此同时自己也遇到了比较头疼的问题,需要认真地总结反思。问题主要体现在游戏逻辑(业务逻辑)的设计与编码实现的先后顺序上。
自己参与制作的是一款排除故障类型的机械维修仿真软件。让自己比较头疼的部分,主要就集中在故障的处理部分。当进行到这一部分的编码工作时,突然发现自己的项目进度变慢了,这是怎么回事?自己细细想来,觉得应该是在程序开发过程中,设计与编码在顺序上出现了一些问题,导致前半部分(正常逻辑)已经实现的功能,因为后半部分(故障逻辑)的加入,而出现了部分设计与代码修改返工的情况,影响了整体的进展。这种情况的出现,要归咎于自己在开始编码之前,没有事先把设计做好,做完整,而是只完成了局部的设计之后,觉得没什么大问题,就投入到了编码的实现当中,急于求成。殊不知正是这未完成部分的设计,会给自己带来多么大的不利影响。
排故软件,也就是说在处理系统的正常运行逻辑外,还要处理故障发生时的非正常运行逻辑。而自己在设计之初,只完成了正常运行的逻辑部分,对于故障部分,在没有做任何设计的情况下,自己“果断”把它滞后处理了,以为只要正常的逻辑设计好了,再添加故障岂不是很简单吗。这样做的后果,最终导致在正常的逻辑处理完成之后,当加入故障的处理时,又要对正常逻辑中的一些调用及层级关系进行修改,结果可想而知。现在想起来,故障的处理部分明明是整个游戏逻辑(业务逻辑)的一部分,自己怎么就对它置若罔闻了呢,这真是大错特错了。
通过这一次的经验与教训,自己真正意识到了严格执行软件开发流程的重要性与意义所在。规范化的设计阶段是为之后的编码工作打下一个良好的根基,切不可马虎大意,随意省略,否则只会适得其反。另外,不仅仅是针对详细设计阶段,对于整个软件开发过程来说,自己的规范化做的还很不到位,许多构思都还只是停留在头脑中,没有经过“文档化”的推敲就去编码实现了,这种现象今后要杜绝。自己对于文档的把控,是时候该好好加强了。
自己最大的收获,就是对于OOP的应用与体会都加深了一层,越发让自己感觉到了软件开发的乐趣所在。今后,自己会更加专注于面向对象程序设计的学习与应用,并且要不断规范自己的开发流程,让自己向一名更加专业的高素质软件工程师发展 : )
- 1楼xiaohanshenchu54分钟前
- 写的很好,非常受用