重用之前应仔细分析问题---------用错轮子有感

   作为程序员,“懒”更像一个褒义词。比如将类写的更易重用,比如使用一看就明了的命名,比如编写自动测试代码等等。

   最最最重要的一点就是不重复制造轮子。以我的的了解无非是同一个项目尽量不有重复代码,有相似类库尽量用现成的,能借用的功能就不自己实现。但最近的一些事情却让我有了不同的感悟。

    半年前 产品中需要一个看似比较复杂的功能,恰巧操作系统带有类似的功能,简单中转一下就新。也没有思考太多,发了大约3个工作日“解决了”问题。当时心里非常有成就感,因为系统自带的这个功能看起来配置很多,功能强,还“稳定”。“稳定”的理由是微软开发的产品质量那自然是没的说的。

    最近产品需要兼容windows 2008,无论怎么搞就是不能实现。该死的微软,该功能和以往变化很大,且有运行权限控制。只能重新选择新的方案。我之后又在网上寻找替该功能的替代产品,要么是死贵,要么功能不完整,要么干脆就不兼容新版操作系统。让我心中产生了一点寒意,甚至周末心里都老是吊着。说实话我已经很久没有这种不能控制问题的感觉了,非常的不爽。

    周一,简单列出了我需要的功能。其实远远不需要单独那么多的功能,那么多的配置项。列出最核心的功能,也就四五个功能点。比且是有行业标准的。事情远远没有我之前想的那么复杂。在网上一搜索,介绍非常详细,而且还有开源项目。

    周二,下载开源代码,对照协议标准。找出核心代码,Demo一下完全满足需求。分析已有代码,当初是以单独模块完成适配的,修改也起来非常简便,预计修改工作不会超出一个工作日。

   周三,使用开源代码为基础,实现一个我需要的功能最小集的小服务程序,一个新的适配器。大功告成。

 

   从整个事情来看,我是“懒”过头了,将最重要的分析环节也省掉的。其实我也太不会“偷懒”了,一有头绪立马埋头苦干,反而发了更多的时间。

  但是这种偷懒不成反更累的情景,我回忆一下以往的项目,其实有很多回了。那为什么会老是犯同一个错误呢?原因有几点,一个是有畏惧心理,一看微软提供的功能这么多,我想我一个人是在短时间完成的。二是真懒,没有发心思分析问题的实质。三是有占小便宜的心理,看见有现成的,来不及思考捡起就跑。

 

   但是,本文的意思并不是鼓励重新造轮子,而是强调在拾起现成轮子之前要分析。

你需要什么样的轮子?

这个现成轮子是否合适?

有没有更好的轮子?

这几个问题是否值得思考呢。

 

 

 

 

 

 

 

你可能感兴趣的:(问题)