从菜鸟蜕变成高手血淋淋的总结

 这篇工作总结是我在半年前写的,现在回头再看看这些内容,感觉很多的错误真是微不足道,但这些确实都是当时经历过的血淋淋的教训,现在写出来与大家共勉。希望大家不要犯类似的错误。

【前言】 以下是我在进入某大型项目组一直到现在碰到的一些问题以及相应的原因分析和解决办法。这些都是看似漫不经心的错误,但有可能其中的绝大多数问题你都碰到过,也可能因为这些问题而揪心了一阵子,最后在有相关经验的人的帮助下或者自己的苦苦摸索下才得以解决问题。对这些问题进行总结有助于以后不再犯类似的错误。我们并非天才,所以很多东西我们并不能天生就会,犯错误再所难免。同时,我们也并不是蠢才,相同的错误我们决不能犯第二次!
本文完全是自己实践后的总结,可能有些问题虽然解决了,但并不代表共性,所以仅作参考最好,并不能保证一定就能解决问题。
若有什么错误,望指正。


第一部分 关于开发工具——Eclipse
1.1 问题描述:项目名上出现红叉,项目名下的资源包却没有红叉。
可能原因:JAR包冲突。
解决办法:检查一下你项目下面的JAR包是否有冲突,若JAR包太多不易检查干脆重新导一次JAR包。

1.2 问题描述:项目名上出现红叉,项目名下的资源包特别是HTML、XML等文件也有大量红叉。
可能原因:MyEclipse的自动校验问题。
解决办法:Window-->Preferences-->MyEclipse-->Validation-->选中Disable All-->Apply-->OK
注意:若上述步骤后还有红叉请参考1.1

1.3 问题描述:直接右键Import导入一个工程后,无法导入第二个工程
可能原因:不清楚
解决办法:
<1>、将整个项目COPY到你的workspace下
<2>、File-->New Web Project-->填写好项目名称后(要与上述拷贝的项目名称一致)点击Finish
<3>、右键需要的资源包-->Build Path-->Use as source folder
<4>、更新web.xml文件
接下来就是导JAR包等一系列操作,不再赘述。

1.4 问题描述:不知道所有方法列表的快捷键
可能原因:对Eclipse的快捷键不熟悉
解决办法:Ctrl + O

1.5 开机后会无法打开MyEclipse,且CPU占用率100%
可能原因:不清楚
解决办法:开机后不要先打开MyEclipse,可以尝试先打开Notes邮箱,奇怪的是,这样问题再没出过。

1.6 问题描述:设置断点后,停在某个页面无法进行后续操作。
可能原因:没有去掉断点。

解决办法:去掉断点,或者停止断点操作。

1.7 问题描述:Tomcat启动后不报任何错,DEBUG模式启动Manager工程,一直停在首页,Shell不报任何的错。
可能原因:
<1>、设置Debug时Classpath里面的资源包和JAR配置不对;
<2>、Tomcat的Web Context-root和Debug设置里面的Arguments项目参数不一致
解决办法<1>:正确设置Classpath和配置JAR包;
解决办法<2>:右键项目名?Pproperties?MyEclipse?Web?将Web Context-root和Debug设置里面的Arguments项目参数设置成一致。

1.8 问题描述:Tomcat启动很慢。
可能原因:部署在Tomcat里面的项目过多。
解决办法:Remove最近一段时间并不常用的项目。


第二部分 关于项目管理工具——SVN

2.1 问题描述:不知道如何更改SVN账户?
可能原因:不熟悉SVN的相关操作。
解决办法:
<1>、找SVN管理员申请一个SVN账号;
<2>、查看你的Eclipse中使用的是什么SVN Interface,查看办法:
windows--> preference--> Team--> SVN #SVN Interface
<3>、如果是用的JavaHL, 找到以下目录并删除auth目录下的文件:
C:"Documents and Settings"[YourUserName]"Application Data"Subversion"
<4>、如果你用的SVNKit, 找到以下目录并删除.keyring文件:
[eclipse]"configuration"org.eclipse.core.runtime
<5>、下一次提交的时候会有个对话框要求你输入用户名和密码,保存该设置。

