实习总结

欢迎掘金的小伙伴们访问个人我的博客 ,原文连接:wensibo.top/2017/08/31/… 面试

距离上篇文章已通过去一个多月了,这段时间之因此没有更新文章不是由于偷懒,而是由于在实习。7月份的时候来到了目前的这家公司实习,当初笔试的时候本身作的不是很好,后来面试时也有些地方变现地也不尽如人意,不过最后仍是很感激我老大给我来公司实习的机会。在实习的一个多月时间内本身也学到了不少,今天这篇文章就记录一下个人学习过程。编程

学校&公司的区别

来到公司实习,其实本身已然不是一个学生了,别人也不会当你是学生,因此不少事情上须要本身去跟上团队的节奏。学校里学到的东西不能说没用,可是与实际的公司实际上是有许多不匹配的,咱们更须要将本身学到的知识运用在实践中,而不是单纯地纸上谈兵;从另一个角度上来说这也是为何企业招员工时很喜欢招那些有必定的项目经验的学生。很幸运的是本身以前有过必定的项目经验,虽然谈不上是多大的项目,可是这些经历足以培养一我的独立完成工做、独立解决问题的能力,这点也偏偏是在课本上很难学到,可是在实践中却又颇有必要积累的。
上面的道理你们都懂,可是没什么卵用,我举个例子向你们说明一下这个问题。
我有一个工做内容是阅读以前的一个eclipse工程,并将这个工程移植到Android Studio平台上
你们或许以为这个工做内容很简单啊,Android Studio自己就很强大,彻底能够解决这个问题。实不相瞒,我一开始也是这样想的,可是当我阅读这个旧的工程的时候,我以为本身回到了"远古时代",之因此会有这样的感叹,不是由于代码写的很差,而是整个工程缺少必定的架构思想,致使一个Activity文件动不动就600~700行,有的甚至到了1000行,尽管逻辑不复杂,可是性能确定是大打折扣的,而且若是工程往后是别人接手,或者往后须要扩展功能,那么将会完全地违背了开闭原则(对扩展开放,对修改关闭)。也是基于这样的理由,我就打算将整个项目进行重构,而重构使用的方法则是我常常在项目中使用的MVP设计架构,尽管这种架构仍然有他诟病的地方(代码量很多反增,逻辑也会更加的复杂),可是这仍然不失为一个较好的选择。肯定了目标,我也就开始干了,也正由于有了以前项目的积累,因此重构起来也才驾轻就熟。架构

须要慢慢培养的技能和规范

技能

作程序开发,经验是须要慢慢积累的,而技能也不是一会儿就炉火纯青的,须要经历项目的考验才能慢慢成为巨人,在这里我列举一下我的以为比较重要的开发技能。eclipse

文档阅读能力

许多大公司都有维护文档的习惯,而且文档的数量和质量也都是顶呱呱的,做为进入团队的新人,对于业务不熟悉的时候,第一时间并非问老大问同事,而应该本身阅读文档,固然不得不认可的一点就是我一开始是比较笨的,遇到问题就问我老大问我同事,到了后来我才悟到这点,也算是积累吧!工具

前面讲的是要有阅读文档的习惯,接下来说讲要怎么去阅读文档。想必你们或多或少都会看Android官方的文档吧,可是应该不是每一个人都看得下的,这里我也认可其实我对官方文档仍是有些许排斥的,不只仅是有的时候都是英文,增长了阅读的难度,固然对于本科生而言,英语阅读不该该成为开发的阻碍,再者就是尽管将英文翻译成了中文,读起来仍是有些许的晦涩拗口(也许是我我的的感觉),可是。。。不得不认可的就是官方文档是最权威的,而且它的不少内容是颇有帮助的,毕竟文档是由项目的开发者编写的,没有人比开发者还懂项目了吧!另外文档中有的时候还会记录一些开发者遇到的坑,做为项目的接手者,如何避免跳入这些坑,看这些文档就对了。我我的的建议就是:性能

  • 要静下心来阅读,而且适当的作一下阅读的笔记,将冗杂的内容提炼出真正对本身有用的东西,这里推荐一个Chrome的插件——简悦,他能让你沉浸在阅读之中,排除掉页面其余无关元素的干扰
    简悦图示
    简悦图示
  • 再者就是不要妄想一会儿就读完整个文档,毕竟这是不少开发者花了许久才编写完成的,咱们要作的就是阅读与你相关的内容,或者你感兴趣的内容,这样的效率才会比较高一点。

