`
leton2008
  • 浏览: 20112 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

写给实习生

阅读更多
这一篇文章是我在一个多月的实习期后,特意抽空写给公司的实习生的。
发表于此,希望对大家也有所帮助。
------------------------------------------------------------------------------------------------------------------
经过一个多月的培训期,对你们也有一定的认识和了解了。
你们现在正在写工程实习的课题代码,趁现在我有空的时候,我想跟你们说一些自己的想法。
 
以前我实习的时候,是去高中代课。那时候的我也是不认真的,现在回忆起来,略有遗憾。
我希望你们能认真的使用实习资源,现在公司提供给你们的资源也挺丰富的。实习终究和你们在学校上课是有区别的,并不是一味的讲课,更多的是希望通过实习,让你们认识自己的能力,重新准确定位自身,同时也是希望你们能适应走上工作之后的变化。但是这一个月以来,更多的仍然像是老师带领学生在学习,而不是组长或经理在带队工作。这是你们都需要改变的地方。
 
我不确定你们是否都想从事软件行业,或者你们是否都能从事软件行业。但是我仍然希望能将我入行以来的一些想法分享给你们。
成为一个合格的程序员,需要具备以下几点:
1,首先要学会做人。改变自己的性格,学会容纳别人的建议。学会谦虚的态度,遇到问题不是被问题打败,而是去寻找解决问题的方法。学会跟你的团队合作,我一直认为软件开发和管理,首先跟人交往,再来是跟机器沟通的,团队合作的重要性是显而易见的。
2,养成良好的编码习惯。上面有说过,代码首先是给人看,再是给机器执行的。那么良好的编码是必须的。因为你的代码编码风格很好,并且注释完整的话。会给带来以下好处:
     a,容易定位错误,并且容易进行调整与修改。比如,你在很多地方都用到一个读文件方法,后来发现在某一个语句块内存在问题,如果你没有将这些相同的代码抽象成一个方法,那么你有可能要修改很多地方才能修复这个问题。
     b,方便代码维护,在上面也提到了维护的重要性,只有保证你的核心代码能有单一职责性,这样更方便维护。目前大多数的软件都不是由一个完成的,软件英雄的时代已经结束。良好的维护性,也能让你博得他人的欣赏。
     其实良好的编码的好处不仅限于以上两点。
     现在我们需要做的就是养成编码的好习惯。我们可以选择采用以下的方法进行锻炼:
     ①,掌握你使用的IDE的基本快捷键
     ②,参考良好的代码版式设计,手头最好有代码格式检查的工具,例如Checkstyle和PMD等
     ③,对你的变量命名尽量小心,尽量使其富有语义。但是由于编程是老外发明的关系,所以建议尽量使用英文缩写。
     ④,慎重对待你的循环,尽量不要使用过多的循环嵌套,这样可能导致你都不明白变量变化的关系了。
     ⑤,注释,注释。类,方法,变量,属性等注释的完整性,更有助于第三者了解和阅读代码。
     关于这方面的资料可以参考 《代码大全》或其他的一些检查表。
3,资料,资料,资料。学会查阅资料,收藏资料,分享资料。学校教授的内容大都是基础理论,并且对很多问题的深入性不够。因此我们在实际工作中会有大部分的信息需要从外界获取。查询资料也是一种学问,我记得当时甚至有人出了一本书,专门讲授如何使用google搜索引擎的。
     目前的资料来源应主要包括:图书,网络,视频等三种载体,因为我们需要学会从各种载体中获取相应的信息。我相信很多人只是为了当时的某种需要去收集信息,但是我建议,当你碰到一个问题,并且你最终解决了它,那么你应该将其记录下来,因为谁也无法担保下次不会出现同样的问题,并且也无法确保下次出现问题的时候你还记得它。
    分享资料,我一直推崇。因为你从别人那里获得的知识,那么你就应该同样再将其传递出去。你要永远相信,你的这些东西会帮助更多的人解决更多的问题。
4,定位准确,扩展知识面。
   说实话,做软件这一行,变化是很快的。我两年前使用的Struts技术现在正在逐渐被取代(已经被淘汰)了,所以我也在学习struts2. 看了下面的回复,很多都对我使用淘汰struts这样的用语,认为是不正确的。其实本意不是说它淘汰了,因为根据调查结果显示struts1的程序员数量和招聘的职位仍然存在比较大的数值。不过不可否认的,struts1的局限性是必然,因此在新项目中采用struts2可能会更有帮助,楼下有位说得好,没有淘汰的技术,只有淘汰的人。
   定位准确,我以前并不是学计算机的,所以我面试的时候就跟面试官说过,我知道我自己对计算机的基础知识很缺乏,比如计算机组成原理,编译原理,算法与数据结构等计算机专业基础知识。
   为了保证自己不会被淘汰,所以我们需要不停的反省自己。
 
从学生转变到工作状态其实是很辛苦的一个过程,因为你并不确定你未来的同事会以何种态度来对待你。
关于职业规划的问题,我建议各位能有明确的目标。尽量一直为这个目标而努力。
鼓励独立解决
寻求同事帮助
利用网络信息
分享解决方案
保持工作的持续性
 
延续最初的热情度
始终保有的谦虚感
乐于分享的满足感
33
4
分享到:
评论
17 楼 dwjun236 2009-02-18  
学习,马上出去了
16 楼 lym6520 2009-01-21  
生转变到
funcreal 写道

没有被淘汰的技术,只有被淘汰的人。

只有对技术的不断追逐,才不至于被淘汰!
15 楼 leton2008 2009-01-04  
javakid 写道

  突然感觉你很有文采,谢谢提醒! 程序员应该更注意“卫生”!


我之前在je上发现了几篇不错的文章,或有可能,将这些文字整理成程序员职业规划建议文稿。
14 楼 leton2008 2009-01-04  
ZangXT 写道

目前在恶补编译原理

呵呵。我也还没有补好。。。
13 楼 leton2008 2009-01-04  
vb2005xu 写道

让 初级程序员 去看 《代码大全》, lz是否过激?? 那里面的东西不是看了就能够懂得为什么这么做的?

这个很难说,我是觉得代码大全中有不少检查表,是可以作为新手参考和检查的依据的,至于为什么这么做的原因,我想他应该能在工作中体会。

我认为新手首先要有规则进行约束和管理。
12 楼 leton2008 2009-01-04  
tjc 写道

引用
Struts技术现在已经被淘汰了

呵呵,不过据最新的调查结果显示,struts1的程序员和职位量仍有很高的比例。

11 楼 east_java 2008-12-23  
目前在实习...谢谢!
10 楼 whb 2008-12-22  
vb2005xu 写道

tjc 写道
引用
Struts技术现在已经被淘汰了



适合的就是最好的,简单的东西为什么要复杂化呢?
Struts处理的很轻松,为什么就要一定迁移到WebWork2呢?


代码库应该是简化程序的开发工作的,自己熟悉的最好




Struts技术还有很多人在用的。不过Struts2/WebWork比Struts1.x要更加简洁,不能算复杂化。在新项目中采用Struts2是个不错的选择。
9 楼 ZangXT 2008-12-22  
目前在恶补编译原理
8 楼 javakid 2008-12-22  
  突然感觉你很有文采,谢谢提醒!
程序员应该更注意“卫生”!
7 楼 sanying123 2008-12-21  
很有用啊  谢谢
6 楼 zzzyjavabc 2008-12-20  
个人认为做技术是要不停的学习,俗话说技不压身,代码库应该是简化程序的开发工作的,自己熟悉的最好.可也不能每一次开发中都熟悉这一个呀?
5 楼 funcreal 2008-12-19  
没有被淘汰的技术,只有被淘汰的人。
4 楼 vb2005xu 2008-12-19  
让 初级程序员 去看 《代码大全》, lz是否过激??

那里面的东西不是看了就能够懂得为什么这么做的?
3 楼 vb2005xu 2008-12-19  
tjc 写道

引用
Struts技术现在已经被淘汰了



适合的就是最好的,简单的东西为什么要复杂化呢?
Struts处理的很轻松,为什么就要一定迁移到WebWork2呢?


代码库应该是简化程序的开发工作的,自己熟悉的最好

2 楼 tjc 2008-12-19  
引用
Struts技术现在已经被淘汰了
1 楼 天空之城 2008-12-18  
 

相关推荐

Global site tag (gtag.js) - Google Analytics