在实际的项目开发中,除了要具有遵循通用架构、设计模式和编码规范等这些基本素质之外,我们仍然不得不做很多重复的事情,比如,对表的CRUD操作,通用的业务逻辑等等,这就要求我们要有写通用功能的意识,也就是写一次代码,人人都能用,而且是非常方便地使用起来。写通用代码,实现通用功能也一直是笔者孜孜以求的事情。说的直接点,就是追求写最少的代码,实现代码功能的最大化。顺带一句,实际情况是有时必须对一些功能做些妥协,兼顾效率和安全。当然,写通用的代码不是要教童鞋们变相的偷懒,该写的代码一行也不能少。
这里笔者大言不惭地确信,绝大多数的基于某一种语言的框架啊(Java,JavaScript或C#等等),ORM还有其他比较拗口的高级名词那啥啥的,实际就是帮我们在语言工具的基础上做了代码和功能上的通用封装,也可以算作是语言的高级二次开发;同时还要灰常不客气地认为,java号称的编译一次,各个平台都能运行也是这种通用功能的一种体现,只不过它是在底层做了更深入的处理。个人意见,不服气的童鞋请勿较真,原谅笔者的浅薄。
台湾学者李敖在清华大学演讲的时候告诫清华学子不做“自了汉”。所谓自了汉,只顾自己﹐不顾大局者是也。记得笔者早期做开发的时候,每当自己要做的功能实现了,测试也都通过了,就开始做新的功能或者忙别的事情了。其实虽然自己的功能实现了,但是代码不能复用,功能呆板单一,自个开发自个用,典型的自了汉。不写通用代码,不实现通用功能的开发,我们都可以把它们看做是为我辈所不齿的自了汉行径(毒舌一句,这样的开发应该说不算是称职的开发吧)。
这里笔者大言不惭地确信,绝大多数的基于某一种语言的框架啊(Java,JavaScript或C#等等),ORM还有其他比较拗口的高级名词那啥啥的,实际就是帮我们在语言工具的基础上做了代码和功能上的通用封装,也可以算作是语言的高级二次开发;同时还要灰常不客气地认为,java号称的编译一次,各个平台都能运行也是这种通用功能的一种体现,只不过它是在底层做了更深入的处理。个人意见,不服气的童鞋请勿较真,原谅笔者的浅薄。
台湾学者李敖在清华大学演讲的时候告诫清华学子不做“自了汉”。所谓自了汉,只顾自己﹐不顾大局者是也。记得笔者早期做开发的时候,每当自己要做的功能实现了,测试也都通过了,就开始做新的功能或者忙别的事情了。其实虽然自己的功能实现了,但是代码不能复用,功能呆板单一,自个开发自个用,典型的自了汉。不写通用代码,不实现通用功能的开发,我们都可以把它们看做是为我辈所不齿的自了汉行径(毒舌一句,这样的开发应该说不算是称职的开发吧)。
Don't Repeat Yourself (DRY) 和 Duplication is Evil (DIE)这两个名言警句时刻提醒着我们,在软件开发中,重复是魔鬼,是所有开发者的大忌。其实,我们也可以自己创造一句洋泾浜英语来概括本文要表达的思想:Don't Be a Since the Han(精分了,自了汉,Since the Han,google的翻译!?)。笔者把它通俗地形容为:写通用代码的同志是好同志。您自己看着理解吧。
本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2010/02/20/1669954.html,如需转载请自行联系原作者