独立解决问题的能力

文章开头讲到咱们在课本上学到的知识不少时候并不会派上用场,可是当真正须要的时候咱们却早已遗忘,若是你在开发的过程当中遇到了一些困难,首先并不该该也不推荐直接向本身的同事询问解决方式,毕竟别人也有工做要作,这里我很是感谢个人同事和老大,由于刚进公司时初出茅庐,不少事情都不是很懂,向他们请教了好多好多,可是你们都十分的nice,很耐心的为我解答,他们帮助我很快的熟悉了业务,很是感谢他们。
话说回来如何独立的解决问题呢?如下列举一些我积累的方法,不过你们日常都有用到的啦!学习

  • 善于利用搜索引擎尤为是Google。搜索引擎装的东西确定是要比人脑多的,而且互联网为全世界的网民提供了知识分享的平台,你遇到的这个问题或许别人也遇到过,而且已经有了解决方案。搜索引擎

  • 利用好Stack Overflow 。这是一个编程问题问答平台,不少人遇到问题以后都会来这里提问,若是你对某些问题有了解决方法,那么就慷慨的给出你的答案吧!插件

  • 仔细分析代码。若是上述两个方法都不能解决你的问题,那接下来就得靠你本身了,有多是你写的代码存在某些问题,这个须要你耐心地去排查,若是问题解决了,那么你应该在你的文档或者笔记中记录下这个问题,为团队提供解决方案,而对本身而言也是一种积累。翻译

规范

规范在企业中十分地重要,体如今软件开发中就是指代码的编写规范、工具的使用规范、版本控制工具的使用规范、文档的编写规范等等。这里讲讲代码的规范和版本控制工具的使用规范
其实二者的关系十分的密切,由于不少时候代码是须要提交到版本控制系统上的,在这里我就指公司使用的比较多的SVN了。举一个例子,也是我老大跟咱们强调的一点,在开发过程当中代码的每行的缩距虽然并非特别的重要,不少时候每一个人都有每一个人不一样的缩距方式,可是这在团队协同工做的时候就会存在问题,例如我将Android Studio的默认行缩距进行了调整,将代码提交到了SVN,接下来个人另一个同事查看个人代码时,发现缩距有点奇怪,因而为了阅读的方便,他将缩距调整为本身可以接受的程度,当阅读完代码以后,SVN提示个人同事已经将代码修改了,可是实际上他并无对代码作一些实质性的修改,只是作了缩距的修改,但这仍然被SVN识别成一次成功的提交,因此这就是问题所在了。解决问题的方法就是团队约定一个准则,使用IDE的默认缩距设置,这样就不会存在这种问题啦!

接触和学习新知识

正所谓术业有专攻,每一个人都有本身擅长的方面,可是知识是不断更新的,而且也不多人可以作到对整个知识体系的每一块都了然于胸,因此若是到了新的团队,接手新的业务,而开发内容是你不熟悉的,那也没有必要慌张,这个时候你得尽快的熟悉这方面的知识,经过许多的手段去让本身融入团队,这个才是新手的最佳技能。

尾声

以上就是这段实习经历中我学到的一些经验,写出来与你们一块儿分享,也当作是这段实习经历的总结,对之后的工做或许会有帮助。但愿你们会喜欢!

相关文章
相关标签/搜索