目前国内的主流程序主要存在以下问题(转)
作者[旅行]
1. 代码效率低下 - (以国内某著名论坛的post.cgi取得下个thread的数码的代码为例)
我无意攻击,我也不知道现在是否还是这个代码,这是2001年5月的版本。
我只对这个片段做个注释说明
$dirtoopen = "$lbdir" . "forum$inforum"; //打开相应的论坛版块的目录
opendir (DIR, "$dirtoopen");
@dirdata = readdir(DIR); //读取所有的文件
closedir (DIR); //关闭目录handle
@sorteddirdata = grep(/.thd.cgi$/,@dirdata);//取得所有主题文件
@newdirdata = sort numerically(@sorteddirdata);//排序
@neworderdirdata = reverse(@newdirdata);//倒序
$highest = $neworderdirdata[0];//取出最大的数码所在的文件名
$highest =~ s/.thd.cgi$//;//取得最大的数码
$newthreadnumber = $highest + 1;//加1得到此次发表应该的数码
大家可以看到,在发表一个新主题时,虽然代码很短,但是却把整个版块目录的文件全部扫描了
一遍并两次排序
假设这个目录有NN多个主题,则速度可想而知。
所以该“论坛看似速度慢,其实是由于JS多”的
论点
是否成立,大家考虑
2.代码不规范,属于手工作坊型
比如某国内著名CGI论坛,其程序组件命名令人莫名奇妙,又是 bbs, 又是 bbs1, bbs2,
有cjyh, xiu这种不知何来,还有yhreg这样的中文缩写+英文缩写的,
更糟糕的情况通常出现在中文程序的内部