软件工程实践总结--爬山成长

一、个人成长

1.学习和使用的新软件

1)墨刀

在结对编程的时候第一次接触到这种原型设计工具,觉得这个工具好牛掰,可以随性设计自己想象中的app,但是现实是 好丑啊!有时候已经想好界面的布局了,但是画出来的时候感觉总有哪里空洞或是不对称。当然了,做得比我好看的大有人在。但是practice make perfect,后来的我,设计的页面也相当不错(自我陶醉一下...)

2)Android Studio

Android Studio 是一个Android集成开发工具,原来开发Java是用eclipse,加入了jar包也可以用于Android开发。用着用着就觉得还挺好用的,还能在上面直接使用Git。

2.学习和使用的新工具

1)Git

拜访Git领主:Git领主是一位明君,将整个领地治理的井井有条,对它的子民总是慷慨解囊,给予帮助(比喻是否十分形象呢)。

Git是一款免费、开源的分布式版本控制系统。Git被开发出来的初衷本是为了更好管理Linux内核,现在已经被广泛应用于各种大中小型项目中。斯锅ing(厉害吧)。但是刚接触的时候是很难体会到它的强大的,也远远把它想简单了。没有搞懂它就去使用简直是个灾难,我们曾经在merge的时候出了问题,差点就一日回到解放前。但我们只掌握了一些基本的指令,导致有时候不知道怎么处理冲突。其中还有很多精妙的地方等着我们慢慢去发现。

2)Typora

写博客用markdown排版。开始都是直接在用代码写,再发布。后来发现这个工具可以很方便我们写博客。能设标题,列表格,插图片等省去了很多繁琐的地方。

3.学习和掌握的新语言

由于java之前学得比较透,所有好像没有掌握什么新语言

4.在软工实践中共完成了多少行代码

网络请求部门加测试大约2800行吧

5.学习和掌握的新方法

1)learning by doing

开始项目之前老觉得没有经验怎么知道做个软件要多久啊,怎么知道预先设计的功能点能不能完成啊。觉得要把知识点通读一遍才有把握去做,但实际上是边学边做效率更高。以前不喜欢,现在完全接受。

2)团队学习

这时候学习不是一个人啃书本啦,有所分工,每人负责摸个模块,交流分享中,感觉迅速对项目整体了解得很透彻。也不像自己学那么苦啊。独学学不如众学学啊。软工实践是一个不可多得的学习机会。

6.其他的提升

1)团队协调

有时候赶工,有时候队友脚步慢了,需要合理协调去共同处理。这时候不是叹气,而要让团队充满斗志。

2)软件评测

通过那次K米软件评测的个人作业,今后在对一个软件进行评价就有个底了,而且栋哥的这些要求我觉得都是很经典很经典的。感觉很有帮助的一次作业。

3)更加成熟

我想说其实是熬夜使我们更加的老了,哈哈,玩笑话啦。再过两个小时就跨年啦。我们又大一岁,马上就要找工作咯,这时候努力学习专业技能提升自己算不算一种成熟呢。

二、我的人月鬼话--项目实践中经验总结

1.团队精神

对于团队而言,伙伴之间的友好相处和相互协作至关重要。这样一来,我们就能够实现友谊和项目的双赢。所以无论身在什么样的团队,都要有团队精神,这样凝聚才能发挥出最强的力量和潜能。

2.要提升自己学习能力及解决问题的能力

我们作为程序猿的新星产物。今后的学习中,很多都是要自己盲闯,有时你撞墙了也没有人提醒你该怎么绕过。这时候我们学习能力和解决问题的能力就显得非常重要了。我们平时应该注重学习能力的培养。遇到问题找谷歌,没有人的知识储量胜过谷歌大神吧,只要我们会用大神 ,天下岂不是尽在我手了。

3.软件工程前期要打好基础,做好需求,切忌提起脑瓜就敲代码。

理论课也会强调的,编码绝不着急,重要的事先做好了,编码还用愁吗。而实践中能体会到,需求绝对很重要,一次到位也是最快的。否则迟早陷入崩溃之中,幸好有栋哥带领,不然就是一次惨痛的教训。

4.先完成任务,后“行乐”

