編碼的依據是什麼?很多人也許是不假思索就回答「需求!」 很多人也確實是這麼做的,而其實有些人不是依據需求在編碼,這是他們自己不這麼認為而已。
從需求過度到**,總覺得有點突然,是不是缺點什麼呢?是的,中間應該有個設計的過程。不論是架構設計,詳細設計,還是乙個演算法的設計,歸根到底都是有設計的,只是並不是所有的設計都寫著紙上,畫成圖而已。所以,編碼的根據不是需求,是設計。
那依據需求而直接編碼,會有什麼樣的後果呢? 直接表現是,**充斥非常多的if-else, **異常的長,其實我們仔細分析需求,它其實就是由無數的if-else巢狀而成的。這樣的**看起來就是需求的"直譯", 充斥著大量的重複的邏輯,因為它沒有抽象(抽象是設計中得到的),並且一般不能很好的解決複雜的問題,或說如果「解決」的複雜問題,一般有數不盡的bug, 如需要多執行緒協作的。這樣的**往往異常僵化,其表現是: 1. 發現bug不好分析,必須一句一句的除錯**,因為整個**就是鐵板一塊,毫無職責分配的思想在裡面;2. 不敢輕易改動,往往牽一髮而動全身,原因還是如前所述。
所以無論何時開始編碼時,要先設計一下,就算你得到了足夠詳細的設計文件,這一步你也不能省略,因為再簡單的method寫之前都要先想一下「怎麼寫最好?」;當然還有一種情況,問題比較複雜,開始不能都想透,而我們程式設計師最拿手的事情就是coding, 這時候邊coding邊想也無妨,就是通過編碼去發現問題,整理思路,完成你的設計,這個過程中,要時刻理解自己的思路,不能迷失在森林中,最後還要按理順的思路重新整理下**。
我的實踐是,系統的設計寫成文件,該畫的uml圖乙個都不能少;不是特別複雜的,我要把設計寫在紙上,可能有uml圖,也可能只是一些要注意的問題,並把需求用自己的語言邏輯寫出來;再簡單的,就在大腦裡想一下即可。
張瑜,mybeautiful, [email protected].
chunked 編碼 是什麼
分塊傳輸編碼 chunked transfer encoding 是超文字傳輸協議http中的一種資料傳輸機制,允許http由網頁伺服器傳送給客戶端應用的資料可以分成多個部分。分塊傳輸編碼只在http協議1.1中提供。原理 http 1.1引入分塊傳輸編碼提供了以下幾點好處 http分塊傳輸編碼允許...
搜尋引擎SEO排名依據是什麼
至於搜尋引擎的seo排名是依據什麼,我們無法具體參透,除了搜尋引擎自己以外,相信沒有人可以得知,雖然不能了解詳細的依據,但我們可以猜測乙個大概。1,文章質量,這是乙個硬指標,也是站長最犯愁的一點,第一,要把文章寫好不容易,寫文章需要尋找題材,需要有良好的寫作功底,通常一篇好文章的誕生需要幾個小時,甚...
判斷香港優質伺服器的依據是什麼
對於伺服器租用這項服務,不少站長都是略有耳聞的了,有些甚至接觸過或者是直接租用過伺服器的,但是仍然搞不清楚如何才能挑選到優質的伺服器。畢竟企業對伺服器的效能需求是不可精確量化的,而且還需要考慮企業 的業務調整或者是訪客激增等情況帶來的變數。那麼判斷伺服器是否符合企業 需求的依據是什麼?一 伺服器運算...