2.2 问题描述:怎样正确无误的提交自己的代码?
可能原因:不熟悉SVN操作
解决办法:
<1>、同步配置库代码;
<2>、点击Incoming Mode,若有红色标记,先看看是否有自己改动的代码,若没有的话就直接更新,若有的话就按冲突处理(下述);
<3>、点击Conflicts Mode,若有冲突,先备份本地文件,然后进行覆盖并更新操作,接着将备份的文件跟配置库文件进行比对,并提交自己改动的地方;
<4>、解决了所有的冲突之后,更新所有文件;
<5>、提交自己的代码,并填上提交内容、时间和责任人。


2.3 问题描述:怎么用SVN从配置库下载代码?
可能原因:不熟悉SVN操作
解决办法:
<1>、获得SVN下载的Url:右键项目名称?Properties?Subversion,复制Url路径;
<2>、到MyEclipse的工作空间下右键?SVN Checkout?在URL of repository一栏粘贴上述<1>所复制的Url路径?OK?YES;

2.4 问题描述:SVN无法提交代码
可能原因:管理员上了锁
解决办法:找管理员,知会需要提交的文件,要TA解锁。

2.5 问题描述:怎样查看SVN修改历史?
可能原因:不熟悉SVN操作
解决办法:右键点击文件?Show History


第三部分 关于数据库操作以及PL/SQL的使用
3.1 问题描述:怎么过滤 My objects?
可能原因:不熟悉pl/sql相关操作。
解决办法:点击Filters图标(page3.1)-->选中My objects-->勾选Default-->OK


3.2 问题描述:有没有存储过程的编辑器?
可能原因:不熟悉pl/sql相关操作。
解决办法:如page3.2所示File-->New?Program Window-->Procedure-->在弹出的对话框中填写存储过程名称后点击OK即可。


3.3 问题描述:怎么提供脚本?
可能原因:不熟悉pl/sql相关操作。
解决办法:如Page 3.3 点击File正下方的那个图标?点击Command Window?在弹出的对话框中编辑你的脚本,调试无误后即可保存在本地磁盘(.txt或则.sql)。

Page 3.3
    

3.4 问题描述:怎么查看表的详细信息?
可能原因:不熟悉pl/sql相关操作。
解决办法:右键表名?View即可查看表的结构,包括主键、索引以及建表语句。

3.5 问题描述:怎么新建PL/SQL用户?
可能原因:不熟悉pl/sql相关操作。
解决办法: 在如下路径下的文件D:/oracle/ora92/network/admin/ tnsnames.ora下添加用户。

3.6 问题描述:给数据库管理员提供的脚本有哪些要求?

可能原因:不熟悉团队管理。
解决办法:首先,需要提供升级脚本和回滚脚本,回滚脚本是针对升级脚本而言的,升级脚本的每条语句都要和回滚脚本一一对应,即执行一次升级脚本再执行一次回滚脚本之后会恢复原样。其次,必须保证脚本能正确执行!

3.7 问题描述:改动表结构的时候没有考虑数据割接。
可能原因:个人经验问题。
解决办法:对表的结构作任何改变之前一定要先考虑数据割接的问题!


第四部分 关于需求分析和设计
4.1问题描述:没有充分理解需求怎么办?
   可能原因:对整个项目不熟悉,包括业务、代码结构、数据库设计等,导致心理没底气。
   解决办法:对业务和技术上若有任何疑问一定要及时搞明白,不能有任何的疑点。不要怕丢脸,一定要有打破砂锅——问到底的精神。多和SE交流意见,直到SE、测试人员和自己的意见统一时才算需求分析结束。

4.2问题描述:需求理解出现偏差怎么办?
   可能原因:没有和测试人员、SE达到意见统一就开始编写代码。
   解决办法:
   <1>、事已至此,首先不要诚惶诚恐,要保持冷静的头脑。
<2>、其次,静下心来好好想想,偏差出现在了哪里,一般情况下不可能出现需求理解完全相悖的情况,所以,那些意见已经达到一致的尽量保留,重点解决出现偏差的地方。找到偏差的地方后,再好好想想为什么会出现偏差?怎么解决才不至于前功尽弃?找到症结后就对症下药,争取将影响降到最小。
   <3>、以此为戒!

