關於設計的度的一點小認識
引言
最近讀了《設計之道》這本pdf書,是園子的老師傅總結的,感謝他的分享。
前幾天葡萄城控制項團隊也發表了一篇《設計做到什麼程度?
》,寫的不錯,有一定的指導意義,不愧是大廠出來的。
正好自己今年也開始進入真正的設計領域,雖然設計的問題出來不少, 也是改來改去的,也是由於中間學習了好幾關於設計本書,同時參考了好幾個框架和**示例。發現大家在這方面還是各有認識,沒有絕對的標準,而且都有自己的道理。
總之,感覺還是成長了不少。不過,同時也發現自己知道的太少了。學習的路還很長。
正文
關於設計的「度」的問題,我想也是乙個頗有爭議的問題。主要有兩個論點:
要不要預先設計
設計的「度」如何把握
說一點題外話,最近也準備開始學習tdd和agile了,看來一點這方面的資料,說的不準確的地方,還請各位指出。
這兩個問題看似是兩個,其實它們有著千絲萬縷的聯絡。
關於第一點,在我初步接觸的agile理論中,還有就是一些人士寫的文章中,都說不要預先設計,因為會搞成過度設計。我不這麼認為。我個人還是比較推崇和贊成預先設計的,原因如下:
當然了,做預先設計,就會涉及度的問題,也就是第二個問題,度如何來把握?
我想大家也不是不贊成預先設計,只是由於害怕過度,所以放棄,我覺得不好。不能因為怕過度,就找個理由,找個什麼「重構」的理由不進行絲毫的設計,我不相信這樣的**在後面還能重構,就算重構,所花的代價,完全可以在編碼之前進行一點設計,就可以避免大量的浪費。
我個人完全不贊成「事先不設計」的觀點,還完全鄙視那些沒有搞懂agile,拿refactoring來推脫設計的人士。
我也沒有其他意思,就是覺得設計完全必要的,但是要把握度,盡量不要過,但是也不要太草率,草率開工,後患無窮,今年的我是十分有感觸的。
如果設計的度可以劃分為1,2,3,4,5等級的話,我覺得至少需要進行到3級,至少也要及格吧。往後面可能是過度了,但是往前的話,肯定是不充分,編寫的**在後面會被大量的拋棄。這還好,主要是浪費的時間和精力無法找回了,最重要的人的鬥志,鬥志減退了,就真的很難找回來了。
我見過很多最終作總結的時候,說設計不充分,所以修改很痛苦,越到後面越修改的慢。但是,讓他做設計的時候,他又說什麼agile,不要過度,不要進行預先設計,我覺得這不就是矛盾嗎?我也不針對某些人,但是這就是很明顯的矛盾。只是覺得這樣會浪費大家的時間,為什麼不預先設計一點點呢?預先思考一點點,也許後面就不會那麼痛苦了。
結論
總之,個人覺得預先設計是非常必要的,是必不可少的。但是度需要把握,不要過深,否則會陷入其中很難自拔,設計過度了,加大了開發的難度,影響後續開發工作。但是也反對那些因為怕過度,就不進行設計,還拿agile來搪塞的tx。
agile我最近會開始學習,我需要自己好好的理解一下,是不是他們口中說的思想,我覺得應該不是,肯定是很多人曲解裡面的意思。不過也難免,畢竟是國外的思想,國外的環境和我們不一樣,國外人的思考方式也和我們不一樣,到了我們這裡被一些人在曲解了,這樣就會發生誤會了。
國外可以成功的理念,在國內不一樣可以成功,甚至會失敗。至少需要修正,根據國情來修正。
關於設計的度的一點小認識
關於設計的度的一點小認識 引言 最近讀了 設計之道 這本pdf書,是園子的老師傅總結的,感謝他的分享。前幾天葡萄城控制項團隊也發表了一篇 設計做到什麼程度?寫的不錯,有一定的指導意義,不愧是大廠出來的。正好自己今年也開始進入真正的設計領域,雖然設計的問題出來不少,也是改來改去的,也是由於中間學習了好...
關於設計的度的一點小認識
關於設計的度的一點小認識 引言 最近讀了 設計之道 這本pdf書,是園子的老師傅總結的,感謝他的分享。前幾天葡萄城控制項團隊也發表了一篇 設計做到什麼程度?寫的不錯,有一定的指導意義,不愧是大廠出來的。正好自己今年也開始進入真正的設計領域,雖然設計的問題出來不少,也是改來改去的,也是由於中間學習了好...
關於strtok的一點簡單認識
之前寫過一段 用strtok來解析一段檔案路徑,給他一層層的分開,char tmpstr dir dir1 dir2 test.txt char buffer 128 strcpy buffer,tmpstr char p null p strtok buffer,int dirnum 0 whil...