抛弃型代码(Throwaway Code)

抛弃型代码(Throwaway Code)

说到抛弃型代码可能会让某些接受正统教育的开发人员抓狂,但如今,尽管有人还在为虚拟机和机器代码争论不休,脚本语言却早已成为主流。抛弃型代码自有其用武之地。

为什么会有抛弃型代码?因为工程和理论不一样,它不是理想情况,它是不完美的。可能某个系统功能不能满足需要,你不得不用很丑陋的方法绕过这个困难;也可能你的用户突然加入新的需求而破坏了你完美的设计;也许你要维护并改写一段3年前的代码;也可能你所要集成的几十个模块有着混乱的引用关系;也可能你当前面对一个根本没有完美解决方案的问题;也可能你的老板要求你今天必须完成一个一周才能完成的任务……即使你确信你当前写的代码的可扩展性和可维护性很重要,也很有可能它再也不需要了。比如新的需求超越了原本设计的扩展能力,或者它被其他技术或模块替代掉了,或者它被不断的修改以至于面目全非,或者项目本身没有再继续下去……

什么是抛弃型代码?就是不考虑可扩展性,只考虑当前需求的代码,多数情况下连运行效率也不考虑。也就是基本不需要动脑子去设计的代码。写到这部分代码刚好能工作时,就算完成了。因此抛弃型代码的生产率很高。一般把代码分成基础库和应用层,应用层的大多是抛弃型代码。最典型的抛弃型代码是应用层中集成各个模块的胶合层代码,就像卫生纸一样,不得不抛。

编程语言由其针对的程序类型也暗含了期望的抛弃型代码的比例。Java在5%左右,C#在30%左右,VB在70%,脚本语言则达到90%以上。这里不提C++,因为它太通用,具体情况和写什么程序、用什么类库有关。也就是说,脚本语言基本上是抛弃型的,这也正是它的实际需求和它的威力所在。

适当使用抛弃型代码有益无害。就像俗话说好钢用在刀刃上,要是刀背上也用好钢就有点浪费。有限的时间多花一点在程序最重要的部分,比平均地分配时间更好。不过抛弃型代码不等于可以省掉注释,debug的时候,注释还是救命稻草。

 

你可能感兴趣的:(C++,虚拟机,脚本,扩展,语言,vb)