如何提高自己的编程水平

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

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

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

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

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

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

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

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

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

  这些是我这几年程序员生涯的一点体会,希望能够给大家有所帮助。   
 

如何提高自己的知识水平?

这篇是知乎的回答原文,在知乎有大概一万五千的赞,但是不知为何总是被人举报然后被封,后来也就没管了。因为一直都有不少人来信跟我要,所以转移发到公众号来。我没有授权任何人转载,如果你在其它公众号遇到类似的...
  • MIRAGE086
  • MIRAGE086
  • 2016年02月03日 11:02
  • 2181

如何提升自己的编码水平

 论编程技能的提升   建议多看看别人的代码,特别是行业内比较流行的框架或大牛写的开源项目,其中的逻辑思维和写码风格都很值得去学习。 “多阅读高质量的代码可以做好笔记,时常看...
  • sinat_33641737
  • sinat_33641737
  • 2016年07月31日 22:43
  • 248

如何提高编程水平

最近,我大量阅读了Steve Yegge的文章。其中有一篇叫“Practicing Programming”(练习编程),写成于2005年,读后令我惊讶不已: 与你所相信的恰恰相反,单纯地每天埋头于...
  • skyryu
  • skyryu
  • 2015年12月01日 15:22
  • 2415

如何提高自己的Java编程水平…

原文地址:如何提高自己的Java编程水平(转)作者:СомёО不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有...
  • u011563845
  • u011563845
  • 2016年06月23日 11:15
  • 3022

如何提高数学分析水平(转载)

(转载自:http://blog.sina.com.cn/s/blog_5e638d950100dsvs.html~type=v5_one&label=rela_prevarticle )   ...
  • RobertChenGuangzhi
  • RobertChenGuangzhi
  • 2014年10月11日 01:16
  • 1344

程序员如何提高自己的编程水平

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

如何提高自己的iOS开发水平(转自唐巧的博客)

阅读博客 在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过。而我却坚持写作博客,并且大量地阅读同行的iOS开发博客。博客的文章长度通常在3000字左右,许多iOS开发知识都至少需要这样的篇幅...
  • u013455806
  • u013455806
  • 2015年03月14日 17:16
  • 1584

给一位想提高水平的PHP程序员的建议

【来信】老师,您好:  我是91年的,学历中专,目前的职位是php程序员,可我发现我并不是真正的程序员,计算机像进程多线程 内存方面我都不是 很了解,看他们那些C++程序员讨论就觉得自己很差,更别说算...
  • sxhelijian
  • sxhelijian
  • 2013年04月14日 19:20
  • 5320

如何提高自己的java开发功底

1.拥有扎实的基础和深刻理解OO原则 对于Java程序员,深刻理解Object Oriented Programming(面向对象编程)这一概念是必须的。没有OOPS的坚实基础,就领会不了像Java这...
  • a151296
  • a151296
  • 2015年02月09日 01:15
  • 2505

如何提高自己的编程水平

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";...
  • java169
  • java169
  • 2008年05月24日 23:29
  • 182
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何提高自己的编程水平
举报原因:
原因补充:

(最多只允许输入30个字)