如何做一个合格的程序员

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

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

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

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

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

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

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

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

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

转自http://www.cnblogs.com/everythingcan/articles/2627224.html

如何做一个合格的程序员

时间: 2024-10-15 06:05:32

如何做一个合格的程序员的相关文章

做一个“合格”的程序员

其实这篇文章很早就想写了,一直忙的没有时间,今天总算得空,下面就针对程序员这个职业来说一说我个人的一些想法: 要想做一个在我认为是"合格"的程序员,那么应该要做到以下几点: 代码规范,注释清楚 要做一个好的程序员,代码的质量是最重要的,代码是项目过程中最为重要的资源,有很多程序员觉得写注释太麻烦,还会花太多时间,尤其是很多规模比较小的公司,更不会注重这一点,但是往往到了项目后期,乃至项目由他人接手后,维护的成本会变得非常高,代码阅读困难,注释不详细甚至没有,维护人员需要靠自己去猜测某个

我不是一个合格的程序员

(1 )题目解释:我不是一个合格的程序员 -- 开始我想用 "如何成为一个合格/优秀的java程序员"."我不是一个合格的java的程序员 "作为题目:但是感觉分量轻了许多,不能反讽自己目前的状况,也不符合自己现在的心情. (2 )缘由:自己的拙计经历,本科时期,自己连myeclipse如何破解都不会,tomcat配置CATALINA_HOME的原因都不晓得等等:研一的时候,自己连jeclipse中的java.timestampe的jar源代码无法查看都不知道怎么回

一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁

前续 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(一)——地:起因 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁 平行时空 在复制好上面那一行我就先停下来了,算是先占了个位置,虽然我知道大概要怎么写,不过感觉还是很乱. 我突然想到,既然那么纠结,那么混乱,那么不知所措,我们不如换个视角.记得高中时看过的为数不多的长篇小说<穆斯林的葬礼>,作者是:霍达(女),故事描写了两个发生在不同时代.有着不同的内容却又交错扭结的爱情悲剧,一个是“玉”的故事,一个是“月”

如何做一个开心的程序员?

经常有人发帖讨论「怎么做一个成功的程序员」,「如何才能成为一个优秀的程序员」,我并不太同意这些文章中的看法,想在这里我想提出一些我对于程序员这个职业自己的想法. 和标题中写的一样,我的目标不是成为一个优秀或者成功的程序员,我想成为一个开心的程序员.因为程序员是一个工作和生活密不可分的职业只有成为一个开心的程序员,才能过着开心的生活. 我相信那些想让自己或者别人成为优秀的程序员的人的最终目的也是能过上更开心的生活:少一点烦恼,多一点自由做自己想做的事情. 可能大家会不太同意我对开心的生活的定义,这

做一个“懒惰”的程序员

懒惰,算是本人的一大缺点,但是我发现,事物的两面性在懒惰上得到充分体现.懒惰,并非一无是处. 比如,编写脚本. 本人编写脚本的原因有两个:一是省事,不用每次敲那么多东西.二是本人健忘,无法记得冗长的命令. 就拿IPC的代码来讲, IPC代码根目录中,有N多build-XXX.而每一个build-XXX目录下的内容,则完全相似,都有一个set.sh. 这就是编译用的脚本. 随便拿出一个来,其内容大致如下: cmake .. -DCROSS_COMPILE=arm-hisiv100nptl-linu

如何做一个出色的程序员(转)

首先要告诉大家的是要爱这行! 从事任何行业都一样,只有真正的爱上了这份工作,才会投入热情,才会在顺境中自我警醒,在逆境中寻找突破.这个行业的竞争很激烈,你停下来走,别人就立刻会跑步超过你,没有对这一行业的一种热情,就很难在困境中保持一种执着的态度坚持到底. 踏踏实实“扎马步” 今天无意中看了“校长”的“程序员&司机”,其中谈到了关于程序员速成的问题.其实速成班毕业的 “系统杀手”早已在遍布大江南北,只是在互联网时代,互联网的应用型软件生命周期越来越短,业务驱动主导的情况下,这种速成方式看起来反而

学习Axure的心得&amp;关于如何做一个优秀的程序员

这些天学习了Axure的一些基础知识,感觉自己就只是刚刚入门,还有好多东西不懂.本想在网上好好地学一些更高的操作,却找不找比较好的学习视频.网上的资料太多,而且质量参差不齐.(视频画面根本就看不清)到后来就找了一些文本资料来看,但还是未能坚持看下去.不过,我看了一些关于程序员的资料. 下面就来说说我的看法. 一 努力刻苦地编程.好的程序员是后天炼成的,是靠一行行代码和一个个算法给喂出来的.因此,只要努力就一定能成为一个优秀的程序员. 二 拥有过硬的技术和本事.要明白,在IT行业,靠的不是关系,地

一个合格的程序员应该读过哪些书

编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的? “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语.以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书. 其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人

一个合格的程序员的编程方式

可能在我们刚刚学习了某一门语言之后,包括HTML或者C.......我们就可以简单的写出一些代码,然后带来我们想要的效果,但是这充其量是程序员的第一个境界,但是后来随着我们知识的增长,我们可能会学习一些面向对象的变成方式例如我们学习了C++ 或者java,这时我们开始学习了大量的类库,这时要是让我们编一段 短小的程序,或者写一个工具类,可能都不在话下了,通常我们在写这一种程序的时候,通常我们我们可能也不想具体的思路,因为程序短小比较简单,遇到一些更聪明的人干脆从网上找一段程序,在自己的IDE上调