zoukankan      html  css  js  c++  java
  • 软件开发无敌心得篇

     

     

    软件开发无敌心得篇

    一。软件开发个人体会:

    1. 软件领域中的知识在于积累。

    2. 做软件开发,就类似算数学题和世界杯足球赛一样:重在结果,而不在乎过程。

    3. 软件服务于人类,软件是在解决一些生活中的问题和错误,问题决定解决方案。

    二。做软件开发我觉得要明白:

    1. 职业的乐趣:

    (A) 用自己的智慧去创建新事物的快乐

    (B) 开发对别人有用的东西

    (C) 不断学习来充实自己

    2. 职业的苦恼

    (A) 总是追求完美

    (B) 所有要实现的功能由他人而定

    (C) 概念设计计是有趣的,但找Bug总是很苦恼的

    三。在开发中遇到问题应该怎么去解决?

    1. 不明白就多问,不要自已一直去琢磨

    2. 一个问题如果30分钟还没有解决就应该考虑是不是问问别人

    3. 一个问题在没有用过3种以上的方法解决过就不要去问别人

    4. 解决问题思路是关键

    相信问题总归有解决的办法,就算连技术上都没法实现的问题,相信通过良好的沟通终究也会有解决的方法。

    5. 解决问题的前提是:理解别人的意思,理解别人的需求,多沟通,及时给客户反馈信息

    6. 8638狼友论坛,8638game

    四。怎么样才能提高自身的能力?

    1. 程序员怎么样进步最快? - 理论结合实践

    2. 不要怕出错,不怕遇到错误,有错误就有挑战,这样才可以进步,但不要让同一个石头把你绊倒2次。

    五。怎么样才能做好软件开发?

    1. 首先要明白解决的问题是什么,理解问题,其次再决定怎么解决这个问题

    2. 碰到很复杂的问题,我们就简单想,把问题简单化,细化到能够实现为止

    3. 出了问题,我们要先分析问题,然后知道引起问题的原因,最后并想出问题的解决办法

    4. 我们应该从2个方面去把握一个项目:从业务角度和项目的关键问题上去把握一个项目

    (A) 从不同的系统场景

    (B) 从不同的用户角色(充当什么角色)

    (C) 从不同的系统使用角度(拥有那些权限)

    7. 8638狼友论坛,8638game

    5. 其实我觉得开发人员说实在应该要比使用系统的人更了解系统需求,只有真正彻底的了解了项目的业务需求,我们才能做真的做好这个项目

    六。文档的重要性

    记得我当初刚来上海,开发项目的时候都是,公司接到一个项目,然后有项目经理和客户沟通,然后写个大致的需求说明书,做一个E-R图,画几个大致的数据流程图,然后建立数据字典和表结构关系。 再接着搭建一个开发环境,配置几台服务器,划分一下模块,分工,我们就可以Coding了,一直到项目结束了,也没有完整的设计文档,更没有完整的测试文档,虽然这样的确是很快的完成了Coding工作,感觉上好像节省了好多成本和开发时间,但后期的维护和Bug 就是经常出现的事。

    小项目没有文档关系不大,但如果遇到一个大项目的时候,那这样的开发方式就很有问题很危险的。

    8.  8638狼友论坛,8638game

    大项目没有文档: 首先维护就很麻烦,也很乱,写的代码,过几天都不知道它是完成什么功能的了,其次系统的稳定性和可靠性也让人怀疑,扩展性就不用说了。

    七。我的收获

    A.国内程序员大多都不喜欢写文档,我以前也是特讨厌,记得以前都是系统开发完了,为了应付项目验收,就匆匆忙忙的一组人在那里补文档。在我的思想里,所谓的文档就是一些废话,一句话硬是用十句话来代替的无聊透顶

    B.代码风格要规范

    以前做公司项目,我都是不怎么去注意代码风格和写代码的规范,都是稍微想一下就直接开始写代码了。注释也很少用,总感觉我自己写的代码,我怎么会不知道它做了些什么事呢 ?总觉得我自己写的代码我怎么会不知道它是用来做什么的呢。一直都不相信这是个事实,但事实上,项目验收后,系统刚开始使用的人少,也就不会出现潜在的错误,随着时间的增加,久而久之,当大量用户并发访问的时候,系统的Bug 就暴漏出来了,那时你再用熟悉的Eclipse打开整个项目的源码时,再去看自己写的代码的时候,真的发现,我定义的这个变量名是什么意思啊 ? 我的这个Flag 是用来判断什么的啊 ?我的if()中条件不知道是判断什么? Function () 也忘记是什么功能了? 想想好可怕啊。 难道真的都忘记了吗 ?回答是肯定的: 真的忘了。

    心得体会:

    9. 8638狼友论坛,8638game

    通过做对日软件,在这1年的锻炼中,我才真的体会到,良好的文档是正规研发流程中非常重要的环节,一个好的程序是先写好设计文档再进行编程的,在设计文档的指导下,才能写出安全的代码。如果你不写文档,一开始就写程序,这样你就不会按已设计好的路线走,而是想到哪写到哪。小功能还好说,要是大功能,就容易混乱.

    刚开始来公司我还很不习惯这一系列的编程风格,很多的规范,尤其是命名,方法和注释,都有这着很多限制,让我觉得日本人的真罗唆,写个程序完成功能不就可以了吗,明明1小时做完的事情非得让人用3、4个小时去做,我现在真的明白这样做的好处了,我已经习惯这样的编程风格了,这也养成了我的一个编程习惯了,深有体会啊。

    最忙的时候就是我成长和收获最多的时候。

    八。LOOK项目的体会

    前几个月Look项目的开发,虽然技术上没有太大问题,但过程并不顺利。

    我觉得是主要有以下几个原因:
    1.  前期没有明确的分析文档,为了让快点看到成果,只凭着简单的需求文档进行开发。
    2.  中期的详细设计文档也是修修补补,每次都是QA问过之后,对方才去核对,然后发现很多地方不一致,再回过头来修改,这样以来,导致我们的代码也是修修补补,最后由于变化很大,所以基本上完全都没按照从前的式样书来开发,很多都是参考QA和邮件来改。
    3. 系统没有统一的中心流程,虽然可以用,却经常走入死胡同。一开始就把PC版和Mobile版分开来设计,而最后客户想要的结果的是2个系统表现层显示的数据要完全一样,以致于我们现在都还对应障碍。

    10. 8638狼友论坛,8638game

    所以软件开发真正的工作不是系统设计和写代码,而是用户的需求。

    因此,我觉得项目开发的开始时候,应该由项目负责人很好的对项目是什么项目,具体大概做什么事情,是谁提出来的,目的是解决什么问题,以及里面用到的很多专有名词做个细致的说明,而不是从一开始就分几本式样书,给个静态Html Demo看看,然后搭建好开发环境就按照式样设计书来开发。

    虽然LOOK项目做的很失败,但我觉得这个项目是我收获最多的,让我从中学到了很多有用的东西。

    九。软件测试(单体测试和连接测试)

    我首先认为,编写程序的时候不要想出了问题再解决,而是要想如何不会出现问题,要根据经验来预测可能出现的问题,然后避免出现。

    11. 8638狼友论坛,8638game

    测试,说的直接点就是给软件找错误。

    很多人认为发现错误是软件测试的唯一目的,查找不出错误的测试就是没有价值的测试,实际上我不这么认为,

    我觉得对开发人员来说,我们要把测试出来的Bug都应该做个分析,知道错的原因之后,我们就应该在下个项目中防止类似的错误发生,而真正来提高我们开发的效率。

  • 相关阅读:
    修改apache的默认访问目录
    禁止浏览器直接访问php文件
    使用Apache Bench进行压力测试
    关于mysql(或MariaDB)中的用户账号格式
    单表查询
    CSS设计指南之一 HTML标记与文档结构
    SQL SERVER技术内幕之10 可编程对象
    SQL SERVER技术内幕之10 事务并发
    观察者模式
    中介者模式
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3100793.html
Copyright © 2011-2022 走看看