作為軟件開發(fā)過(guò)程中極為重要的一步,軟件設(shè)計(jì)直接確定軟件的外觀(軟件功能,結(jié)構(gòu),樣式)。 那么在軟件設(shè)計(jì)中我們應(yīng)該注意什么呢? 以下編輯將與您討論軟件開發(fā)和設(shè)計(jì)中最常見的兩個(gè)誤解:設(shè)計(jì)不足和過(guò)度設(shè)計(jì)。 首先,讓我們談?wù)勡浖O(shè)計(jì)不足的問(wèn)題。 這個(gè)問(wèn)題在新手中很常見,但對(duì)于退伍軍人也可能出現(xiàn)。 我什至看到過(guò)一種老式的程序員,在經(jīng)歷了過(guò)多的過(guò)度設(shè)計(jì)打擊之后,又轉(zhuǎn)向另一種程序員。至于極端,它否認(rèn)了抽象封裝的作用,并走上了“反設(shè)計(jì)”之路。 過(guò)多的軟件設(shè)計(jì)主要是指軟件設(shè)計(jì)中過(guò)多的面向未來(lái)的設(shè)計(jì)和不必要的抽象包裝,從而給系統(tǒng)增加了不必要的復(fù)雜性。 當(dāng)程序員已經(jīng)掌握了一些基本的設(shè)計(jì)能力時(shí),這個(gè)問(wèn)題很常見。 要克服的最常見,最困難的設(shè)計(jì)問(wèn)題通常是過(guò)度設(shè)計(jì)。
例如,您想制作一個(gè)功能模塊,但您認(rèn)為系統(tǒng)中仍有幾個(gè)未完成的模塊與您想要的相似,因此您決定為此做一些額外的抽象和封裝。 供將來(lái)重用。 但是,當(dāng)您以后開發(fā)那些類似的模塊時(shí),您發(fā)現(xiàn)它可能是由于抽象不足或抽象錯(cuò)誤所致。 您必須重新修改以前的軟件包才能完成重用。 結(jié)果,最終的成本實(shí)際上不如不做。 使用過(guò)的零件的成本實(shí)際上不如包裝的成本。 這些是過(guò)度設(shè)計(jì)的最常見示例。 可以看出,確定性在軟件開發(fā)和設(shè)計(jì)中的重要性要求每個(gè)程序員都認(rèn)真對(duì)待過(guò)度設(shè)計(jì)和欠設(shè)計(jì)之間的平衡。 當(dāng)然,目前還沒(méi)有好的解決方案,只能依靠經(jīng)驗(yàn)的積累和不斷總結(jié)的思考。 如何掌握這一學(xué)位是最能考驗(yàn)程序員經(jīng)驗(yàn)和價(jià)值的問(wèn)題之一。