月度归档:2006 年六月

每个程序员都想干的事情

每个程序员都想干的事情是:我要把这些代码重写一遍,我能写得更好。

至少,我就这么想的;

我现在接的活,其实是我很不喜欢、甚至讨厌的活:接手别人的代码,维护并修改,增加新功能;

程序员基本都是喜欢写代码,讨厌写文档的,所以,一套代码甚少有文档、注释;接手的人,必须要一边测试功能一边读代码,希望能理解上任程序员的思想;

遇到代码结构和数据库结构都有问题的东西,基本上第一个想法就是:推翻他,重来;

这个想法已经在我脑子里酝酿了1个多月了,不过我一直没有这么干,而是不断在打补丁;

从个人的角度来说,推翻重来是最好的办法,因为可以减少很多的折磨;

比如,要修改某一处功能,那么就要先测试功能,看看它对应了哪些操作,数据做了哪些变动,然后,读代码,认真地读代码,哪怕是让你抓狂得想踹人的代码也的硬头皮看下去;没办法啊,不看懂以前的代码,怎么能保证新修改的东西不会造成大麻烦呢。

于是我就这么看了一个多月了,而且更让人郁闷的是,很多东西找不到代码了,交过来的东西就没有代码,只能先反编译 ,再读;再加上一个结构混乱的数据库,简直就不让人活了;

可是,你还得估计:新的功能什么时候能加进去……

真是想重新写一遍!

可是,从工作的角度来说,以前的东西也是投资,抛弃就等于浪费时间和金钱;就算做了新的,也得兼容旧的;开发新功能的同时,还必须保证系统稳定;

所以,永远不会有重新来一次的机会!

唯一的机会就是:开动你的脑子,给他打补丁,见缝插针的把新功能加进去,让他跑起来。

打补丁是一件比重写代码更费脑子的事情了
现在的系统已经被我打了N多的补丁了,可谓千创百孔,满眼看去都是补丁;

不过,这也说明做Web的好处,不管你怎么修改,用户不会感觉到你的变动的;不用像普通软件一样,每编译一次,就要重新发布一次;

但是,也有坏处,那就是没有人知道你到底干了什么,因为表现出来的东西,看起来似乎都一样,没什么变化;

郁闷。

今天预计要做完的功能又拖后了……事情又超出了我的想象,烦。

Code,Code,Code~~~

记得我在一家公司垒代码的时候,项目组长对我说:只要你肯写代码,任何功能都可以实现;

我见过一个函数有5000多行的代码;

我还见过一个函数有300多个if then;

当年给一个Forpro的软件升级数据,几乎每个用户的数据都有这样那样的问题,我的升级程序几乎是为每个用户定制的;

每个要升级的用户都是把数据用硬盘Copy过来,然后在我的机器上开着Debug模式运行升级程序,出错了就立刻改代码;

写这一个小小的数据升级程序, 花了我一个多个月的时间,写了几万行代码;

真如组长所说,只要你肯写代码,什么功能都可以实现;

我已经说过了,不再评价代码的好坏,毕竟没有完美的代码,也没有完美的人;

但是,当我看到用C#这个全OO的语言写出的带18个参数的函数时,我真想一脚……踹。

就算是C的代码,也很难见到有10个以上参数的函数了,何况C#;

又开了一次眼界。

整理C# 二进制,十进制,十六进制 互转

//十进制转二进制
Console.WriteLine(Convert.ToString(69, 2));
//十进制转八进制
Console.WriteLine(Convert.ToString(69, 8));
//十进制转十六进制
Console.WriteLine(Convert.ToString(69, 16));

//二进制转十进制
Console.WriteLine(Convert.ToInt32(“100111101”, 2));
//八进制转十进制
Console.WriteLine(Convert.ToInt32(“76”, 8));
//十六进制转十进制
Console.WriteLine(Convert.ToInt32(“FF”, 16));

豆瓣还能小资多久?

最新得到的消息:豆瓣开书店了;不知是谁的幸、谁的不幸。

豆瓣开书店,无疑是为了直接获取图书销售利润, 而不是靠给当当或者卓越带去订单而分成;不过我怀疑,以豆瓣所拥有的行业资源,介入图书销售这么一个看似暴利的行业,他能撑多久;

豆瓣很会取巧,犹如当初从当当卓越抓取图书信息,省略掉信息录入的巨大工作量;这次在万圣书园旁边一个不入流的小超市里开书店,无非也是想借万圣书园的名气、人流,巧取一杯羹而已;

但是,豆瓣想要靠这种模式在别的书店旁边都来这么一个卖场,就没这么容易了,毕竟是与虎谋皮的事情。

