关于编程的一些思考

本文转载自少年郎的博客,文中作者分享了自己对于编程的一些思考感悟,原文内容如下: 

1.  编程需要艺术存在 

软件业界有个观点:水平高到一定程度后,干啥事都能感受到“艺术”。编程也不例外。 

搞艺术的一般都能感觉到快乐,周日去公园,看到很多搞艺术的团队,唱秦腔、通俗歌曲、红歌都有,多数都一唱就是大半天,但是他们每个人都看不出倦意,半天都没喝口水,因为他们自己都在玩心中的艺术,否则被一大群人围观,保准是脸红脖子粗。编程也一样,若是感受不到“艺术”的存在,写来写去,只会觉的是痛苦,就像“拉磨”的驴一样,一圈一圈的转下去,终点就是被淘汰的那天,结局就是被人装成小袋,放在大型的超市里,一辈子也没想清楚自己做的啥,也没有快乐可言。 

其实更多的是感受的艺术之后,你会随心所欲,你驾驭程序,驾驭工作,否则就会反过来。大部分人开发软件是为了满足客户的需求,而不是为了自己享受,这是原则,也是真理,然而编程艺术是人们对高水平程序创作的一种感受,但只可意会,不可言传,不能成为软件公司的一个指导方针。 

2.  编程确实需要技巧 

技巧是锦上添花,不是画蛇添足。技巧就是技巧,不是伎俩,技巧不是靠谁苦口婆心的告诉你的,有句话是“纸上得来终觉浅,绝知此事要躬行”,《卖油翁》的故事告诉了我们技巧是怎么来的——“熟能生巧”,技巧是自然是承担了大量的工作,做了大量的事情(当然中间可能会犯许多的错误,烙下许多的埋怨,被人讥笑、冷眼、鄙视与不以为然)后,自然而然产生出来的。 

技巧伴随做事产生,伴随经验产生,技巧伴随总结产生,“驴拉磨”只是把事情做了,然而没有思考和总结,驴就是驴(人们习惯称为蠢驴)。只有技巧可以实现四两拨千斤,事半功倍。不懂的技巧,眼前自然是一篇困难,再简单的事情,让他做起来比去西天取经还难。 

写过的程序没有有效的积累,等下一次再遇见同样的需求,再重新写一次(等同于拉磨),还要人不时的催着点(等同于给驴上鞭子)。 

3.  没有思想的程序员是被淘汰者 

软件开发有方法论,固然不假,人们总是通过各种方法使得需求变的明确,准确,然而软件开发就像一场球赛,有一个时间的过程,需求就像球场上的球,需要传递,球场上有守门员、后卫、中卫、前腰、前锋,软件团队中有需求分析员、策划、项目经理、架构、美工、程序。需求就像一个足球一样在人员之间传递,保不准那个环节上就会丢失(或者损耗),因此就需要每个人进行有思想的思考,把丢失(损耗)的东西给补上去,传递给下一个环节。 

软件开发需要一个团队,团队就是每个人都是一个重要的个体,别人不能替代。经常出现的情况是“这个问题没和我说,需求上没说这么做,我不知道这么做”,问题是谁能保证百分之百的和你说到?谁能?谁能? 

4.  团队中需要强人,强人占大数的团队,是产生好结果的团队 

强人的作用无可替代,强人就像特种兵一样,能在关键位置上发挥无可替代的作用,甚至是以一敌十的效果,非洲草原上有百分五六十的能力强的狮子的狮群是所向披靡的狮群,狮群因此有了充足的食物,狮群因此生机勃勃。食物是捕捉来的,不是自己送上门来的,软件开发等、靠、拖是不行的,人多不见的力量大,就像一个女人能十个月生出孩子,十个女人一个月能生出孩子来一样。新手会产生很多新的错误,给项目添麻烦;强人向新手解释工作及交流思想都要花费时间,使实际开发时间更少,合理的搭配人员结构最重要。

猜你喜欢

转载自lvwenwen.iteye.com/blog/1882921