问鼎五岳之巅--Java开发手册泰山版心得分享
簡介:?完善計(jì)算機(jī)知識體系的路程,就好似攀登高峰,隨著經(jīng)驗(yàn)的增長,技術(shù)的積累,視野的廣闊,我們愈戰(zhàn)愈勇,敢于挑戰(zhàn)更高的山峰。阿里的Java手冊的發(fā)展,也正如此,愈來愈完善,給開發(fā)者提供一套業(yè)界的開發(fā)標(biāo)準(zhǔn),開發(fā)設(shè)計(jì)時(shí)遵循此規(guī)約,實(shí)在無往不利。
還在上大學(xué)的時(shí)候,就曾看到過早期阿里的Java開發(fā)手冊,那時(shí)候還對其中大部分的規(guī)約滿是疑惑,知其然而不知其所以然。后面我參與實(shí)習(xí),那時(shí)候公司也十分注重代碼規(guī)范,帶我的師傅讓我先學(xué)習(xí)下阿里的Java開發(fā)手冊,以后就照著這個(gè)規(guī)范來了。
隨著后面經(jīng)驗(yàn)的不斷積累,我開始漸漸了解Java開發(fā)手冊一些規(guī)約其中的深意。舉個(gè)例子:對于一個(gè)設(shè)備在線、離線狀態(tài),我在應(yīng)用層設(shè)計(jì)的時(shí)候是設(shè)計(jì)成基本類型boolean還是包裝類Boolean呢,包裝類的Boolean支持賦null值,基本類型boolean賦null會(huì)拋NPE,我的選擇決定我后面對可能出現(xiàn)的null如何處理。那我數(shù)據(jù)庫那邊的字段要選擇什么類型,才能最大程度上滿足需求,又節(jié)省空間呢?我后續(xù)是否需要在該字段加索引呢?哦,不對,要是后面設(shè)備的狀態(tài),可能不止在線,離線,多了個(gè)"正忙"狀態(tài),我要是設(shè)計(jì)成布爾型,后期這改動(dòng)就要命了呀,考慮到拓展性,我得考慮用其他基本類型代替,那是short好呢,還是int呢,還是long呢,那數(shù)據(jù)庫那邊對應(yīng)的字段類型,是varchar呢,還是別的一些呢。
上面的問題,有很多種組合方式,對于沒有經(jīng)驗(yàn)的新手來說,要是他考慮到了這些問題,他要花費(fèi)大量的時(shí)間去嘗試各種可能,選出最優(yōu)的方案。對于有經(jīng)驗(yàn)的老手,也可能會(huì)直接用過往的經(jīng)驗(yàn)去設(shè)計(jì),倘若他的"過往經(jīng)驗(yàn)"不是最優(yōu)解呢?正因?yàn)槌绦蜷_發(fā)有無限的可能,它才顯得迷人,但是坑也很多。有了阿里的Java開發(fā)手冊就好多了,大家把平常開發(fā)的一些坑,和好的設(shè)計(jì),經(jīng)過反復(fù)的推敲,提煉出來,總結(jié)一套可行的規(guī)范,讓廣大開發(fā)者受益,這,正是Java開發(fā)手冊備受Java開發(fā)者推崇的主要因素。
手冊也一直在更新迭代,一直在進(jìn)步,如今敢起名五岳之巔--泰山版,也算不枉此名吧。
總結(jié)
以上是生活随笔為你收集整理的问鼎五岳之巅--Java开发手册泰山版心得分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重启大法好!线上常见问题排查手册
- 下一篇: 敬请期待!《Java开发手册》灵魂13问