您的位置:首页 > 其它

简单的才是最好的

2008-11-14 11:57 148 查看
这两天开始一个项目,让我给项目定个代号,也好给这些代码定个命名空间。我给起了个名,就三个字母。有哥们儿说有点儿短,看着不好看。这让我想起来以前做一个程序,一位同事跟我讨论一些问题,我问他明明用单线程就可以完成的任务,而且这是运算密集型的任务,并没有太多的阻塞,为什么要用多线程,答案是:使用单线程显得多没有技术含量啊(有可能是说笑,但还是什么深思的)!最后程序基本完成,测试效率比开始写那个慢四五倍。虽然我没有太认真看他的代码,但原因是很明显的:指导思想不对。
    如果想要名字长当然好办,可是想想C++/C#里的using, using namespace,还有Java, ActionScript里的import。这些语言也都提供了引入单独的某个类的能力,当然也可以导入整个命名空间,为什么?为了简单。一次导入所有命名空间,就不需要单独导入一个个的类,更不用在代码中通过域作用符去一个个地标识每个类都在什么空间中。其它这些语言还提供了命名空间别名的能力,就是给长的命名空间或类起一个简短的别名,输入代码的时候更快,更简单。在UNIX/Linux下编程经常写makefile,里面会定义很多的变量,为什么呢,一是为了统一,再不就是为了把很长的字符串用一个简短的变量来代替,使代码更简单吗?人们都在想办法使复杂问题简单化,我们为什么要把简单的问题搞复杂,明明用三个字母就好,为什么非要输入更多的字母,浪费输入时间,浪费磁盘空间,浪费编译时间......
    其实,我们写程序的目的是什么?当然是帮助我们完成我们想完成的任务,明明有简单而且高效的方法,为什么非得把它搞得很复杂呢?或许是为了研究比较复杂的设计方法,通过简单的软件实现某一种设计思路,这是为了学习;当然也有可能是跟那位同事一样,显示自己做的东西有技术含量!但是,什么叫有技术含量?可能有人认为用到的东西多,用到的东西难,这就是技术含量。但我不这么认为,我认为能够用最短的时间、实现最好的效果完成任务,这才是真正的有技术含量。一味得追求复杂,显示所谓的“技术含量”,而搞坏了产品的品质,这种想法是非常危险的。
    所以,编程与办事一样,应该追求简单,简单的才是最好的,简单才是美!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: