關於團隊使用的 Project Templates

關於規範這件事
還記得筆者先前曾經說過一句話:
軟體開發的問題一直都不在於『技術』、『工具』的不斷推陳出新。
而在於,你的做事方法有沒有想要推陳出新、有沒有想要『改變』而進步?

因為世界永遠只會更進步、永遠都是自己在原地踏步!

RAD 無罪論
這讓我想起了很久以前,網路上曾紅極一時的一個討論,「RAD 無罪論」,當時因為 RAD (Rapid Application Development)工具,如:Borland Delphi、C++ Builder 開始盛行,網路上出現兩派人馬爭論著,究竟 RAD 的出現是好是壞
好的一方認為:透過 RAD 工具,開發可省下不少的時間,也是 IDE 開發工具的趨勢,且使用 RAD 工具不代表就不需要瞭解底層運作細節。
壞的一方認為:RAD 工具使的一些初學者不需要瞭解底層運作細節,甚至不需要瞭解太多的OOP 物件導向概念、 Object Pascal 語法,就可以拼湊出一個應用程式,因此 RAD 工具會產生對於軟體開發一堆一知半解的工程師。

還記得當時一位 Delphi 書籍的作者:陳寬達先生,他在他的著作「Delphi 深度歷險」裡面記載了當時在 TANet 論壇上比較經典的討論,陳寬達先生將比較中肯的回覆記載在他的著作裡面,如下:





所以,這也就是說,不管是任何工具、技術,其實都跟你個人或團隊進步其實一點關係都沒有。
好比使用 RAD、IDE 工具、好用的精靈,不代表就不需要去瞭解底層的運作細節。
也就是說,其實重點都在「人」的身上。工具終究只是工具,就看你怎麼使用而已。

套句流行語:

這不是南北拳的問題,是你的問題。

另外,小編之前所開的課程「架構設計好簡單系列 - 如何設計符合團隊的範本精靈 (Project Template)」中,也不是只是教導各位如何建立 C# Project Templates 然後包進 VSIX Project 裡面這麼簡單而已,所教導的是,如何制訂團隊共同規範注意是團隊共同規範,是的,我不斷的在課程中強調,這是「團隊共同規範」的設計,不是只是設計「Project Templates」而且,我也再三的強調,這個 Project Templates 是在團隊共同規範成形後,也就是在團隊已經擬聚共識、具備共同開發規範的 Skill 、團隊也認同這是重複性工作,可以放置在 Project Templates 中成為基礎建設後,對!注意,是之後,就是在這一些規範都有共識,到最後才會開始製作為 「Project Templates」,這是需要一段時間的討論與規劃

所以,到這邊的說明,我想應該很清楚了,使用 Project Templates 來開發的最主要目的並不是為了加速開發定義團隊共同規範、什麼是重複性的工作,這些才是重點,如果只是要加速開發,自古到今的方式太多種了,透過 Third-Party 廠商的 Tools,拖拉畫面的視覺化開發環境 IDE 工具、或一些擴充套件 等等,都能夠達到加速開發這件事情。


結語:
所以,對於企業的導入,決不是一就可及,這樣的工具也不是讓工程師自己墮落使用  <=== 對不起,我必須說重話 ,因為這是在規範下面建置、而使用,不是濫用。
我想任何工具、技術都相同,決定是否導入或使用,都得經過評估來決定,如過濫用,絕對都不會有好的結果。

References:
文中介紹的「Delphi 深度歷險」目前已開放PDF電子書可下載:

C++Builder 深度歷險 - 資訊科學研究所

留言

這個網誌中的熱門文章

軟體工程師 - 成長的 10 個階段

常見的程式碼壞味道(Code Smell or Bad Smell)

什麼是 gRPC ?