編寫測試友好型代碼

有些代碼,很容易測試。有些代碼,很難測試。單元測試

容易測試的代碼一定是高度解耦的代碼,不容易測試的代碼一定是高度耦合的代碼。測試

對於高度耦合的代碼,你只能進行通測,難以進行單元測試,由於代碼自己拆不開、剪不斷、理還亂、很愁。遞歸

解耦的重要技術就是反射。讓主程序經過反射的方式去發現它有哪些模塊,它的子模塊都是獨立的、是無關緊要的、是可插拔的。數學

測試友好型代碼就是高度解耦的代碼,高度解耦的代碼就是易於擴展的代碼。模板

整個項目由不少可複用的零件組成,它的複雜來源於零件衆多,而不是零件之間錯綜複雜的關係。複雜有兩種:一種是簡單拼起來的複雜,一種是事物盤根錯節造成的複雜。天上的星星不少,可是每一個星星都很類似,這是簡單拼起來的複雜,它雖然內容繁多,可是很容易讓人觸類旁通,快速瞭解事物的全貌;九連環的每個環都互相影響,華容道每一個木塊都互相影響,這就是事物盤根錯節造成的複雜。擴展

誰要是能把錯綜複雜的關係轉化爲單一的同構的簡單組件,那即是對複雜實現了「降維」,把高維複雜變成了低維複雜。軟件

遞歸是單一同構的複雜。爲何人們認爲單一同構的複雜更爲簡單?由於事物的總體結構便於理解。技巧

讀一首詩,人對即將讀到的事物會有總體的把握,好比下一句包含的字符個數,下一句包含的字數。反射

人對單一同構的事物會充耳不聞、視而不見,由於人腦已經進化得更爲關注那些奇特、沒有規律的內容。因而,生活中常常見到讀了一首古詩,只是單純的讀了一遍,對內容沒有進行理解。讀宋詞則徹底不同,宋詞錯落有致,句句奇特,讓人很容易集中注意力。程序

人對工整、單1、同構的事物有一種自然的崇敬之心。一樣的意思用韻文表達出來就讓人感受這話乃是天意,是天然而然造成的,是好的。

詩是一種規範、一種模板、一種套路,離散數學中的代數系統也是一套模板、一套規範。只要幾個運算之間符合某種運算性質,那麼就能夠斷言這個代數系統是否存在幺元、零元、所屬的代數系統的類型,一旦代數系統的這些特性肯定了,人們就可以對這個代數系統有直觀而全面的認識。

人雖然沒法理解高維空間,可是人會進行類比推理。類比推理是人們認知事物的重要手段。而運用類比推理的前提就是:事物必須單1、同構。

單元測試是一種技巧。在建造房子的過程當中,須要設置許多腳手架,一旦房子蓋完了,就要移除這些腳手架。不一樣的軟件系統有不一樣的單元測試方法。

相關文章
相關標籤/搜索