北大青鳥學(xué)術(shù)部分享:java開發(fā)注的意事項(xiàng)(11-20)

相關(guān)文章:北大青鳥java開發(fā)注的意事項(xiàng)(1-10)

11. 不要滿足于能夠熟練的編寫DAO和Bean(Service)的代碼,相比較而言,后臺(tái)如果在成熟框架的支持下,編碼是沒有太大難度的,也不值得沾沾自喜,因?yàn)檫@是對(duì)Java研發(fā)工程師基本的要求。適當(dāng)?shù)呐囵B(yǎng)一下前臺(tái)的編碼能力,學(xué)會(huì)使用Dreamweaver。不要輕視界面,也別認(rèn)為這是界面設(shè)計(jì)的事情,界面對(duì)用戶來(lái)說(shuō)就是軟件,學(xué)會(huì)編寫CSS和調(diào)整界面對(duì)你沒有壞處。

12. 非常明確Java和javascript作用的范圍,明確它們能做的事情。

13. 一般很奇怪的現(xiàn)象都是由一些低級(jí)錯(cuò)誤引起的,如果你查了一段時(shí)間也沒有結(jié)果,那么讓別人來(lái)查吧。

14. 不要用可能被修改的字段來(lái)做主鍵,那樣會(huì)讓相關(guān)記錄的更新成為一個(gè)大麻煩。

15. 如果被迫使用Hibernate和jdbc混合操作數(shù)據(jù)庫(kù)的話,不要用Hibernate來(lái)做復(fù)雜查詢和統(tǒng)計(jì)。Hibernate用的不好的話,帶來(lái)的便利是非常有限的。

16. 數(shù)據(jù)庫(kù)中經(jīng)常被讀取,但是很少修改的話,應(yīng)該把這樣的數(shù)據(jù)讀到內(nèi)存中用OSCache之類的緩存起來(lái),然后定期或者觸發(fā)的去更新,有助于減少讀數(shù)據(jù)庫(kù)次數(shù),提升性能。(北大青鳥)

17. 編碼的時(shí)候應(yīng)該注意部署環(huán)境帶來(lái)的影響,這種影響包括操作系統(tǒng)不同帶來(lái)路徑的差異;應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間時(shí)間的差異;外網(wǎng)可能部署在多臺(tái)服務(wù)器上,放到Session里的對(duì)象因?yàn)樾枰獜?fù)制所以要實(shí)現(xiàn)java.io.Serializable接口等。

18. 盡量不要在jsp上編寫太多代碼,保持jsp的整潔很重要,用Dreamweaver打開不至于一塌糊涂,根本看不出來(lái)這是個(gè)什么界面。

19. 目前我們的項(xiàng)目一般都使用Spring來(lái)管理數(shù)據(jù)庫(kù)事務(wù),而且一般都配置在Bean(Service)即業(yè)務(wù)層這一層,應(yīng)該注意要保持事務(wù)的完整性,不要把一些應(yīng)該放在一起的操作分散在Action這一層。相關(guān)的更新操作可以認(rèn)為是一個(gè)事務(wù),比如:增加一個(gè)家長(zhǎng),同時(shí)更新學(xué)生是否有家長(zhǎng)的字段。

20. 在Spring的配置中,對(duì)于有些需要保持獨(dú)立事務(wù)的方法操作,比如生成主鍵等,應(yīng)該聲明該方法為獨(dú)立事務(wù)ROPAGATION_REQUIRES_NEW。Bean(Service)里如果拋出checked exception,事務(wù)默認(rèn)是不會(huì)回滾的,需要加以聲明,比如PROPAGATION_REQUIRED,-PassportException。(北大青鳥通州校區(qū),未完待續(xù))

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章