如何提高自己的编程水平,再转载一篇文章吧,是金蝶技术总监袁红岗先生写的,自apusic转载 (0分)

  • 主题发起人 主题发起人 阿朱
  • 开始时间 开始时间

阿朱

Unregistered / Unconfirmed
GUEST, unregistred user!
如何提高自己的编程水平
--------------------------------------------------------------------------------

2001-3-10 2:15:29



不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
这些是我这几年程序员生涯的一点体会,希望能够给大家有所帮助。
 

袁红岗
 
我觉得还应该补上一条,那就是一个好的程序员一定是一个真心喜欢计算机的人,不是为了
一时的潮流;其次,好的程序员必须勤习瑜咖、禅坐等心灵修养之术,熟读哲学,才能做成真正
的艺术品,好的程序员做出的好的程序必然是精致的艺术品!
 
在我理工的面孔下面,有一张社会行为学,哲学,与宇宙学的脸。
 
呵呵,听说这家伙牛的很耶!
 
建议大家打印出来就挂在屏幕边。
 
不用挂,多思考,多体味,计算世界其实就是现实世界的折射
 
同意mypine!
知止而后有定;定而后能静;静而后能安;安而后能虑;虑而后能得。 ——《大学》
可惜我的禅定太不深入了。
还有一句: 为了技术而技术!
 
不是为了技术而技术,我只想让自己的所学能让人类从简单劳动中解脱出来,去创造更
深远的财富和知识,去探索更广袤的空间和时间,请看我的另一篇文章《未来计算世界》,
那是我正着手进行的工作。
 
金蝶的财务软件确实做的不错,我是从里面出来的,感觉很深 。
 
文章不错,不过:
老大,拜托你换换行好吗?
 
看君一席话,胜读十年书!
茅塞顿开矣!
 
我没上过大学,更不懂离散数学,可在现实工作中,许多专业毕业的编程技术并不如我,
所以我觉得最重要的还是要热爱这一行。
 
还应加上一点吧,就是有充足的体力和精力。
 
add---
no free time
no MM !!!好惨那!!
no sun shine
no wenkend
no
no......
 
能想到这些和做到这些的人已经是高手了。
 
我在csdn上看见了我转载的这篇文章又被哪位热心人转载了[连题目都一模一样],而且讨论
的非常激烈。不过在CSDN上人们的评论有些偏激,有些人身攻击,这是我非常不愿意看到
的。此事的源头是我的转载。在此我向袁先生道歉。
本来我转载这篇帖子只是想让大家多多思考,而不是以事论事,不过DFW上的朋友都很
不错,明白了我的苦心用意。
 
>> 老大,拜托你换换行好吗?
同意!!!
这篇文章我最先是在CSDN上看的,可是那里并不是很多人认同?而且还吵了起来!
不仅仅只是那一个帖子!那里的回复突破400,10000人次人气!大约有几百K吧!
可是这里却不是这样的!为什么呢?可惜这里没有相关的数据来观察该帖之。
我想这就是两个论坛的区别?还是这里的人羞于讨论这种无聊的问题且兼更有
教养或是斑竹管理有方???
and other:
我很久没有来这里了,我的 id 居然还在!
谢谢斑竹们了!
 
什么叫“没有相关的数据来观察该贴子”?
不过,“这里的人羞于讨论这种无聊的问题”,这话我表示赞成。
 
同意上楼兄弟!
我认为大不必为编程加上神秘色彩!(如瑜珈、哲学等)
没有什么大不了!
兴趣+好奇+想象力+勤奋。
学习编程就象吃饭一样,既为了生存,也是满足自己的欲望。
(尽管我很菜!)
 
听说印度佬可不是总监袁这样这样想的...
金碟的规模在印度排不了前几吧?
 
后退
顶部