主题:[转帖]成为java高手的八大条件
一剑封喉
[专家分:710] 发布于 2004-11-18 08:37:00
世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1、扎实的基础
数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。
2、丰富的想像力
不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。
3、最简单的是最好的
这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4、不钻牛角尖
当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5、对答案的渴求
人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6、多与别人交流
三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7、良好的编程风格
注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8、韧性和毅力
这也许是“高手”和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
回复列表 (共394个回复)
293 楼
jiangxu [专家分:240] 发布于 2007-06-30 19:09:00
[quote]看了许多java文章,我觉得写的不错,中国软件业为使么在一定程度上发展慢,远不及印度,更别说老美了,就是一个观念问题:
1 在中国,程序员这个职位被认为是一个人跳向管理阶层的跳板而已,没有哪个人愿意在这个职位干到30岁以后,假如你30多岁了环在编程,就会被人看不起。
作为我们这些涉世不深的初学者来说,走一部算一步把,上述问题好像和我们关系不大。[/quote]
支持楼主
294 楼
xxrrss [专家分:0] 发布于 2007-07-04 22:59:00
现在感觉很多,虽然我没有很多的编程经验,但是我仍然感触到楼主的重要,我一直在努力!
296 楼
jiunizhuai [专家分:0] 发布于 2007-07-08 17:01:00
楼主言之有理,好多程序员,编程好多年,就知道这个东东要这样写,但不知道到底为什么要这样写---知其然而不知其所以然,呵呵
现在随便去软件公司抽几个java 程序员去考考sun认证的初级程序员,起码有80%过不了,也就是这样拉---基础
297 楼
loveformat [专家分:10] 发布于 2007-07-08 19:00:00
好像不是废话
298 楼
ldjliudongjie [专家分:0] 发布于 2007-07-09 16:35:00
我觉得,应该。先学习。一些高级的技术。。。。。
然后 再去补一些,基础的知识。因为,现在光学习一些很理论的东西。
会让人感到厌烦的。没有学习的激情。到时候,看,确什么补什么吧。。
呵呵
299 楼
OCEANFF [专家分:0] 发布于 2007-07-10 16:24:00
知名IT公司急聘JAVA软件工程师
要求:
一定是管理系统的项目经验(比如OA、MIS、ERP等),且一年以上经验;
1.熟悉Struts,Hibernate,Spring,Webwork等MVC或ORMapping框架;
2.熟悉Oracle/Sql Server等大型数据库应用开发;
3.精通Java、Jsp、Servlet、XML、Web Service等相关技术;
4.熟悉UML,及Rose,together,PowerDesign,Visio等建模工具;
5.熟悉java swing, 有平台设计经验优先
6.有团队合作和敬业精神;沟通能力,学习能力强;
工作职责:
1. 负责系统的详细设计工作;
2. 负责系统的编码实现;
3. 负责版本测试及修改工作;
4. 完成售后支持保障工作;
5. 完成上级交办的其他工作。
有意者请将您的简历发至OCEANFF@HOTMAIL.COM
300 楼
xiaoaihe521 [专家分:50] 发布于 2007-07-12 11:26:00
java学习群43071339,谢谢进出,共同进步[em9]
我来回复