做为程序员咱们应该知道什么,这是很重要的。不知不觉作软件已经作了十年,有成功的喜悦,也有失败的痛苦,但总不敢称本身是高手,由于和我心目中真正的高手们比起来,还差的太远。世界上并无成为高手的捷径,但一些基本原则是能够遵循的。程序员
1. 扎实的基础。算法
数据结构、离散数学、编译原理,这些是全部计算机科学的基础,若是不掌握他们,很难写出高水平的程序。据个人观察,学计算机专业的人比学其余专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到必定程度很难再提升的时候,就应该想一想是否是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即便你再精通OOP,遇到一些基本算法的时候可能也会一筹莫展。编程
2. 丰富的想象力。数据结构
不要拘泥于固定的思惟方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是创建在丰富的知识的基础上,除计算机之外,多涉猎其余的学科,好比天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。ide
3. 最简单的是最好的。测试
这也许是全部科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能知足要求时再考虑复杂的方案。游戏
4. 不钻牛角尖。数学
当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,并且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就获得了充分的休息。当从新开始工做的时候,我会发现那些难题如今居然能够迎刃而解。it
5. 对答案的渴求。编译
人类天然科学的发展史就是一个渴求获得答案的过程,即便只能知道答案的一小部分也值得咱们去付出。只要你坚决信念,必定要找到问题的答案,你才会付出精力去探索,即便最后没有获得答案,在过程当中你也会学到不少东西。
6. 多与别人交流。
三人行必有我师,也许在一次和别人不经意的谈话中,就能够迸出灵感的火花。多上上网,看看别人对同一问题的见解,会给你很大的启发。
7. 良好的编程风格。
注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。你们都知道如何排除代码中错误,却每每忽视了对注释的排错。注释是程序的一个重要组成部分,它可使你的代码更容易理解,而若是代码已经清楚地表达了你的思想,就没必要再加注释了,若是注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。
这也许是"高手"和通常程序员最大的区别。A good programming is 99 weat and 1ffee。高手们并非天才,他们是在无数个日日夜夜中磨练出来的。成功能给咱们带来无比的喜悦,但过程倒是无比的枯燥乏味。你不妨作个测试,找个10000之内的素数表,把它们全都抄下来,而后再检查三遍,若是可以不间断地完成这一工做,你就能够知足这一条。
这些是我这几年程序员生涯的一点体会,但愿可以给你们有所帮助。
转载: