www.vcroad.net原创,谢谢您的支持)

作者:金蝶中间件公司CTO袁红岗

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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/ufo0303/archive/2006/08/18/480164.html

学编程的不能不看的好文章相关推荐

  1. 学编程的人不能不看的好文章啊!!

    摘子编程论坛的一个文章 做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司 ...

  2. 想学编程一定要看的文章,你真的了解编程吗?

    程序员是这几年最热门的职业,即便是很多外行人分不清前端.后端.工程师.架构师,除了格子衬衫头发少加班多,大家都还有一个共同的认知:那些对着电脑噼里啪啦敲着看不懂代码的人,工资都很高. 很多人羡慕程序员 ...

  3. 学CSS选择器,看这篇文章就够了(近2万字详解)

  4. 送您一份《学编程笔记本电脑选购指南》,建议收藏!

    "王校长"花费100万组装了一台电脑 跑分更是冲到了亚洲第一,世界第四 仅是一块硬盘都比很多人家里的电脑还贵 小编也很好奇,这台百万电脑的具体配置到底怎样? 主板:DELL R75 ...

  5. 如何零基础开始学编程

    前言 如今编程成为了一个越来越重要的「技能」:作为设计师,懂一些编程可能会帮你更好地理解自己的工作内容:作为创业者,技术创始人的身份则会让你的很多工作显得更容易.而作为刚想入门的新手,面对眼前海量的信 ...

  6. python不会编程的人怎么学化妆_奉劝那些想学编程的人

    学编程,从W3Cschool开始! 作为一家在线编程学习平台,W3Cschool已经有10年的历史,在期间,我们见证了无数编程爱好者的学习经历,有成功转行成功的,也有实现了自己的编程梦想的,但更多的人 ...

  7. 3.4 学编程不拘于语言,学语言不限于平台——《逆袭大学》连载

    返回到[全文目录] 目录 3.4 学编程不拘于语言,学语言不限于平台 编程语言 软件和硬件--计算机要作为一个整体看待 语言的江湖 语言不是回事 多平台上的精彩 3.4 学编程不拘于语言,学语言不限于 ...

  8. 26岁学编程会不会已经晚了?

    4月份的时候,由于一些原因我辞去了银行的工作.当时,就是没有任何计划的裸辞.我当时也不知道自己想干嘛,就是想停下来.幸好自己平时没有乱花钱的习惯,自己存下来的积蓄足够我熬过一年半载.其实我已经不太记得 ...

  9. 学编程买什么类型的电脑适合?从预算到配置,给你安排的明明白白!

    在大学刚入学的时候,很多小伙伴对于自己是不是需要电脑,需要什么类型的电脑还不是多清楚. 经过半学期的学习,应该对自己的需求比较明确了. 今天就为大家更新整理了一份笔记本电脑选购指南,大家根据自己的情况 ...

最新文章

  1. 《零基础免费学扩增子分析》视频课(含ppt及相应代码),无需转发,直接获取...
  2. 22个HTML5 技巧二
  3. Redhat7.2上编译Linux内核源码
  4. OS开发UI篇—popoverController使用注意
  5. Keepalived+nginx造成流量异常
  6. Windows异常学习笔记(二)—— 内核异常处理流程用户异常的分发
  7. Python 编码规范 TODO注释
  8. 基于stm32f405控制三相无刷电机例程_直流有刷电机和无刷电机的区别
  9. 15个JavaScript 编码小技巧
  10. C++ bitset的用法
  11. XML解析——Jsoup解析器
  12. PS/2键盘鼠标接口各针脚定义
  13. oracle伪列查询第一行,用ORACLE 中伪列rownum对查询结果进行排序
  14. Redis bgsave 线上分析
  15. VB6中SendKeys的基本应用
  16. liunx apache 的安装
  17. cacti 监控添加插件
  18. Qt Embedded性能优化详解
  19. Android Q共享音频输入
  20. android 实现男女按钮选择

热门文章

  1. php中将数据加入到文件中
  2. 用ZipInputStream和ZipOutputStream实现文件及文件夹的压缩解压
  3. 在Windows XP Home如何安裝IIS?
  4. [題解](最小生成樹)luogu_P2916安慰奶牛
  5. ASP.NET MVC
  6. 【转载】C# 获取系统时间及时间格式
  7. [Grid Layout] Specify a grid gutter size with grid-gap
  8. 【C#】数据类型(sbyte,byte,short,ushort,int,uint,long,ulong和char。、、、)...
  9. c#数据结构之集合的实现(数组及链表两种实现)
  10. bugzilla dbd-mysql_在Red Hat Linux下安装配置Bugzilla