程序是给自己看的还是给别人看的

不知道各位程序员有没有用自己的姓名的拼音字母作为文件目录名或程序名的经历。从我对此观察来看,很多人都是这样做的。他们为什么这样做?我发现除了这样做可以醒目地找到目录和文件之外,更重要的是反应了程序员的私有性,他强调了程序的私有。我们常常会发现有一个有趣的现象:程序员从不主动地把自己程序给其他程序员去阅读(除非上级要求、工作移交),程序员也不想看别人的程序,抱怨看不懂别人的程序!程序员读不到别人的程序,程序员不想将程序给别人看-〉程序员就得不到别人对程序意见-〉程序员就不会改进程序的可阅读性-〉程序可读性低-〉其它程序员就看不懂-〉看不懂就不愿意看-〉看的程序就少-〉阅读水平降低。这样导致程序员只能读懂自己的程序,其阅读他人程序的水平普遍很低。

程序员一旦将程序变成了日记,一旦只给计算机阅读,这样一来我们这些外人就无法从程序本身中看到程序员的水平了。我们只能根据他们开发的项目、承担的职能等外在的表现来判断他们的水平了。而这些往往不如程序来得直接。我认为存在这个现象有以下原因:

第一、面子

程序员是很有自信的人群,上面文章我也分析过了自信的来源。这种自信反映在编程上是就会认为自己编写程序是最好的,即使知道自己编写的水平很差,也不会告知别人。这是程序员面子在作怪。他们不想进行比较和竞争,各自抱着自己的程序在那里自娱自乐。而且,业界也容忍这个现象。导致程序员理所当然地认为程序是自己编的是自己的,想给别人看就给别人看,想不给就不给。尤其是新手、那些自己感觉水平不行的程序员更加不愿亮出程序出来。怕丢面子!

第二、   保密

还有一些程序员则认为程序里包含了解决问题的算法和技巧,是自己的辛勤劳动,是自己的知识产权。如果给人看了,别人就会无偿地拿了过去,自己的劳动就会白费。所以,他们不愿意公开自己的程序。

如果真的这样,那我是非常理解的。但是,就我的经验来看绝大部分程序员和绝大部分程序都是很难到达可以达到知识产权这个层面的。回首各自编程有哪些是别人不能编的呢?有哪些是别人不能超越的呢?即使有点小的技巧也不必藏而不露吧。好的程序员是不会去背这些包袱去获取新的进步的。

说到底还是个程序员程序私有的思想在作怪。

第三、环境

 有时候我和程序员谈到这个问题时,他们认为不是自己不愿意给别人看,而是别人不想看,自己想看人家不给看。这里确实是一个环境问题,没有人要求程序员这样做。这个编程环境并不鼓励程序公开,不鼓励程序的优化,不鼓励程序的共享,反而使哪些编程水平差的得到了伪装,那些编程水平高的得到淡化。由于没有制度上、管理上的明确要求,这个问题就会长期存在。而我认为,程序员既然是个性张扬的群体,那为什么不能从自身做起,以给别人看的要求编写程序呢?不能以学习的态度请教程序写的好的同行呢?学习是获取的过程,也是将来给予的基础。只要有利于程序水平的提高,我们程序员都可以去尝试,用不了多久我们环境就会好起来。我们的程序交流和技术交流就会好起来,我们程序员的心胸就会开广起来。

 

就我而言,我编过无数个程序,但我从来没有保留过自己的程序,我的程序都是给我的同行看的、保留的。因为,我认为程序是给别人看的。虽然是自己写的,但是只有给别人看,才能发挥其真正的价值,就如同一篇文章只有给读者阅读,才能评价出文章的好坏。唯有给别人看,才能促使自己提高程序的可读性、才能获得别人的批评和建议、才能改进程序的不足、才能提高自己的编程水平。

我建议程序员要养成“程序不是给自己看的,是给别人看的”习惯,尤其是新手,从开始就要养成这个习惯,要放下面子,请别人看看自己的程序,请别人提提意见,这样自己的水平才能提高,同时,自己也要学着看别人的程序,学会向别人提出意见和建议,学会从别人的程序中学到好的编程风格和编程技巧。通过这两方面的努力,形成一个程序员之间互动的氛围,程序员的水平一定会有一个很大的提高。

下篇:《面向过程和面向对象的编程》

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
你可以使用Python的打包工具将你的程序打包成一个可执行文件或库文件,然后只需要将这个文件提供给别人即可。Python提供了多种打包工具,比如pyinstaller、setuptools等。其中,pyinstaller是一个常用的打包工具,可以将Python程序打包成单个可执行文件,而setuptools则可以将Python程序打包成库文件,供别人调用。 使用pyinstaller打包成可执行文件的步骤如下: 1. 安装pyinstaller:在命令行中输入pip install pyinstaller进行安装。 2. 执行打包命令:在命令行中进入你的Python程序所在目录,然后执行pyinstaller your_program.py,其中your_program.py是你要打包的Python程序。 3. 打包完成后,在dist目录下会生成一个可执行文件,将这个文件提供给别人即可。 使用setuptools打包成库文件的步骤如下: 1. 安装setuptools:在命令行中输入pip install setuptools进行安装。 2. 创建setup.py文件:在你的Python程序所在目录下创建一个名为setup.py的文件,内容如下: ```python from setuptools import setup, find_packages setup( name='your_package_name', version='1.0.0', packages=find_packages(), install_requires=[ # 你的程序依赖的库 ], entry_points={ 'console_scripts': [ 'your_command=your_package_name.your_module_name:your_function_name' ] } ) ``` 其中,your_package_name是你的Python程序名,your_module_name和your_function_name是你的Python程序中的模块名和函数名。如果你的程序需要依赖其他的Python库,你可以在install_requires中添加依赖的库。 3. 执行打包命令:在命令行中进入你的Python程序所在目录,然后执行python setup.py sdist,这个命令会将你的Python程序打包成一个tar.gz文件,放在dist目录下。 4. 将tar.gz文件提供给别人,让他们使用pip install your_package_name进行安装,然后就可以调用你的Python程序了。如果你在setup.py中通过entry_points指定了命令行入口,别人可以直接使用your_command命令调用你的Python程序
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值