網頁

2014年6月5日 星期四

[有關軟體設計] - build a new project的心得

寫一個新的project和舊的project不同的地方,就是一個全新的project必須 1. 盡量發現可能的問題 有可能是spec上的,架構上的... 2. 做很多架構上的決定 3. 要能給出很多好的solution讓系統效率好/彈性/好debug&maintain 4. 寫很多code 因此,個人心得如下: 1. 做每個架構上的決定時,一定要有邏輯。也就是能夠說明每一個決定的原因。 如果是因為決定不出來而隨便選一個自己喜歡的,最好也記錄下來。 而做決定的方式如下, a. 目前發現方法 x, y, z(要盡可能的發現可能的方法) b. 分析x, y, z方法的因為做了什麼事情,在架構上是如何,所以會有怎樣的優缺點。 c. 因此在分析完後會有一個比較好的方法, 而方法必須由此決定出來。 d. 如果分析不出來,倉皇做出的決定,也最好記錄下來,自己是隨便選一個。因為怎樣所以決定不出來。 2. 請別人幫你Design Review(最好要跟你差不多有經驗的,或者比你更有經驗的) 這時候就會用到上面那個步驟記錄下來的東西。所以你的同伴會知道且了解你做的決定是為了解決或是避開哪些問題。 3. 因為實作時你會需要寫非常多code,為了讓自己更有產能,最好把自己的環境tune到能最有效率的狀態。 (如果是maintain別人的project通常不會有這個需求) 4. 寫完一段code就自己做code review。寫完一大段請同事和你一起code review。 5. 只要是Review就是吃經驗值。所以如果經驗不夠也review不出什麼東西。所以可能盡量獲取更多的design&implement的經驗。 7. 這是一段循環,做了一個大方向的決定之後,就會往那個方向前進,接下來就會需要解決這個決定所帶來的問題。 心得大概是這樣,有想到再補上。

沒有留言:

張貼留言