《程序是给自己看的还是给别人看的》(2009/12/22)
2009-12-23 08:06
246 查看
不知道各位程序员有没有用自己的姓名的拼音字母作为文件目录名或程序名的经历。从我对此观察来看,很多人都是这样做的。他们为什么这样做?我发现除了这样做可以醒目地找到目录和文件之外,更重要的是反应了程序员的私有性,他强调了程序的私有。我们常常会发现有一个有趣的现象:程序员从不主动地把自己程序给其他程序员去阅读(除非上级要求、工作移交),程序员也不想看别人的程序,抱怨看不懂别人的程序!程序员读不到别人的程序,程序员不想将程序给别人看-〉程序员就得不到别人对程序意见-〉程序员就不会改进程序的可阅读性-〉程序可读性低-〉其它程序员就看不懂-〉看不懂就不愿意看-〉看的程序就少-〉阅读水平降低。这样导致程序员只能读懂自己的程序,其阅读他人程序的水平普遍很低。
程序员一旦将程序变成了日记,一旦只给计算机阅读,这样一来我们这些外人就无法从程序本身中看到程序员的水平了。我们只能根据他们开发的项目、承担的职能等外在的表现来判断他们的水平了。而这些往往不如程序来得直接。我认为存在这个现象有以下原因:
第一、面子
程序员是很有自信的人群,上面文章我也分析过了自信的来源。这种自信反映在编程上是就会认为自己编写程序是最好的,即使知道自己编写的水平很差,也不会告知别人。这是程序员面子在作怪。他们不想进行比较和竞争,各自抱着自己的程序在那里自娱自乐。而且,业界也容忍这个现象。导致程序员理所当然地认为程序是自己编的是自己的,想给别人看就给别人看,想不给就不给。尤其是新手、那些自己感觉水平不行的程序员更加不愿亮出程序出来。怕丢面子!
第二、 保密
还有一些程序员则认为程序里包含了解决问题的算法和技巧,是自己的辛勤劳动,是自己的知识产权。如果给人看了,别人就会无偿地拿了过去,自己的劳动就会白费。所以,他们不愿意公开自己的程序。
如果真的这样,那我是非常理解的。但是,就我的经验来看绝大部分程序员和绝大部分程序都是很难到达可以达到知识产权这个层面的。回首各自编程有哪些是别人不能编的呢?有哪些是别人不能超越的呢?即使有点小的技巧也不必藏而不露吧。好的程序员是不会去背这些包袱去获取新的进步的。
说到底还是个程序员程序私有的思想在作怪。
第三、环境
有时候我和程序员谈到这个问题时,他们认为不是自己不愿意给别人看,而是别人不想看,自己想看人家不给看。这里确实是一个环境问题,没有人要求程序员这样做。这个编程环境并不鼓励程序公开,不鼓励程序的优化,不鼓励程序的共享,反而使哪些编程水平差的得到了伪装,那些编程水平高的得到淡化。由于没有制度上、管理上的明确要求,这个问题就会长期存在。而我认为,程序员既然是个性张扬的群体,那为什么不能从自身做起,以给别人看的要求编写程序呢?不能以学习的态度请教程序写的好的同行呢?学习是获取的过程,也是将来给予的基础。只要有利于程序水平的提高,我们程序员都可以去尝试,用不了多久我们环境就会好起来。我们的程序交流和技术交流就会好起来,我们程序员的心胸就会开广起来。
就我而言,我编过无数个程序,但我从来没有保留过自己的程序,我的程序都是给我的同行看的、保留的。因为,我认为程序是给别人看的。虽然是自己写的,但是只有给别人看,才能发挥其真正的价值,就如同一篇文章只有给读者阅读,才能评价出文章的好坏。唯有给别人看,才能促使自己提高程序的可读性、才能获得别人的批评和建议、才能改进程序的不足、才能提高自己的编程水平。
我建议程序员要养成“程序不是给自己看的,是给别人看的”习惯,尤其是新手,从开始就要养成这个习惯,要放下面子,请别人看看自己的程序,请别人提提意见,这样自己的水平才能提高,同时,自己也要学着看别人的程序,学会向别人提出意见和建议,学会从别人的程序中学到好的编程风格和编程技巧。通过这两方面的努力,形成一个程序员之间互动的氛围,程序员的水平一定会有一个很大的提高。
下篇:《面向过程和面向对象的编程》
程序员一旦将程序变成了日记,一旦只给计算机阅读,这样一来我们这些外人就无法从程序本身中看到程序员的水平了。我们只能根据他们开发的项目、承担的职能等外在的表现来判断他们的水平了。而这些往往不如程序来得直接。我认为存在这个现象有以下原因:
第一、面子
程序员是很有自信的人群,上面文章我也分析过了自信的来源。这种自信反映在编程上是就会认为自己编写程序是最好的,即使知道自己编写的水平很差,也不会告知别人。这是程序员面子在作怪。他们不想进行比较和竞争,各自抱着自己的程序在那里自娱自乐。而且,业界也容忍这个现象。导致程序员理所当然地认为程序是自己编的是自己的,想给别人看就给别人看,想不给就不给。尤其是新手、那些自己感觉水平不行的程序员更加不愿亮出程序出来。怕丢面子!
第二、 保密
还有一些程序员则认为程序里包含了解决问题的算法和技巧,是自己的辛勤劳动,是自己的知识产权。如果给人看了,别人就会无偿地拿了过去,自己的劳动就会白费。所以,他们不愿意公开自己的程序。
如果真的这样,那我是非常理解的。但是,就我的经验来看绝大部分程序员和绝大部分程序都是很难到达可以达到知识产权这个层面的。回首各自编程有哪些是别人不能编的呢?有哪些是别人不能超越的呢?即使有点小的技巧也不必藏而不露吧。好的程序员是不会去背这些包袱去获取新的进步的。
说到底还是个程序员程序私有的思想在作怪。
第三、环境
有时候我和程序员谈到这个问题时,他们认为不是自己不愿意给别人看,而是别人不想看,自己想看人家不给看。这里确实是一个环境问题,没有人要求程序员这样做。这个编程环境并不鼓励程序公开,不鼓励程序的优化,不鼓励程序的共享,反而使哪些编程水平差的得到了伪装,那些编程水平高的得到淡化。由于没有制度上、管理上的明确要求,这个问题就会长期存在。而我认为,程序员既然是个性张扬的群体,那为什么不能从自身做起,以给别人看的要求编写程序呢?不能以学习的态度请教程序写的好的同行呢?学习是获取的过程,也是将来给予的基础。只要有利于程序水平的提高,我们程序员都可以去尝试,用不了多久我们环境就会好起来。我们的程序交流和技术交流就会好起来,我们程序员的心胸就会开广起来。
就我而言,我编过无数个程序,但我从来没有保留过自己的程序,我的程序都是给我的同行看的、保留的。因为,我认为程序是给别人看的。虽然是自己写的,但是只有给别人看,才能发挥其真正的价值,就如同一篇文章只有给读者阅读,才能评价出文章的好坏。唯有给别人看,才能促使自己提高程序的可读性、才能获得别人的批评和建议、才能改进程序的不足、才能提高自己的编程水平。
我建议程序员要养成“程序不是给自己看的,是给别人看的”习惯,尤其是新手,从开始就要养成这个习惯,要放下面子,请别人看看自己的程序,请别人提提意见,这样自己的水平才能提高,同时,自己也要学着看别人的程序,学会向别人提出意见和建议,学会从别人的程序中学到好的编程风格和编程技巧。通过这两方面的努力,形成一个程序员之间互动的氛围,程序员的水平一定会有一个很大的提高。
下篇:《面向过程和面向对象的编程》
相关文章推荐
- 程序是给自己看的还是给别人看的
- 程序是给自己看的还是给别人看的
- 文字是写给自己的还是写给别人的?
- 怎样让自己的程序进程不让别人强行关闭掉
- 只有自己才能对自己负责,别人的建议只能做参考。简单的才是最美的,不要以为将程序搞得复杂就好,其实简单的简洁的只要符合功能要求才是最完美的。
- 骂别人还是骂自己
- 别人的程序加入自己的菜单
- 如何写程序判断自己电脑是大端字节序还是小端字节序?
- LINUX平台中判断Machine是64位的还是32位的(通过Linux命令,而非自己写测试程序)
- 为自己做事,还是为别人做事
- 写了两年的程序,却发现自己还是那么的杯具
- 是应该坚持自己,还是听别人的建议?
- 让别人的程序按自己的意愿运行
- PM,选择自己还是别人?
- 我还是自己的东西多,别人的东西都是很少的
- 周鸿祎,高司令 2010-09-28 00:41 27469人阅读 评论(185) 收藏 举报 还是感到有必要将自己的一些想法快速记下来。 首先是对周鸿祎新员工演讲的看法。 就说实话这一点来说,周鸿祎比很多人强。所以我比较喜欢引用他的话,确实比较实在,不装逼。 至于一个公司招人的风格,是公司自己定的,别人也无权评价。有人说周是画大饼,忽悠员工卖命。废话,难道新员工讲话还有别的目的吗? 但我不认为周的选人思路在别的公司可以通行。原因是这样的:近十几年来,我们听到很多人有类似的说法,比如我们公司不要
- 发现Windows程序 最主要的还是要理解消息和窗口的相互调用,相互影响是如何实现的,才能更准确的去理解Windows程序,去编好自己想要的程序功能
- 终于初步完成了小程序的制作,只通过自己所学的知识还是不够啊
- 看到别人的程序相当的可以自己却不知道怎么去弄
- 学了几个月vc++,只会看些简单的程序,自己还是不会编写,很是郁闷呀