程序员学习提高必看的一篇文章

作为程序员我们应该知道什么,这是很重要的。不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。

1. 扎实的基础。

数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的
人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学
OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。

2. 丰富的想象力。

不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。

3. 最简单的是最好的。

这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。

4. 不钻牛角尖。

当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游
戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃
而解。

5. 对答案的渴求。

人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。

6. 多与别人交流。

三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。

7. 良好的编程风格。

注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个
重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。

8. 韧性和毅力。

这也许是”高手”和一般程序员最大的区别。A good programming is 99 weat and
1ffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个
10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。

时间: 2024-10-08 09:04:18

程序员学习提高必看的一篇文章的相关文章

程序员学银钻娱乐客服15687949443习提高必看的一篇文章

作为程序员我们应该知道什么,这是很重要的.不知不觉做软件现已做了十年,有成功的高兴,也有失利的苦楚,但总不敢称自己是高手,由于和我心目中真实的高手们比起来,还差的太远.世界上并没有成为高手的捷径,但一些基本原则是能够遵从的. 1. 厚实的根底. 数据结构.离散数学.编译原理,这些是一切计算机科学的根底,如果不把握他们,很难写出高水平的程序.据我的调查,学计算机专业的人比学其他专业的 人更能写出高质量的软件.程序人人都会写,但当你发现写到必定程度很难再提高的时分,就应该想想是不是要回过头来学学这些

黑马程序员-学习日记 面向对象(构造函数专题篇)

class Father { Father(int a) { System.out.println("father run"); } } class Son extends Father { Son() { Super(2); System.out.println("son run"); } Son(int a) { Super(4); System.out.println("son run a"); } } //ExtendsDemoFour

程序员学习路线

学了差不多两年的编程,沉下心来回想一下,除了类似 HelloWorld 这样简单的程序会写,其他稍微复杂一点的程序代码,连看都不敢看.说没有学过什么语言,那肯定不是啦!可能就是因为接触的语言多了,都是学了些皮毛,感觉什么语言都会.其实,是什么都不会. 大一,有接触过Java,SQL server,Matlab,Html ,看到真的没什么感觉.于是就简简单单的跟着老师上课的步伐,半知半懂地学着.考试勉强混过了.下个学期,也一如既往.到了大一快要结束的时候,听说软件测试不需要学太多的程序代码,于是就

Java程序员们值得一看的好书推荐

转载自知乎 原作者:mdcc "学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料对着书上的代码自己敲的时候方便"看完书之后再次提升自我的最好途径是看一些相关的好博文",我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学

聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路

阿里社招面试都问什么? 和之前一样,文章一上来,我们先来谈谈阿里的社招面试都问什么,其实这个话题并不是什么秘密,所有来阿里面试过的同学,都能回答一二. 两年前的时候,笔者在文章里是这么回答的. 这个是让LZ最头疼的一个问题,也是群里的猿友们问的最多的一个问题. 说实话,LZ只能隐约想起并发.JVM.分布式.TCP/IP协议这些个关键字,具体的问题真的是几乎都没记住.而且就算LZ记住了,也告诉你了,你也背会了,但LZ觉得,在面试中,你被问到一模一样问题的可能性依然很小. 甚至,就算你运气好被问到了

C#程序员学习Android开发系列之学习路线图

通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明确一下接下来的学习目标以及学习路线. 一.对Android开发的基本认识 1.Android原生开发是基于Java语言的,由于我比较擅长C#,所以对Java语言本身不太熟练,需要加强Java语言基础的练习,这一块我会穿插到具体的知识点练习当中,并且在必要的地方给出与C#语言的对比(其实基本上在语法层

.NET 程序员学习路线

1 .NET Framework常见的API要熟练掌握. 2 Linq to Object.Linq to Object是一项很重要的技术.如果没有这项技术,数据的查找和操作的代码会被foreach充满,这样不容易维护,而且有很多代码都是routine代码,可以省略的. 同时,与Linq搭配的技术Lambda技术,可以简化很多代码,这也需要掌握 3  .NET 4引入了新的并行编程库.这项技术不同于多线程技术,它是适应多核时代的需要. .NET 4还引入了动态语言,如果要改善.NET程序的性能,

Net程序员学习Linux

Net程序员学习Linux 本次知识点:Linux系统的多终端切换,linux下的用户,linux远程访问工具使用,linux下重要的目录,命令的组成,通配符,linux的路径问题,文件操作的综合运用 为什么学习linux? 1.很多人都说.net程序员只会在Windows的环境下进行工作,压根就不懂Linux的使用,也不懂Linux的命令,只会用鼠标,只会在图形界面下工作.其实刚开始听,心里挺不爽的,作为一个.net程序员,我所熟悉的当然是在windows下工作,因为我们压根不需要在linux

谈谈程序员学习英文

今天把<Ogre 3D 1.7 Beginner's Guide>看完了,这也是我第一次完整的阅读完一本英文书籍,当然也是第一本英文技术书籍.来和大家分享一下我对程序员学习英文的一些看法. 学生时代到工作的个人英语学习经历  我自己的英文怎么说呢,不好不坏吧,小学是在小镇里上的,中学时候家搬到了市里我也就上了市里的初中,一开始我的英文绝对是最烂的.老师让读课文就把英文书上的句子下面标满了近似音的汉字.比如Good Bye就标成"骨头白".现在想想真是好笑死了.还记得一次上英