2011/8/31

寫程式,第一步想的不是資料結構也不是演算法。

寫程式,第一步想的不是資料結構也不是演算法。

首先,需求者會丟出想法,需求者可能是老闆,可能是End-User或自己。

接下來第二步,我會用直覺,真的就用直覺,應該說資訊科學的學養,想看看這種想法
能不能實作出來,試著跟需求者溝通後調整。

第三步,大致上在紙上畫出幾個系統架構,衡量自己熟悉與不熟悉的部分,當不熟悉的
份額太大時,往往是失敗的開始。

第四步,幫不熟悉的技術部分找到資源,大部分來自書籍與網路資料,並就瓶頸技術部
分先寫一些小程式熟悉並突破。

第五步,當所有不懂的部分都有些眉目之後試著把這些技術,組合起來,就變成了系
統。所謂有眉目,就是有自信在系統開發時完整時做出來。

接下來回歸主題,每個功能怎麼安排。以物件導向程式設計的觀點來看:

第一步,要切割class,以及繼承關係。

第二步,盡可能地列出member function的名稱,包含Constructors,Destructors,
operator overloading,對呀,只有名稱。

第三步,盡可能地列出data member。

第四步,開始設計member function,由被呼叫的class著手(比較複雜的function,需
額外寫一些簡單的驗證程式),一邊寫一邊調整data member、member function與class
的切割,包含member function的修飾子(public or private等等)。

第五步,除錯。

沒有留言:

張貼留言