`
ds3783
  • 浏览: 5094 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

项目开发的一点经验

阅读更多
20?80?
    一直自诩为“打杂的”,简单的说,就是什么都干:项目相关文档、架构实现、自动构建、设计文档、编码,包括现在的项目在内,一直都是这样做的……
人的精力是有限的,即使天天加班也只能抓住那目前致命的20%时,剩下80%谁来做?低年级同学凭借能力和自信只能完成整个任务的50%,并且做的漏洞百出的时候,导致的结果只能是不得不推迟发布期。
结论是,虽然只做了20%,但需要检查验证的是100%。


代码的价值?
    有人说代码是不值钱的,又有人说代码是很值钱的。前者说随便找个程序员都能弄出来一堆代码,后者说那些代码都是程序员用血汗写出来的。结论是完美无误的代码才值钱,代码中有一点瑕疵都有可能导致整段代码作废。
    曾经看到过青年导报的一篇文章报道公司老员工能够创造不止3倍于新员工的价值,最根本的原因在于老员工懂得把事情做到位,回想很长一段时间来做的事情都不是很到位,忏悔。


文档、约束与时间
    阅读文档被很多人当成是浪费时间的事情,因为之前读过了。但是当事情出了问题却在抱怨文档中没有说明。
认真反复阅读软件工程上一级甚至上N级流转下来的文档,只会带来无比巨大的好处,而不会影响任何的进度问题。一个项目经理或者测试人员能够把需求文档熟读到倒背如流的程度,无疑这个项目是成功的。


可怕的测试
    曾经有两天出差时间,于是让A同学根据设计做编码,让B同学根据设计写单元测试代码,并且特地对B同学强调“你觉得A会出什么错误你就怎么写测试,但你不要问A这个错误会不会出现”。出差回来了解到情况是,编码完成,并且所有测试都通过了。打开IDE一看,而测试代码仅仅针对每个接口的每个方法做了相应基本流的一般测试(测试数据基本上没有代表性)。找到B同学问:“写了这么多对CRUD的测试有没有测试出什么问题?”答曰:“有,比如保存之后没有flush……”当时拿刀杀人的心都有了。
测试应该从需求出发,按照每个需求中描述的特性进行针对性的测试,针对领域模型的测试应该是对领域层中实现的每个用例进行测试。测试代码也需要从需求出发,好好设计一番。PS:真的很佩服B同学那么有耐心的写了好多new XX()然后调用了每个setXXXX方法,仅仅为了测试两行代码:
getHibernateTemplete().saveOrUpdate(obj);
getHibernateTemplete().flush();


文档?文档!
    某日,正在紧张编码中,突然MSN上A同学找我:
引用

同学A:XXX功能的保存方法出错了
我:什么错误?
同学A:是个空?
我:空是什么东西?
(1分钟后)
同学A:这是抓图(抓图中错误信息是null)
我:看看什么异常?
同学A:……NullPointerException
我:堆栈呢?
同学A:java.lang.NullPointerException:null
at com.company.xxxxxxxx……

    上述问题了解问题花了3分钟,解决问题花了1分钟,整理回原来的思路花了5分钟。
    另一次,与测试组讨论中:
引用

同学B:XXXX流程走不通。
我:怎么走不通?
同学B:XX操作的时候出了一个错。
我:我刚刚测试是好的啊,你那边出了什么错?
同学B:那是个什么什么错,一串英文。
我:那串英文是什么?
同学B:你看发给你的错误报告文档,那里面应该有。
(转到错误文档,找了半天发现一句“XXXXXX,上报出错”,汗……)
同学B:(很不好意思地)我机器上有抓图。
我:你机器IP是?
同学B:192.168.0.XXX
我:?远程桌面连不上?
同学B:哦,我远程桌面没开。
我:文件共享呢?
同学B:我也给关了。
我:那我怎么访问到你的机器?
同学B:好像访问不到
(沉默……)
同学B:(更不好意思地)我下楼把图片发给你把
(于是,勤劳的B同学就在19楼和13楼中又跑了一个来回)
PS:公司测试部门在13楼,会议室在19楼

    文字比语言更能够达到有效沟通的目的,我们的客户能够在反馈问题的时候把错误屏幕截图和堆栈异常粘贴出来,我们为什么不能呢?

分享到:
评论

相关推荐

    Java开发经验及技巧集大汇总.pdf

    Java 的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点: 1、掌握项目开发的基本步骤 2、具备极强的面向对象的分析与设计技巧 3、掌握用例驱动、以架构为核心的主流开发方法 ...

    C#工控上位机项目开发(1)

    大家在做项目的过程成长不需要重新开发可以直接调用,同时大家有什么需要后续可以联系有关工控行业的资料这里都有,现在先将C#上位机开发以及前期课程准备的整套完整体系课程更新完成,一点一点学习相信大家学完本...

    Java开发个人简历和项目经验.pdf

    这是我面试公司的用过的版本,写的不好,但是项目经验不少,你们可以改改,模板挺好,就是有些字面没大写,技术上面写的有一点问题,但可以用。

    web项目,实战经验

    Forward机制: 这种方式是在服务器端作的重定向。服务器往client发送数据的过程是 这样的:...如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么这种重定向方式将不起作用,这一点应该特别注意。

    我是如何带领团队开发项目的

    展示一个我在项目开发方,后台服务开发方式,前台UI 开发方式,后台服务与前台UI 对接方式, 代码文档,页面的开发文档,源码管理,单元测试,以及单元测试文档,实现思路设计文档,数据库 文档,数据库设计规范,编码规范,操做...

    BACnet 开发经验总结

    BACNet资料太少了,有用的高效的资料更是少! 资料太少,摸索着实在太辛苦,这是BACnet项目完成之后的一点开发经验,希望对正在摸索的各位同仁,有所帮助。

    项目功能大全,让你的项目一天搞定(给新手们一点干货) | iOS开发 - CocoaChina CocoaChina_让移动开发

    16/3/4 下午1:46项目功能大全,让你的项目一天搞定(给新手们一点干货) | iOS开发 - CocoaChina CocoaChina_让移动开发更简单

    单片机最小系统开发项目算法汇总

    自己在做项目的时候一点总结,希望能帮到你!!!

    接触力软敏捷开发框架三年,我的一点感想.zip_cavefl5_创业_力软_快速开发平台_敏捷开发框架

    接触这个框架有三年的时间了,初次接触b/s型开发项目时,是在指导人员的帮助下完成的,技术上确实也学到了一些东西,但个人觉得最大的收获是在开发软件项目的过程中,自己意识上的提升,如做项目是考虑其合理性安全...

    Django项目开发Demo

    Django项目开发一个小型Demo,从sqllite一步一步的简单教程,代码既有前端,也有后端代码,结构清晰易懂,稍微有一点基础的人很快就可以看懂,希望对需要的人有帮助

    基于opencv+QT的多对象图像跟踪系统源码+文档教程演示(毕业设计&课设&项目开发)

    基于opencv+QT的多对象图像跟踪系统源码+文档教程演示,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心下载使用~ 基于opencv+QT的多对象图像跟踪系统源码+文档教程演示,适合毕业设计、课程...

    java版本开发的微信支付项目

    用java技术开发的微信支付开发,开发h5支付。 原生调用js支付。 里面附有公众号开发的官方api,妈的研究了3天才搞出来 遇到了一些问题 1.微信支付必须要用微信的内置...3.一定要注意参数的大小写,一点也不能有问题。

    基于TypeScript开发的数字化农产品溯源小程序源码+项目操作说明(毕设项目).zip

    基于TypeScript开发的数字化农产品溯源小程序源码+项目操作说明(毕设项目).zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能...

    底层工作者手册之C语言基础及项目开发

    底层工作者手册之C语言基础及项目开发,内容虽然短小了一点儿,但是我觉得它是精华。

    BACnet网络开发经验总结

    BACNet这个东西的资料太少了,有用的高效的资料更是少! 资料太少,摸索着实在太辛苦,这是BACnet项目完成之后的一点开发经验,希望对正在摸索的各位同仁,有所帮助。

    svn 多个人共同开发项目工具

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。...说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

    基于springboot与Vue开发的CMS系统源码+项目说明.zip

    有了它你只需要懂一点springboot 和 VUE即可在几天的时间内快速开发出一个简单的web应用。 【后端技术框架】 springboot + spring JPA + mysql 【前端技术框架】 VUE + VUEX + axios + adminLTE3 【注意】 1,本地...

    一看就懂的Android-App开发入门教程

    工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣。...

    maven项目转换WEB项目

    不习惯于maven项目开发,想使用eclipse的普通web项目。想借鉴别人的maven项目,但是自己使用的却不熟悉maven的原理等等,但是需要懂一点maven的目录架构。

    Java开发基于SSM框架的医院体检预约管理系统源码+项目说明.zip

    Java开发基于SSM框架的医院体检预约管理系统源码+项目说明.zip Java开发基于SSM框架的医院体检预约管理系统源码+项目说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! ...

Global site tag (gtag.js) - Google Analytics