約耳趣談軟體-閱讀心得 - CH.35.為非我發明症辯護

RojerChen CYH.20110523

在念書的時候,我和同學常常討論這件事情『到底是是要自己造輪子好,還是使用別人的輪子好』,這項功能是要自己動手開發,還是直接用別人寫的元件就好呢?

自己動手做,成就感很大,不過會花很多時間,如果實力不夠的話,做出來的東西,也不會比別人寫的元件還來的好。使用別人的元件的話,這樣就沒辦法了解某項功能實作要如何做,未來要擴充或是修正,也會相當受限,優點就是開發初期會節省不少時間,但是使用久了之後,發現到BUG,自己也沒能力做修正,只能請求原作者會更新新的版本。

那這樣,到底是自己寫好,還是用別人的元件好?



而作者提出了幾個問題:

  1. 重用程式碼是:    (a)好的 (b)不好的
  2. 重新發明輪子是:(a)好的 (b)不好的
  3. 非我發明症(Not-Invented-Here)是:(a)好的 (b)不好的
在大部分的情況下,我們都會選擇:(a)、(b)、(b)

由於我們講求速度,能夠在最短的時間內完成最大的效益,所以有時會使用第三方的元件,來增加我們開發上的速度。既然如此,那我們還需要自己造輪子嗎?還需要自己開發嗎?

而作者這樣說了:『如果是核心的事業功能,不管是甚麼都要自己來做。』

如果該項功能對我們來說是核心事業功能,那就要自己進行開發。

舉例來說:

像是路邊的攤販,有不少老闆都是自己研發新的口味,而這就是他們自己的核心事業。自己知道相關的 Know-How。像是一般常見的連鎖店,雖然他們也知道相關的 Know-How 不過由於是加盟店,所以很容易被牽著鼻子走。

所以,如果『某項功能是你的核心事業,那無論如何都要自己動手做』,不然怎麼算是核心的功能呢!

相關文章:

    Blogger Comment

0 意見: