第1篇 计算机软件工程师实习报告
计算机软件工程师实习报告范文
本周是实习的第一周,很幸运碰到了产品部很有耐心的leader詹老师。实习第二天他让我做一个h5的游戏类应用, 主要用于微信中分享。之前对于自己的水平是否能完成完全没底,但感觉第一次实操确实也有点让人兴奋,之前关于产品开发的印象只停留在书本上。
詹老师让我模仿“过家家gogaga”所开发的“打电话认师姐”微信小游戏写一个类似的应用。我把原始应用找出来便开始抠代码,第一步是将套在微信接口中的原始应用抠出来(套在微信接口的原始应用只能在微信浏览器中运行,无法在电脑上测试),周二开始做,一开始我的效率非常低,因为我很多测试方法并不熟悉,在参阅了微信js-sdk后总算把原始代码抠出来,厘清该应用的基本逻辑后开始重写,在詹老师的耐心地指导和对基础知识的讲解下,我们将原始代码中120行的css代码优化到60行,将五百多行的js代码优化到只有60行,这事实上是在原有的逻辑上完全重写了,这让我开始有点成就感了。
也第一次感受到产品开发中的大局观,这种大局观更多的是体现在细节上,比如代码变量名的设置需要与文件存放联合考虑,以便日后修改和维护。詹老师在讲代码逻辑的时候亲自写了一个例子让我体会,虽然消化这些用了快一天,但感觉真的收获很大,有拔云见日之感。
实习一周后所遇到的种种困难也让我意识到自己很多问题,归纳如下:
1.尽管之前对于书本的学习有一定积累,但还是暴露出代码的不熟练,细节方面处理能力差,在细节上耗费时间太多。
2.缺乏基本的软件开发测试思路,比如之前不知道chrome具有相当强大的错误测试功能,它对于没有触发的函数也有错误提示。
3.缺乏专注的习惯,比如詹老师让我先完成功能方面,但我却习惯于去找找界面的素材,这就导致两边都没有做好。虽然认识上知道不该这么做,但是习惯上却很难改。
4.自己很多时候虽然有问题但是不能完全阐述清楚,所以跟leader沟通的时候往往支支吾吾,以后有问题自己首先得想清楚,将问题讲明白也是很关键的能力。
另外也记录一些自己的浅薄感受:
1.工科出身的詹老师对于代码的运行效率有很多的考虑,但对于用户体验和交互效果似乎稍微少点,当然也可能是我新来并不了解的原因。
2.公司在做小应用的时候并不会在用户测试和产品结构功能上讨论太多,公司要的是迭代效率,就是要快速出应用,然后再快速上线下一个。
本周接到新的任务,为制作h5的招聘页面,之前的“给师姐打电话”的h5应用还没有优化好,能做的改进的地方还有很多,leader詹老师让我先把招聘网站做好,h5应用先放放,他给了我大街网做的“中国好offer”作为参考,拿到之后确实感觉这些页面都做得很好,詹老师搜集的资源确实十分丰富,从实习到现在他发给我的参考很实用,在看完了五六十个h5的招聘页面之后开始构思,在将产品架构基本做好后,测试又发现很多问题,有技术层面的,但更多的设计本身的问题。技术的细节的问题:基于jquery mobile的开发框架国内的资料十分有限,不得不查阅原始的英文api,很多问题也只能去jqm的论坛查找,这些都十分考验英文阅读能力。css的布局问题繁杂,在各个浏览器,各个应用的渲染都不一样, 也是很折磨人的过程,我现在就碰到了css中font-weight属性在safari没有渲染的问题,至今没有解决。
逐渐体会到前端工作的繁琐与细节,需要学的东西很多,有时候可以凭自己一些小聪明在当前解决,但并没有摸到问题的根源,扬汤止沸不是长久之计,但又好像没有足够的时间来系统的摸索,我只能先将这些问题一一记下来。这些技术的'体会是一方面,另一方面便是产品的设计层面,现在就是因为产品快做好后发现有很多地方犯了低级错误,以往的纸上谈兵头头是道,等到自己亲身实践却感到把握不住很多设计原则,比如界面设计给用户造成的不必要的干扰,功能可见性的不足,逻辑上的不严谨,以下我归纳了下岗做好的h5界面存在的交互问题:
1.页面的设计初衷是左右滑动来切换页面,但给几个朋友测试后都不能进入页面后就自然而然的知道是左右滑动。
2.join us的图标给用户是按钮的错觉,在测试中很多用户以为是按钮,都会下意识的点击。
3.交互效果的乏善可陈,与滑动的逻辑似乎也没有太大关联,只是单纯的加入了一些css3的动画。
4.用于提示左右滑动的动态箭头会让用户以为是点击作用。
改进:
1.放弃join us图标
2.改为上下滑动,箭头提示更改
3.重新设计图标摆放结构
总结:这次的h5页面主要在于设计问题,事先并没有完全构思好原型就急急切投入到代码的编写中,这种开发方式本身是十分幼稚的!
第2篇 计算机软件工程实习报告
时间过的很快,转眼间已经实习将近5个月。
最先在内部系统组参与内部管理系统开发(struts+mysql+spring+mibernate),之后是去做网络交换机软件的脚本测试。现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。
至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。
1浅谈测试
一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的.其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是it阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。
2程序员的困惑
有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?
有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。
3如何调试追踪?
如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步stepover,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。
页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误,例如:缺少对象这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(xxx=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。
4一些习惯
遇到问题先自己思考,无从下手再找高手帮忙看看,注意他帮你看的思路,别在一旁闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多。
解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的问题再浪费同样的时间。
把代码写的漂亮,注释、空行、规范一样不能少,可读性是放在第一位。曾经看过一个高手写的代码,真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自己也方便别人。
任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比较好走了。
5题尾话
如果你有一份思想,我有一份思想,拿出来交换,我们大家拥有就是2分份思想,可惜这种观念,并不能深入每一个团队的每一个人,少一点自私,未必不是好事。职场到处都存在被排挤的隐患,要为自己找片草地实在不容易。但有一点要相信,只要自己不放弃自己,这世上就没有绝望的路,你可以被打趴下,可以被身边的人暗算,可以被深爱的人流放,只要你用自己决心站起来,受过的伤痊愈后就能增强你的抵抗力,一路前进!
第3篇 计算机软件应用工程师实习报告
开发windows应用程序和web应用程序的能力。现在我再去理解和c#,就会发现是个强大的新平台,而c#则是该平台下的开发语言。公司选择作为开发平台,c#为开发语言很有眼光,我很欣赏公司领导的决策。的确我感觉将是现在和未来基于windows开发的平台,不管开发windows应用程序还是web应用程序,还有web服务。而且微软也将其未来的发展重点放在上,以后还将不限平台,包括其它操作系统下都会推出,相信凭借微软的技术力量和实力,的未来会更美好。开发中用到了oracle数据库,我对oracle数据库也有了新的认识。
四、实习总结
我在此次实习过程中的收获主要有四个方面:一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了此次实习的实践任务。二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。三是在实习过程中我加入了一个小团队,彼此之间互相沟通,互相帮助,为了我们的目标而努力,让我看到了大家对于工作的热情,还有每个人的工作能力。四是为毕业论文积累了素材和资料。