Sunday, January 28, 2001

程式的再利用(Reuse)

  在工作會議上, Steve 曾提到 Reuse ...

  就一個程式設計師而言,增進程式碼與設計的“再利用”程度是一個值得關切的議題。所以,這次就來探討一下程式的再利用。

  有關程式再利用的觀念性論述,個人覺得以 C++ 之父 Bjarne Stroustrup 的見解最為精闢完備,所以以下就引述其看法:

  基本上,“再利用”是一種“社會現象”。唯有當別人的軟體有以下特質時,我才會去用它們:

  1. 可用:在談「再利用」之前,必須先「可以用」才行。
  2. 可理解:程式結構、註解、文件、教學資料是很重要的。
  3. 可與其他軟體合作無間。
  4. 有人支援(或是我自己願意擔下來;不過通常我都不會願意)
  5. 夠經濟(我能夠和其他使用者共同分擔開發及維護成本嗎?)
  6. 能被我找到。

  再利用文化的必要條件是要有人專門負責這種共享任務。在小組織裡面,通常要有一個人刻意或無意地成為共同程式庫及文件的維護者;在大一點的組織裡,通常要有一個特設小組或部門專門負責匯集、建立、文件化、宣傳、維護這些可被大家引用的軟體庫。

  軟體系統會大略反映出製造它的組織文化,如果該組織文化沒有促進與獎勵合作分享的“機制”,軟體亦不大可能有合作共享的性質。

  優良的傳統文件製作雖屬必要,但仍不夠。元件小組還要提供教學等資訊讓潛在的使用者易於找出可用元件並瞭解為什麼它們有用。

  元件小組成員應該盡量與軟體開發小組密切合作,如此才能充分知曉他們的需求、讓他們知道其他不同的應用軟體有哪些潛在的可再利用機會可資引用。

  很重要的一點是,“再利用”境界是“精心設計”的結果:在設計之初就立下目標要達到可再利用性、根據經驗一再精鏈元件、致力找尋可再利用的既存元件。

  “再利用”並不是憑空而來,並不是隨隨便便動用特定語言功能或程式技巧即可獲致。更遑論只是輕率地完成一支程式就想要“再利用”。


--

如果組織文化把程式員都當成傻瓜看待,那麼很快地,程式員都會樂於當個傻瓜。

--
Tags: [] [] []

0 comments: