简单的才是最好的
2008-11-14 11:57
155 查看
这两天开始一个项目,让我给项目定个代号,也好给这些代码定个命名空间。我给起了个名,就三个字母。有哥们儿说有点儿短,看着不好看。这让我想起来以前做一个程序,一位同事跟我讨论一些问题,我问他明明用单线程就可以完成的任务,而且这是运算密集型的任务,并没有太多的阻塞,为什么要用多线程,答案是:使用单线程显得多没有技术含量啊(有可能是说笑,但还是什么深思的)!最后程序基本完成,测试效率比开始写那个慢四五倍。虽然我没有太认真看他的代码,但原因是很明显的:指导思想不对。
如果想要名字长当然好办,可是想想C++/C#里的using, using namespace,还有Java, ActionScript里的import。这些语言也都提供了引入单独的某个类的能力,当然也可以导入整个命名空间,为什么?为了简单。一次导入所有命名空间,就不需要单独导入一个个的类,更不用在代码中通过域作用符去一个个地标识每个类都在什么空间中。其它这些语言还提供了命名空间别名的能力,就是给长的命名空间或类起一个简短的别名,输入代码的时候更快,更简单。在UNIX/Linux下编程经常写makefile,里面会定义很多的变量,为什么呢,一是为了统一,再不就是为了把很长的字符串用一个简短的变量来代替,使代码更简单吗?人们都在想办法使复杂问题简单化,我们为什么要把简单的问题搞复杂,明明用三个字母就好,为什么非要输入更多的字母,浪费输入时间,浪费磁盘空间,浪费编译时间......
其实,我们写程序的目的是什么?当然是帮助我们完成我们想完成的任务,明明有简单而且高效的方法,为什么非得把它搞得很复杂呢?或许是为了研究比较复杂的设计方法,通过简单的软件实现某一种设计思路,这是为了学习;当然也有可能是跟那位同事一样,显示自己做的东西有技术含量!但是,什么叫有技术含量?可能有人认为用到的东西多,用到的东西难,这就是技术含量。但我不这么认为,我认为能够用最短的时间、实现最好的效果完成任务,这才是真正的有技术含量。一味得追求复杂,显示所谓的“技术含量”,而搞坏了产品的品质,这种想法是非常危险的。
所以,编程与办事一样,应该追求简单,简单的才是最好的,简单才是美!
如果想要名字长当然好办,可是想想C++/C#里的using, using namespace,还有Java, ActionScript里的import。这些语言也都提供了引入单独的某个类的能力,当然也可以导入整个命名空间,为什么?为了简单。一次导入所有命名空间,就不需要单独导入一个个的类,更不用在代码中通过域作用符去一个个地标识每个类都在什么空间中。其它这些语言还提供了命名空间别名的能力,就是给长的命名空间或类起一个简短的别名,输入代码的时候更快,更简单。在UNIX/Linux下编程经常写makefile,里面会定义很多的变量,为什么呢,一是为了统一,再不就是为了把很长的字符串用一个简短的变量来代替,使代码更简单吗?人们都在想办法使复杂问题简单化,我们为什么要把简单的问题搞复杂,明明用三个字母就好,为什么非要输入更多的字母,浪费输入时间,浪费磁盘空间,浪费编译时间......
其实,我们写程序的目的是什么?当然是帮助我们完成我们想完成的任务,明明有简单而且高效的方法,为什么非得把它搞得很复杂呢?或许是为了研究比较复杂的设计方法,通过简单的软件实现某一种设计思路,这是为了学习;当然也有可能是跟那位同事一样,显示自己做的东西有技术含量!但是,什么叫有技术含量?可能有人认为用到的东西多,用到的东西难,这就是技术含量。但我不这么认为,我认为能够用最短的时间、实现最好的效果完成任务,这才是真正的有技术含量。一味得追求复杂,显示所谓的“技术含量”,而搞坏了产品的品质,这种想法是非常危险的。
所以,编程与办事一样,应该追求简单,简单的才是最好的,简单才是美!
相关文章推荐
- 用户体验-简单自然才是最好的
- LOHAS宣言——“自然,才是最好的家!”
- 求ASP 导购网站代码(简单的最好,交作业)
- 关于爱情—— 最合适的也许才是最好的 !
- 也许,这才是最好的方式
- 只有祝你幸福才是最好的选择......
- android 通过webView,简单的通过网页唤起本地界面,如果比较多的话最好不要用原生的webView和js去搭建,用框架去做
- 简单的投资方法就是最好的方法
- Chart原则: 没有万能图表,如果足够简单那么定制化是最好的
- 换位思考权限设计(把复杂的问题,简单化才是水平,用简单的道理解决复杂的问题)
- 编程语言没有最好,适合才是最好!
- 换位思考权限设计(把复杂的问题,简单化才是水平,用简单的道理解决复杂的问题)
- 选择创业项目的基础――适合自己的才是最好的
- Android最好用、最强大的图片加载框架:Fresco的简单实用教程
- 难道 PHP 才是世界上最好的语言?
- 让自己也惊叹的#emacs##gdb#联动,这才是最好的emacs-gdb
- 最好的幸福竟如此简单
- android手动更新demo,当然最好还是用第三方,简单方便
- unity基础开发--最简单效果最好的unity3D分辨率适应教程
- 简单是最好的方法