最优化的代码

来源:互联网 发布:崩坏3矩阵探索奖励 编辑:程序博客网 时间:2024/04/30 10:26

 

最优化的代码


  在UNIX圣经《UNIX编程艺术》一书中,第24页第3段落写着:“我最有

成效的一天就是扔掉1000代码”——UNIX之神:Ken Thompson的箴言。

  最有效率的代码。不是用空间来换时间,不是C++的模版技术来进行优化(C++的模版

优化技术效率上可以击败C语言),也不是使用内存数据库,缓存,或者多线程,并发等

技术。

  颇有禅宗的味道就是:“没有代码的代码就是最优化的”。因此最好,最强的优化技术或者工具就是键盘的Delete键。

  我想起,以前我们的一个项目,当时有一个需求就是:当终端通过1000010命令字查询

到广东移动的营销案信息中,有一个字段是电子协议字段。ORACLE的varchar2字段最大

只能支持1024*4个字节。也就是2千个汉字左右。而当时的需求要求我能把电子协议的汉字能支持超过2千个汉字。

  这个是一个非常简单的需求,可以有几种方便。ORACLE数据有一种字段类型叫BLOB字段。二进制字段支持操作1024*4字段。可以把varchar2字段类型修改为blob,然后将后台服务

器的otl库的读写修改为支持blob类型即。

  第二个方案就是,增加一个字段,也用于保存电子协议的汉字,终端发包读取的时候,

后台服务器将信息取出拼接,返回给终端。

  在第一种方案中,我们目前不知道otl库如何去读取blob类型的字段,需要上网查找着方

面的资料。在第二种方案中,我们需要多读取另外一个字段,然后拼接字符串。另外管理平

太那边也需要相应的修改。

  估计查找资料,修改代码,测试调试包括中途开开小差,上厕所撒泡尿,在走廊抽根烟的时间等将有几个小时成本。

  等等,问题在于,我们确实需要解决这个问题吗?电子协议的内容真的操作两千个汉

字吗?我对此保持怀疑。我一再向我们的负责人表明我的态度就是:用户真的需要这个

功能吗?

  后来,我们的同事和移动的人进行沟通后,得知,目前的电子协议信息只要支持2千

个汉字就够了。

  不需要修改的东西,就是最KISS的。

  坦白的说,这个是一个非常简单的需求。但是,与其花销数个小时去折腾这个东西,

为什么不去用这个时间去看看书,泡泡妞,喝喝茶呢?或者关注更有价值的事情呢,比如啊,

关注世界和平,地球变暖,非洲问题,XX之类的