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

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

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

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

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

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

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

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

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

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

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

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

北大青鳥網(wǎng)上報名
北大青鳥招生簡章