最近在看一些代碼發(fā)現(xiàn)特占,雖然代碼塊被分部在不同的文件上,但是耦合非常嚴(yán)重,moduleA和moduleB看上去是兩個(gè)模塊,可是壓根就是可以寫(xiě)在同一文件中的茂缚,只是被作者“心安理得”地認(rèn)為他這樣分模塊更清晰……
借用《編程的智慧》里的一個(gè)簡(jiǎn)單的總結(jié)
真正的模塊化悔耘,并不是文本意義上的扶踊,而是邏輯意義上的备籽。一個(gè)模塊應(yīng)該像一個(gè)電路芯片尺锚,它有定義良好的輸入和輸出。實(shí)際上一種很好的模塊化方法早已經(jīng)存在,它的名字叫做“函數(shù)”军熏。
如果一個(gè)函數(shù)可能做兩種事情摩幔,它們之間共同點(diǎn)少于它們的不同點(diǎn),那你最好就寫(xiě)兩個(gè)不同的函數(shù)偷办,否則這個(gè)函數(shù)的邏輯就不會(huì)很清晰废岂,容易出現(xiàn)錯(cuò)誤详囤。
所以,設(shè)計(jì)的時(shí)候還是應(yīng)該先思考怎么規(guī)劃好代碼,再開(kāi)始寫(xiě)。而不是為形式上的東西而寫(xiě)出一坨不知所以的東西。