4.3问题描述:怎么进行软件设计才能让风险降到最低?
   可能原因:无。
   解决办法:
   <1>、利用画图工具尽量仿真的将程序设计的流程图展示给客户和测试人员,然后大声的讲解自己是怎么设计的,不要怕犯错误,这总比中途发现上述问题2好。直到彻彻底底的理解无误。
   <2>、评估设计过程中需要用到哪些技术?分析这些技术哪些自己已经掌握?哪些没掌握但并不难?哪些难度大且需要寻求帮助的?若有难度一定要提出来让大家一起想办法,否则会影响整个团队的进度。
   <3>、上述准备工作做好后就可以开始CODING了。
   <4>、开发过程中,先解决工作量大且功能相对完整的需求,这样到了后期预见到不能按期完成时可以寻求帮助,将那些工作量不大但功能点多且分散的需求交给已经完成任务的兄弟们解决。(记住,这是个互助的,这次他帮你,下次你一定要帮他!)即使不能按时完成,也只是小的功能点,风险已经降低。
   <5>、虽然我们开发人员已经取消了单元测试和集成测试,但这并不代表我们就可以肆无忌惮的提交功能。还是要对照自己当时的设计,看看有没有偏差,
自己设计几个测试用例跑跑看,至少确保整个流程能跑通才能将代码提交到配置库!

4.4问题描述:开发过程中,总感觉需求之外的地方不够完美,总想去改改。
   可能原因:恭喜你,你是个完美主义者。
   解决办法:除了自己负责的需求外,若没有任何影响,就不要再考虑其它的地方。不管你的改动是正确的还是错误的都是得不偿失,因为改错了面临的一定是客户严厉的批评,改对了就会给用户一个幻觉,认为我们所做的事情并不难,下次会提更多的要求。

4.5 问题描述:开发过程中,自己负责的需求以外的地方确实需要改动。
可能原因:以前的开发维护性不够好,导致牵一发而需要动全身的局面。
解决办法:
<1>、对需要改动的地方进行风险评估,对必须改动的地方向自己部门的PL和SE反应,以及存在哪些风险都要如实汇报;
<2>、PL和SE同意改动后,先提个问题单,然后知会负责自己这一块的测试人员;
<3>、经过上述准备工作后就可以开始改动了。

4.6 问题描述:开发过程中,发现当初的设计并不合理,想临时改变某些地方的设计,甚至要推翻重做怎么办?
可能原因:当初设计的时候没有预见到风险,开发一段时间后才发现问题。
解决办法:可以参考上述问题5的处理办法。


第五部分 关于团队合作
5.1问题描述:脾气一向都很好,但开发过程中,总会有情绪低落的时候,这时候容易对测试人员产生抵触的心理。
   可能原因:连续高强度的工作导致心理和身理到了疲劳期。
   解决办法:情绪不好的时候,告诉测试人员(其他同事也一样)这个问题我们稍后再考虑,趁这个机会赶紧去泡杯茶、出去走动走动,待情绪稳定之后调整好笑容主动去找测试人员讨论问题,绝对不能将自己的情绪发泄到团队的任何人身上!

5.2问题描述:开发过程中,工作正忙的时候,对分配过来的问题单产生抵触心理。
可能原因:在当初评估工作量的时候,没有将这些突发事件考虑进去。
解决办法:一般情况下,每次给自己制定工作计划的时候,预留出至少1天半的时间来缓冲这些突发事件。再就是开发的时候,前期一定要抓紧一点,不要懒懒散散的,前期忙一点也是为了后期不至于压力太大而产生各种负面影响。

5.3问题描述:自己分配的任务不重要,或者感觉有劲无处使怎么办?
   可能原因:刚进部门没多久,需要一个熟悉的过程。
   
解决办法:只要是任务就不要区分重要不重要之别,尽心尽力完成好每一个任务,久而久之,你会发现自己的角色变得越来越重要。领导也希望自己的手下个个都能干,这样他也会少操很多心。

5.4问题描述:发现有些同事不好相处甚至排斥自己怎么办?
   可能原因:那个人正好那天那个时候情绪不太好或者就是个心直口快之人。
   解决办法:和其他同事一样照样交往,工作中不带任何个人情绪,用真诚的态度去相处,无愧于心就行。

5.5问题描述:开发过程中如何权衡开发进度和解决问题单的问题?
   可能原因:想按计划早点完成开发任务。
   解决办法:首先区分问题单的严重程度,若很严重且影响测试进度的一定要优先解决,若问题并不严重也不影响测试进度且工作量比较大的可以考虑延期处理。最后一点,同等情况下(包括紧急度,影响度,工作量等方面)优先解决问题单。
第六部分 关于开发经验

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值