作者reader (讀者)
看板CSSE
標題Re: [轉錄]Re: [討論] 台灣接案市場的行情及價格
時間Mon Apr 18 17:25:20 2005
※ 引述《spanky (NN踢出去)》之銘言:
: 前一陣子上課剛好在講軟工的東西
: 老師提到寫code時盡量遵守kiss原則 keep it simple and stupid
: 而且因為我們不知道客戶明天的要求是否會改變 所以只要做符合今天需要的工作就好
: 後者我是很認同 可是前者卻使得我跟同學對寫code的觀念有不少的衝擊
: 因為我們一直覺得要寫出一個好的程式一定要有好的algorithm與data structure
: (而且我一直有著code寫越短越強的迷思....)
: 可是照kiss原則卻認為反正cpu夠快記憶體夠大 所以不必用到很難的algo
: 盡量越簡單越直接越好 反正軟工就是為了讓多人編程時能夠順利有效率
: 可是若都照此原則的話 寫出來的軟體會好嗎???
: 還是因為在軟工的目標中產品的品質沒有製造產品效率那麼重要???
: 如果要同時兼顧此兩者是否有某些程度上的困難呢???
: 畢竟有好的algo和ds還是很重要的事情不是嗎???
你老師所說的觀念,算是正確的,但也不盡正確。那畢竟只是一個
原則,就像小時候的簡單是非黑白觀念一樣,若真要講到精微處,
那就複雜得多。
這東西很難用很短篇幅來說明。我隨便寫點概念。
好的演算法很重要,但一個程式通常只會有一個核心演算法,甚至
沒有核心演算法,其他地方就不能搞得太複雜。
軟體品質跟生產力都很重要,但是品質必須放在客戶需要的地方,
那往往不是我們自以為是的產品效能。
軟體結構不能太緊實,必須保持一定的擴充和發展空間。因為軟體
需要不斷地更新和維護,伴隨著人類的文明一起成長,今天的完美
設計可能是明天無法維護的死結。
程式碼需要精簡,而且需要不斷精簡,但是更需要如何精簡的指導
思想與知識,軟體工程不是藝術創作。
軟體工程不是為了建造軟體工廠,不是讓軟體工程師變成裝配工人,
而是生產更好的軟體,促進世界的進步。讓眾人能夠群策群力,是
一個重要手段,而不是目的。
把軟體工程師當成軟體生產機器的異化概念一定要抵抗到底,那是
滲入軟體產業的惡質思想,很可能是電腦科學家對於軟體工程師的
偏見所形成的東西,而不是真正的軟體工程思想。
充份的訓練、學習和溝通,可以使得軟體團隊不斷地成長,而不是
一群只能做簡單愚笨事務的低階工人,軟體工程不是領導大量低階
程式工人的知識,不要把一些針對非專業程式設計者的入門規範,
視為金科玉律。
--
※ 編輯: reader 來自: 61.222.173.29 (04/18 17:26)
1F:推 spanky:謝謝 受教了!!! 140.113.93.175 04/18