免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4735 | 回复: 11
打印 上一主题 下一主题

代码的效率和可读性哪个更重要? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-28 10:34 |只看该作者 |倒序浏览
有一个问题始终没弄明白,就是看到很多perl代码写得很高明,但却很难懂!要费半天脑子才能看出端倪!不好意思,本人比较笨的说!看完这些代码就有个想法,他的效率真得那么好吗?如果写段一样功能的平实代码,是不是真的不如他跑得快。如果快又快多少?快的那部分是不是值得牺牲代码的可读性来满足?

个人认为如果同样的两段代码,我会选可读性好的那个,除非另外的那个有数量级的效率差异!

另外有个衍生问题请教各位。如何判断perl代码的效率?我指运行效率。谢谢!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-12-28 10:50 |只看该作者
先求可读性...再求效率.....因为代码是需要被维护的....
如果效率摆第一..适当的comment也是很重要的....
很多人写代码不习惯写comment...不过如果代码写得太有效率...
以後如果要修改...那可就累了....
我最近开始写代码也会写 comment..
不然常常要花很多时间看懂我当时的想法...
判断效率..分两方面:
1.看程序执行速度.....同样的动作..不同的logic所需要的时间会有差异。
2.代码长度...用C要写100行,用perl却只要不超过10行...你觉得写那个程序会比较有效率?
以上只是我的看法..大家继续..

论坛徽章:
0
3 [报告]
发表于 2005-12-28 11:07 |只看该作者
同意apile的意见,特别是第二条,很多时候本来要用C写的东西,用perl写了。人有生理惰性的!

论坛徽章:
0
4 [报告]
发表于 2005-12-28 11:32 |只看该作者
可读性与效率有时候并不矛盾。
可读性在任何语言中都是很重要的,对于效率我觉得perl并不是以效率见长,尽管作为解释性语言,它已经很不错了,但真要讲求效率,比C差很多。我曾写过一个可以多机同时暴力破解口令的程序,很遗憾,只有c程序的1/10的破解速度,也就是我得开十台机器同时工作才能抵得上一个单机版的C程序
perl的优势在于它是为提高编程效率,而不是为提高运行效率设计的,尽管你可以对代码进行优化,但运行效率主要取决于你的算法和你所使用的编程语言,对可读性的影响不大。
个人观点!

[ 本帖最后由 怒剑狂啸 于 2005-12-28 11:34 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2005-12-29 00:48 |只看该作者

效率第一

我的观点是,效率更重要.
不过最好是让开发程序的人自己维护自己的程序

论坛徽章:
0
6 [报告]
发表于 2005-12-29 23:28 |只看该作者
原帖由 apile 于 2005-12-28 10:50 发表
先求可读性...再求效率.....因为代码是需要被维护的....
如果效率摆第一..适当的comment也是很重要的....
很多人写代码不习惯写comment...不过如果代码写得太有效率...
以後如果要修改...那可就累了....
我最 ...

.代码长度...用C要写100行,用perl却只要不超过10行...你觉得写那个程序会比较有效率?

我始终觉得C比较有效率。。。虽然这是在perl的坛子讨论

论坛徽章:
0
7 [报告]
发表于 2005-12-29 23:40 |只看该作者
这几天 用perl 写一个 折叠法求数据周期的 程序 , 整了半天 最后改用c了.
一 , 速度是c 的1/5;
二 , 数据处理 有些时候 还是c 见长 (个人见解)
三,  尤其用散列 代替 c 中数组 ,没有c 好控制

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2005-12-30 08:36 |只看该作者
原帖由 王紫豪 于 2005-12-29 23:28 发表

.代码长度...用C要写100行,用perl却只要不超过10行...你觉得写那个程序会比较有效率?

我始终觉得C比较有效率。。。虽然这是在perl的坛子讨论

论速度..大概没几种语言能比C快...

但是开发效率...perl却是遥遥领先...我写的是CGI...
如果要我用C写....我大概早就离职了...

1 ms与10ms之间的差别...大概没几个人可以感受出来?
效率...这得要看你从那个角度去看.....

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
9 [报告]
发表于 2005-12-30 10:34 |只看该作者
呵呵,这个不管是perl还是c都不能一概而论。

比比VC来写C++的GUI,你其他的比得过么?

论坛徽章:
0
10 [报告]
发表于 2005-12-30 18:21 |只看该作者
其实我提出这个问题是因为正好看到perlChina有个perl web browser的计划,有点担心在合作开发时,如果没有很好地编程风格,很容易把这个项目变成泥潭。中国的软件发展比较晚,可能很多人都没有尝过所谓的开发沼泽的滋味。不过如果别人已经经历过了,为什么我们不尝试着避免。

令很欣赏aplie的perl功底,但是切记好的代码如果别人十分钟里看不懂的话,一定要有很完备的注释。86-92年编程时常遇到类似问题。通过加注释和规范化、实意化变量名把问题缓解了。也认识到在实意化变量名这点上中国程序员远不如欧美甚至印度的,和语言有很大关系。但是没办法的,如果程序员的路想一直走下去并且成为佼佼者,就必须面对。这就是爱的代价!

一点感想,仅供参考!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP