夸奖对方代码写的好_怎样写好代码(三)
接上文《怎樣寫好代碼(二) 》
接口設(shè)計(jì)描述的總分代碼結(jié)構(gòu)是平面的,假設(shè)該結(jié)構(gòu)是在坐標(biāo)系中的x和y緯度,那么類怎么布局,就是在z緯度。合理布局每個(gè)類才能使得代碼更加優(yōu)雅,這里不討論設(shè)計(jì)模式使用技巧。設(shè)計(jì)模式的本質(zhì)也是分層,比如創(chuàng)建型模式中的工廠模式、結(jié)構(gòu)型模式中的代理模式、適配器模式,行為模型中的命令模式、觀察者模式等等。通過(guò)創(chuàng)建一個(gè)或多個(gè)層次出來(lái)中介、封裝、傳遞變化。那么在使用時(shí),對(duì)于有變化或復(fù)雜部分,我們只要分層獨(dú)立出來(lái),無(wú)論是什么情況,都是很好的設(shè)計(jì)模式。
面向?qū)ο缶幊讨凶钪饕悄男┓椒ǚ旁谀膫€(gè)類中。很多同學(xué)會(huì)創(chuàng)建類、會(huì)封裝方法,但方法放置得不對(duì),也使設(shè)計(jì)失去面向?qū)ο髢?yōu)勢(shì)。首先,我們需要抽象對(duì)象,對(duì)象肯定是由數(shù)據(jù)和方法組成。首先可以將業(yè)務(wù)聚集較強(qiáng)的屬性封裝成對(duì)象,如用來(lái)傳輸?shù)腡O、持久化的PO等將一些固定在一起的數(shù)據(jù)形成對(duì)象。其次,抽取業(yè)務(wù)實(shí)體為程序?qū)ο蟆H缓笥蓪傩孕纬煞椒?#xff0c;方法肯定存在于它所使用的數(shù)據(jù)所在的對(duì)象中,即數(shù)據(jù)和方法是綁定在一起的。常常看到一些不好的設(shè)計(jì),有個(gè)方法處理一些數(shù)據(jù),而這個(gè)數(shù)據(jù)完全是參數(shù)傳進(jìn)來(lái)的。合理的做法是把這個(gè)方法放到參數(shù)對(duì)象中去,這樣代碼邏輯不會(huì)散落各處,對(duì)象會(huì)更加聚焦。隨著項(xiàng)目推進(jìn)代碼的整潔度和復(fù)用性會(huì)越來(lái)越好。另一方面,在抽象類和拆分方法時(shí),一定要做到屬性和方法在類中達(dá)到閉合。比如說(shuō),各個(gè)方法之間一般都是完全獨(dú)立,不要把一件事分散到2個(gè)方法中,且這2個(gè)方法之間存在某種關(guān)聯(lián)。
上述都是思想層面,最終肯定要落實(shí)到一字一行的代碼中。這些代碼細(xì)節(jié)的常常在工作和學(xué)習(xí)中積累,如面向接口編程、異常斷言、合理使用緩存和數(shù)據(jù)結(jié)構(gòu)、代碼自解釋、防御性編程、重構(gòu)技巧、函數(shù)式編程。另外復(fù)用第三方庫(kù),避免重復(fù)勞動(dòng)。
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的夸奖对方代码写的好_怎样写好代码(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: arraycopy方法的作用_Syste
- 下一篇: java实现dvd租赁系统_Java编写