老码农拍着脑袋总结的法子

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

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

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

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

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

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

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

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

本文来自于网络。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

三种人学不会编程

很多人都觉得编程入门特别难,特别在刚开始的时候,敢问切入一个新的行业不付出点努力,不坚持下不深刻的挖掘下自己的潜力,都会觉得难得不行。编程学习的成本相对比较低廉...

2474
来自专栏张善友的专栏

十年学会程序设计

这里分享一篇 Peter Norvig的 《十年学会程序设计》 (Peter Norvig  系Google研究院主任、美国计算机协会(ACM)资深会员(Fel...

1755
来自专栏九彩拼盘的叨叨叨

听说你想学前端?--非同寻常的前端入门法

但是,学习的效果并不好。最近我读了些关于学习方面的书,觉得学习需要方法。下面我按照重要程度一个个来说。

793
来自专栏数据科学与人工智能

【机器学习】机器学习编程语言之争狼烟再起,Python称霸?

随着科技的发展,拥有高容量、高速度和多样性的大数据已经成为当今时代的主题词。数据科学领域中所采用的机器学习编程语言大相径庭。究竟哪种语言最适合机器学习成为争论不...

1768
来自专栏小怪聊职场

管理|《柳传志:我的复盘方法论》之我们的实践

2166
来自专栏麦时说

碎片化信息的危害

几个月前我在一个公交站牌看到某新闻APP的广告,广告词大意是每天浏览便会使你离成功人士更进一步,听起来很有鼓动性是不是,但现实呢?

823
来自专栏PPV课数据科学社区

还在迷茫?点进来马上get→从零开始学数据分析最佳路线!

? 俗话说读万卷书,行万里路.不如阅人无数,阅人无数不如名师指路.可见一个好的导师是多么的重要,选择正确的路线,就能避免走许多弯路, 让自己站在巨人的肩膀上去...

2676
来自专栏Ben嘴Ben舌

架构操练Kata:敏捷出版社

http://nealford.com/katas/list.html;译者:伍斌、王瑞鹏

785
来自专栏PPV课数据科学社区

学习攻略 | 数据分析师学习路线图

数据分析师Data analyst:指熟悉相关业务,熟练搭建数据分析框架,掌握和使用相关的分析常用工具和基本的分析方法,进行数据搜集、整理、分析,针对数据分析结...

1874
来自专栏飞总聊IT

如何学习数据库系统知识

不少读者留言提了两个问题: 我能不能多讲讲我的文章里提到的基本概念,比如MPP。或者干脆开个数据库系统基础系列。 怎么样去学习数据库系统的知识。 所以我开贴简...

2745

扫描关注云+社区