个人开发经验总结

做软件开发了两年多时间了,遇到过比较多的困难,伴随着一个个难题的解决,对开发有了一步步认识的增长。

1、编码之前的需求明确是完全必要的。刚开始编程时,习惯了学校的那种边写边改的风格,到工作时才发现,这种开发仅仅只是适合个人开发,因为如果这个东西完全就是自己想出来的,想必自己对需求很明确,但是也不是完全明确。之所以说不是完全明确,是因为自己也不是完全肯定可以实现,只是摸索着前进。这样有两个弊端,一是开发的进度难以把握,也就是不具有可预测性,这对于软件公司来说是难以忍受的;二是如果项目由团队完成,尤其是需要其他的模块支撑的,对于需求的明确就显得尤为重要。明确需求其实就是一个确定其他模块接口,对于自己模块实现的一个掌握,对于模块内的小的子模块,如果由团队其他成员完成,彼此之间确定接口也是很重要的。明确需求就是明确了实现。

2、设计模块时要充分的考虑各种情况。模块开发尤其设计到多个进程以及用户进程和内核交互的设计,需要注意各种异常情况,尽量确保模块本身的健壮性。充分考虑不是说一上来就要将所有可能遇到的情况全部堆起来,这样难以建立一个初步的模型。设计时跟一个工程的数学模型的建立差不多,都要先抛开所有其他与关键功能不想关的情况,建立一个最原始的模型,确立输入,明确输出就ok。之后再一步一步的丰富这个模型,当然这个原始模型可能会随着后续分析的深入,模型会不断的修正,但是基本大的框架不会有太大的偏差,除非是关键功能没有明确,这其实属于上面第一点经验中的问题。敏捷开发一般会在基本需求明确后,逐步加深分析进而实现,实现也是逐步进行的。比如:设计思考了10步,实现就已经进行了5步,甚至是9步,而且敏捷提倡的是先将关键的而且难度大的需求先实现,这样的好处就在于前期分析没有关注的地方在实现的时候变成了难以实现的点,尽早的进行迭代,确保工程进度。

3、抽丝剥茧与面面俱到。这两点其实还是设计的一个思路问题,抽丝剥茧其实是一个透过现象看问题本质的过程,一个模型的建立,就是一个模块框架的设计过程,模型的好坏直接决定着后续框架实现的难度和维护的成本,这个其实是一个很关键的步骤,也是一个非常具有难度的过程。说其关键主要是因为其是模块的根本,没有什么可多说的。说其难度大,主要是因为考虑方方面面的东西,说是面面俱到其实也不是很准确,因为这个过程不是为了各个方面都要兼顾,而是集中考虑,择优实现,哪些是密切相关的,又有哪些是无关紧要,但是又必须考虑的,哪些是完全没有必要考虑的。将这些个问题的汇总就会比较容易确定实现,也就明确的工程的难点和工作量大的点。由于个人思维的局限,这个工作团队成员进行头脑风暴比较靠谱一些,各种情况列出来讨论,各种解决思路列出来分析,会比较快的在团队之间达成一个较优方案,这样也有利于团队成员的协作开发。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值