写程序不要考虑未来
2016-04-28 13:49
239 查看
我发现一件事情会让你的效率下降很多倍。那就是想着未来。
我需要用一些类,比如像std::vector,std::map这样的类。我看到了doom 3 的源代码里面,他们不用这些,而是用自己写的类来代替。
我在想,我用到这些的时候,到底是自己写呢,还是用std::vector这些。如果我现在用std::vector这些,当然会节省很多时间,那万一以后我想优化,而要使用自己的List来代替,怎么办?
这样说来,我现在就要写一个List,但是这个list只是简单的使用std::vector来实现它的功能。为什么要这样做?因为我考虑到未来我可能需要自己实现List。这样我替换的时候,就不会破坏太多的代码了。
我写了一个String,它里面的单个元素是char。我觉得我以后可能会需要一个WString,里面的元素是wchar_t,这样可以用来存windows的字符串。于是我就想,现在我还是把String做成一个template,直接把char 换成 wchar_t就好了。但是,写一个template的难度是更大的。
甚至,我还想到了。以后是不是需要用多线程来加快运行速度呢?我又花了一个小时去了解多线程。
进度就是这样被拖进无底深渊的。都是因为去提前考虑那些还不需要考虑的问题导致的。(当你考虑未来可能发生的事情的时候,你会感觉你很聪明,其实只是自己骗自己)
把自己的眼睛放在现在的代码上,而不是坐在那里发呆,或者踱来踱去,就可以防止自己想的太长远, 这样才能脚踏实地的写代码。
我需要用一些类,比如像std::vector,std::map这样的类。我看到了doom 3 的源代码里面,他们不用这些,而是用自己写的类来代替。
我在想,我用到这些的时候,到底是自己写呢,还是用std::vector这些。如果我现在用std::vector这些,当然会节省很多时间,那万一以后我想优化,而要使用自己的List来代替,怎么办?
这样说来,我现在就要写一个List,但是这个list只是简单的使用std::vector来实现它的功能。为什么要这样做?因为我考虑到未来我可能需要自己实现List。这样我替换的时候,就不会破坏太多的代码了。
我写了一个String,它里面的单个元素是char。我觉得我以后可能会需要一个WString,里面的元素是wchar_t,这样可以用来存windows的字符串。于是我就想,现在我还是把String做成一个template,直接把char 换成 wchar_t就好了。但是,写一个template的难度是更大的。
甚至,我还想到了。以后是不是需要用多线程来加快运行速度呢?我又花了一个小时去了解多线程。
进度就是这样被拖进无底深渊的。都是因为去提前考虑那些还不需要考虑的问题导致的。(当你考虑未来可能发生的事情的时候,你会感觉你很聪明,其实只是自己骗自己)
把自己的眼睛放在现在的代码上,而不是坐在那里发呆,或者踱来踱去,就可以防止自己想的太长远, 这样才能脚踏实地的写代码。
相关文章推荐
- 地图划线
- 《高性能javascript》 领悟随笔之-------DOM编程篇
- Java---练习(面试题) :字符串截取(2-最终版)
- Linux内核分析 期末总结
- Drupal8 社区文档之内容类型
- 数值工具类
- HelloWorld
- Light OJ-1082 - Array Queries,线段树区间查询最大值,哈哈,水过~~
- 解决apache mina在网络环境慢下的粘包问题
- OSI七层与TCP/IP五层网络架构详解
- Macbook上满足apt-get/yum的工具:Homebrew
- 自定义View——类似微信裁剪控件
- 【Red5】如何搭建环境以及调试Red5(1.0.6版本)应用(三)
- server 同一服务器上的两个php.ini文件!!
- 端到端的数据
- 异步任务
- Nginx漏洞利用与安全加固
- 门面设计模式
- Drupal8社区文档之用户、权限、角色
- 使用RawSocket进行网络抓包