最优化的代码
在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之类的