2016年總結(jié)-JAVA程序員 - 小寶鴿 - 博客頻道 - CSDN.NET
作者:小寶鴿
一、技術(shù)積累
(1)代碼規(guī)范
1.1.1、通常的模塊分布:一般如果你要實(shí)現(xiàn)一個(gè)web應(yīng)用,你從后臺(tái)將數(shù)據(jù)展示到前端頁(yè)面,在一個(gè)比較大的公司,你少不了跟其他項(xiàng)目有交集(你調(diào)用他的接口,他依賴你的接口),這樣下來(lái),整個(gè)公司有很多個(gè)模塊,怎么做到很好的聯(lián)系?;氐絼倓偟哪K分布,你的一個(gè)web應(yīng)用,應(yīng)當(dāng)需要分成三個(gè)模塊:core模塊、service模塊、web模塊。web模塊就是展示到頁(yè)面,后臺(tái)代碼而言主要就controller層了,其他邏輯基本都放在core了,service模塊就是一些接口類和參數(shù)dto等等,接口的實(shí)現(xiàn)類在core模塊。這樣下來(lái),web模塊只需要依賴service模塊,同樣的其他系統(tǒng)依賴你的接口也僅僅是依賴service模塊,然后利用遠(yuǎn)程調(diào)用方式消費(fèi)你的接口服務(wù)。
1.1.2、代碼層級(jí)結(jié)構(gòu):針對(duì)后臺(tái)服務(wù)項(xiàng)目,一般分為對(duì)外接口層、service層、Dao層。Dao層就是與數(shù)據(jù)庫(kù)交接的接口層,service層主要調(diào)用Dao或者外部系統(tǒng)的接口,復(fù)雜的邏輯基本都放在service層;一些方法需要提供給其他模塊調(diào)用的時(shí)候,就封裝在對(duì)外接口層,只有對(duì)外接口層是暴露。這里說(shuō)的只是層級(jí)結(jié)構(gòu),還有與層級(jí)結(jié)構(gòu)無(wú)關(guān)的,也是需要?dú)w類的,比如對(duì)外部系統(tǒng)接口方法封裝的我們放在一個(gè)目錄下面,一些常量和工具類等我們放在common目錄下面。當(dāng)然還有其他考慮,盡量讓整個(gè)模塊有層次感,代碼才不會(huì)太亂,更好的維護(hù)。
1.1.3、總結(jié)上面兩點(diǎn):可能不少猿友覺得上面啰嗦又不像代碼規(guī)范,其實(shí)這兩點(diǎn)也是代碼規(guī)范的一部分,主要引導(dǎo)大家往結(jié)構(gòu)清晰好維護(hù)的思維方向走,多思考吧。
1.1.4、對(duì)于一些需要異步處理的,不要直接new一個(gè)thread,應(yīng)當(dāng)使用線程池。使用線程池的時(shí)候應(yīng)當(dāng)對(duì)線程數(shù)量大小合理設(shè)置,一般最大不超過(guò)50個(gè),當(dāng)然還需要考慮你的IO和CPU,怎么分析網(wǎng)上搜搜吧。
1.1.5、容器類變量,如果變化比較大且頻繁,盡量定義的時(shí)候設(shè)置初始容量大小,減少擴(kuò)容帶來(lái)的消耗。