我想表示,即使作为一个程序猿,也是要实行可持续发展战略的,不要常常熬夜太深,把身体搞垮。所以,很重要的一点就是早点把任务做完,别说什么没到晚上大脑就没思想,没战斗力。别老让人家说我们秃顶啊。当然了,及时完成的当天的任务,偶尔熬夜我觉得是没问题的。

三、建议和期许

1.对“小跟班”(下一届)的建议

实践除了带来熬夜这一不良效果,其他的收获是巨大的。当然,熬夜也不是必须的,但总难免。所以我建议学弟学妹们都能选上实践,虽然过程是痛苦的,但回望是幸福的。

2.想对开学初的我说些什么

虽然开学初什么都不懂,但只要有师傅引入门啊,后面道理很快就通了,所以有机会一定要早点接触这种东西或者其他东西,因为我想要知道的东西实在太多了啊,(穿越回两年前找到自己,对他说)现在的你不学,看看我现在是个渣渣啊,以后的你就这菜样,你怕了吗,怕就别再偷懒啦。

3.对后来人的期许和下一届实践的建议

听说下两届软工实践就要变成必修了。我希望老师们都采取一些好的制度(栋哥这就很好),能让每个人都参与进来,每个人都学到东西,而不是一些报大神腿的实践,像编译原理。这样即使必修,其价值也将大打折扣。不过必修的话,我觉得还是有小部分人可能适应不了栋哥的模式,栋哥可以分个类,对那些小辈们手下留情。(ps:我不是说栋哥很残忍,别打我)

四、《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?

  • 萌芽:都是班上同学,早都是熟透的萌芽

  • 磨合:尽管需求做好了,还是会有小改动,这时候就需要商量了,大家很有激情的,效果都是立竿见影。偶尔也有某个模块因为改动某个地方就牵一发动全身,这才是真正的磨合。

  • 规范:经历过Alpha版本后,基本上都知道规范的重要性,因为之前的调试BUG带来的痛。

  • 创造:来个gamma,团队就达到创造了。

五、阅读笔记

1.衡量自己的代码质量

看到题目我忍不住说:我?泥球?怎么可能?

但我冷静后还是决定客观的评价一下。我在编码的时候严格遵照了之前制定的编码规范,至少当队友帮我一起找我那部分的错误的时候没有提出异议。命名规范很到位。由于大部分参照资料,所以思路还比较清晰,该有的注释也有,不会乱。(再次强调这是我冷静下的分析结果哦)

2.如何衡量自己的代码质量

我觉得很重要的一点是可读性强,这包括命名规范,编码规范统一,适当的注释,然后是尽量减少代码的冗余,能够复用代码,减少代码量。

六、怎样证明你学会了软件工程?

1)研发出符合用户需求的软件

谈谈需求,我作为一个大学生的角度,认为“一起买”这款软件能够给我带来好处和便利。下面这些话都是我很想说的,都被老师说掉,但我还是要说。我们研发出了公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户)的软件。

2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 。没错,我们在栋哥的带领下,这些全都实现了。我们没有临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

3)并且通过数据展现软件是可以维护和继续发展的。

每个阶段均有相应文档,需求文档,编码规范文档等做得十分详细。特别是需求文档,人均花费数十小时,文档页数35页。

七、相处一学期不易,课堂和课程上,我们将就此别过。可惜学生匆匆,时光匆匆,认识和了解的同学却很少。另外我年纪渐长,记忆日衰,会遗憾有时候我连个性或名字都没有记住。写一段话,介绍下你自己吧。

曹鑫杰。一名信心十足的程序猿。一心想要成为大牛却懒。喜欢计算机,喜欢程序猿。

八、个性发挥,包括图文、照片和创意等

很高兴”沦落“到栋哥班上,栋哥有句话说错了,年纪渐长的是我们,你”虐待“我们玩得可开心了,开心的人时光也没办法。哈哈,最后感谢栋哥和助教们的付出,让我们有爬山式的跳跃提高!你们幸苦了,谢谢谢谢谢谢!

posted @ 2016-12-31 21:47  干吧得  阅读(1018)  评论(3编辑  收藏  举报