豆瓣一向以小资自居的,无论读书、看电影、听音乐,都极具小资气质;以此种小资气质,却把自己的线下书店设在一个三流大杂烩超市里,不知道那些高雅的小资的人们,是以怎样的心情穿越服装和饰品柜台,进入超市深处的豆瓣书店的;

值得考究;

听豆瓣的口气,似乎目标是连锁书店,也许他会在北京开很多家小连锁书店吧,然后嘛,也许做做加盟连锁之类的,然后嘛,高举旗帜,正步进入书业。

至于结果,我并不看好,以豆瓣这一点点资历,想要在水深似海的书业里混出真金白银来,机率可谓是微乎其微,尤其阿北似乎又不是一个善于与人合作的人,这样就更加的不看好了。

还是老话,我很不看好豆瓣的发展, 豆瓣的结果,我已经在这里说过了,让时间来验证一切吧。

举手之劳,让My.Donews的blog对搜索引擎更友好

在使用My.Donews.com的过程中,发现一个问题,那就是Blog帖子的Url对搜索引擎不是很友好;举个例子:老大的blog: liuren.com通过inout和18个网站换了链接

仔细观察一下Url的构成是这样的: http://my.donews.com/liuren/2006/05/24/liurencom%e9%80%9a%e8%bf%87inout%e5%92%8c18%e4%b8%aa%e7%bd%91%e7%ab%99%e6%8d%a2%e4%ba%86%e9%93%be%e6%8e%a5/

链接后面的一堆乱码其实是汉字的UTF-8编码后的结果,这是为了防止浏览器出错的一种保护措施,但是这样的Url对于搜索引擎来说,就没有太大的意义了;其实,在wordpress里,是可以修改Url的链接方式的;

来看看写文章的页面,注意到右上角的这个“文章缩略名” 了吗?

wordpress 设定文章缩略名

在这个地方,默认是用blog帖子的标题名来做缩略名的,这个地方大有文章可做噢 -)

现在,就来把这个缩略名改改,要把这个名字改成由和文章相关的一些关键字来组成;

比如,我的这篇Blog,和那些关键字相关呢?慢慢想……看我的Blog的Url链接地址就知道了,HOHO

照此原理,把老大的BlogUrl改造一下: donews_liuren_exchange_link_inout,最后的url结果为:

http://my.donews.com/liuren/2006/05/24/donews_liuren_exchange_link_inout/

是不是好看多了呢? 这个就算是低成本的SEO吧,没有什么成本,也不算是作弊嘛 :-0

两篇新闻,能看出什么来?

第一篇:MSN再出现大面积瘫痪 原因未明疑为服务器问题

技术专家分析认为,即时通讯软件出现服务故障的原因主要有三个:一是软件或服务升级产生自身故障;二是病毒导致网络连接失败或软件功能失效;三是服务器或 网关出现故障导致连接不上。在没有软件自身问题和病毒发作的情况下,很可能是服务器出现了问题。也有行业人士称,MSN出现大面积服务问题,与微软最近把 NetPassport升级到live.com的时间相当吻合,因为MSN部门的大部分服务器仍在国外,所以国外服务器故障造成MSN瘫痪的可能性较大。

第二篇:Gmail服务频频失常 谷歌称自己能正常使用

对此,谷歌中国公关部人士昨日最终未能给出解释。不过,有网络技术人员分析表示,导致邮件系统出现服务故障的原因可以归结为三个方面,一是服务器的问题; 二是病毒对软件产生破坏;三是新功能的增加导致软件出现暂时性故障。有业内人士认为,近期Gmail频频增加新功能,如replybychat功能、联系 人图片及信息提示声功能等,这些新功能加入,需要一定时间段进行调试,期间有可能影响用户的正常使用。

注意服务故障的三个主要原因,好好看,好好体会。

最枯燥的事就是基础工作

这几天写代码写到头晕脑花,大量的类写得我已经审美疲劳了;可是没办法,基础工作必须要做,而且要做好,一点懒都偷不得;

看到过太多因为基础构建偷懒而导致项目失败的例子;

谁都知道基础工作重要,可谁都不愿意太多投入基础建设;

大到国家,小到个人;

国家不愿意投入基础建设,所以大量的制造工业因为技术比不过国外同行而陷入亏损,最终倒闭;而我们只能空喊:抵制日货,然后大量的买进Made In Japan;

比较典型的例子就是汽车、电脑、数字产品;

而在基础技术与国外同行齐头的行业,就是另外一番景象;比如彩色胶卷。中国大陆是富士胶卷在全球卖得最便宜的地方,因为,中国有乐凯;

不过,能透过表象看本质的人并不多,一如迅雷与华军之争,再如百度之Mp3搜索;

六六大顺

06年06月06日06时06分06秒

可惜那时我在酣睡ing

6个6,顺!

祝大顺大利!

ps:偷偷改改时间戳 :-)