阅读更多

6顶
0踩

研发管理

转载新闻 关于编程的一些思考

2013-06-03 10:50 by 副主编 WnouM 评论(16) 有8884人浏览
本文转载自少年郎的博客,文中作者分享了自己对于编程的一些思考感悟,原文内容如下:

1.  编程需要艺术存在

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

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

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

2.  编程确实需要技巧

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

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

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

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

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

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

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

强人的作用无可替代,强人就像特种兵一样,能在关键位置上发挥无可替代的作用,甚至是以一敌十的效果,非洲草原上有百分五六十的能力强的狮子的狮群是所向披靡的狮群,狮群因此有了充足的食物,狮群因此生机勃勃。食物是捕捉来的,不是自己送上门来的,软件开发等、靠、拖是不行的,人多不见的力量大,就像一个女人能十个月生出孩子,十个女人一个月能生出孩子来一样。新手会产生很多新的错误,给项目添麻烦;强人向新手解释工作及交流思想都要花费时间,使实际开发时间更少,合理的搭配人员结构最重要。
6
0
评论 共 16 条 请登录后发表评论
16 楼 yixiandave 2013-06-06 09:34
clxy 写道
aa1asdasd 写道
对日外包的才会写出这样的文章...


胡说!
对日外包的会这样写:
“爱!我感觉到了爱!编程要.有.爱!”
or “正义必胜!”
or “那一年,我读中学二年级,不小心去编程,顺手拯救了世界。最后,落英缤纷的樱花树下,被她告白!”

吐槽无力。。。。
15 楼 mike.liu 2013-06-06 09:19
如果需求是“摧毁巴格达”,你不是只实现一个DestoryBaghdad的函数吧?
你应该实现一个DestroyCity的函数,Baghdad当成这个函数的参数。

这是码农面对需求可以做的事情。个人理解,实现应该>=需求。
14 楼 PetriNet 2013-06-05 21:33
任何先进理念在我朝都得倒着看
13 楼 create_object 2013-06-05 16:47
 
12 楼 xy0792 2013-06-05 13:22
小古墓 写道
“需求上没说这么做,我不知道这么做”不敢苟同,开发人员不就是按照需求上进行开发实现吗?我认为需求搞不清楚,不要怪开发者想不到

针对需求,我们需要明确,原则是:做且只做。不要多做也不要少做,需求是无穷尽的,不要去引导别人提出新需求。
11 楼 thc1987 2013-06-05 12:14
不思考的程序就是好码农
10 楼 聆听暮色 2013-06-05 10:20
我觉得还是挺快乐的,解决一个问题,创造一个新的功能,都是快乐的事。
9 楼 jnoee 2013-06-04 16:25
好文章,可惜很多人看不懂。
8 楼 aa1asdasd 2013-06-04 13:01
clxy 写道
aa1asdasd 写道
对日外包的才会写出这样的文章...


胡说!
对日外包的会这样写:
“爱!我感觉到了爱!编程要.有.爱!”
or “正义必胜!”
or “那一年,我读中学二年级,不小心去编程,顺手拯救了世界。最后,落英缤纷的樱花树下,被她告白!”



然后:十个女人一个月能生出孩子
7 楼 clxy 2013-06-04 10:47
aa1asdasd 写道
对日外包的才会写出这样的文章...


胡说!
对日外包的会这样写:
“爱!我感觉到了爱!编程要.有.爱!”
or “正义必胜!”
or “那一年,我读中学二年级,不小心去编程,顺手拯救了世界。最后,落英缤纷的樱花树下,被她告白!”
6 楼 aa1asdasd 2013-06-04 09:56
对日外包的才会写出这样的文章...
5 楼 nhyjq 2013-06-03 14:58
小古墓 写道
“需求上没说这么做,我不知道这么做”不敢苟同,开发人员不就是按照需求上进行开发实现吗?我认为需求搞不清楚,不要怪开发者想不到


我猜你要不没实际开发经验,要不就做对日外包的吧

实际情况是需求极少会面面俱到,譬如系统每个界面每个按钮的具体大小,位置。难道开发人员会说“需求没说这个按钮要搞多大,我不知道怎么做”,那就等着被炒吧
4 楼 小古墓 2013-06-03 13:43
“需求上没说这么做,我不知道这么做”不敢苟同,开发人员不就是按照需求上进行开发实现吗?我认为需求搞不清楚,不要怪开发者想不到
3 楼 mike.liu 2013-06-03 13:27
csuyishuan 写道
开发软件难道不是为了满足客户需求么?是满足自己?

是为了月底能拿到薪水
2 楼 csuyishuan 2013-06-03 12:27
开发软件难道不是为了满足客户需求么?是满足自己?
1 楼 teasp 2013-06-03 12:24
十个女人每个月生个孩子是可行的嘛,有啥不对的呢?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics