作者billyeh (bill)
看板CSSE
标题Re: 程式效率
时间Mon Sep 4 16:30:25 2006
※ 引述《micklin (mick)》之铭言:
: 在硬体越来越发达的情况下, 假设先不考虑最慢的储存媒体IO,
: 一个程式所需要的运算时间将会随之减少,
: 这样会不会造成对演算法与资料结构的冲击呢?
: 平时在写程式时总会先考量尽量好的资料结构, 再用尽量好的演算法来达到目标,
: 如果最後程式执行所需要的时间和无架构的程式比起来, 差距只在一秒以内,
^^^^^^^^^^^^------------
: 那麽还需要去计较演算法吗? 还是以尽快完成project为优先呢?
看你所谓的「最後程式执行」是什麽而定:
- 什麽时候会去执行这程式呢?一个月以内?半年後?一年後是不是还会在用它?
- 预计的资料量有多大?几个月之後会不会有大幅增加的可能?
- 会在什麽地方执行?小实验室跑跑数据就好了呢?还是对外上线服役之用?
如果在你可预见的未来, 这程式不需要那麽高效、对资源不需那麽斤斤计较,
我倒觉得可以先着重在正确性(多做点 unit testing),
再着重於软体架构, 最後再着重於最佳的资料结构及演算法。
毕竟只要 unit testing 骨架好, 即使事後调整软体架构,
也不会让系统垮掉;
只要把软体架构弄好, 即使事後调整资料结构及演算法,
也不会让系统垮掉。
: 在现实面上, 身为一个老板当然会希望能尽快拿到成果,
: 但身为一个写程式的工友, 漂亮的解决问题才是我想要的。
: 如果花两天弄出来的程式, 跟一天就弄的出来的程式在时间上差不多,
: 那版友会选那一种呢?
: 而这样会不会让人失去对演算法与资结的信心呢?
你该学习 prioritize 你的工作项目。
某些时候, 尽快把无趣的工作交差,
反而可腾出更多时间投入在更值得你锱铢必较的地方。
当然啦, 如果你是完美主义者, 眼里容不下一丝一毫的丑陋,
那就当我没说。 :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: billyeh 来自: 140.113.23.102 (09/04 16:32)