寫(xiě)JAVA后端代碼時(shí)邏輯混亂怎么辦?
網(wǎng)友解答: 寫(xiě)Java代碼已經(jīng)有四年的時(shí)光了,過(guò)的真心好快,從入職時(shí)的培訓(xùn),到進(jìn)入團(tuán)隊(duì)的窘迫,什么都不懂的尷尬,拿到一個(gè)課題默默的探索,完成Zookeeper的應(yīng)用間信息的傳遞都可以興奮
寫(xiě)Java代碼已經(jīng)有四年的時(shí)光了,過(guò)的真心好快,從入職時(shí)的培訓(xùn),到進(jìn)入團(tuán)隊(duì)的窘迫,什么都不懂的尷尬,拿到一個(gè)課題默默的探索,完成Zookeeper的應(yīng)用間信息的傳遞都可以興奮的一晚上誰(shuí)不著覺(jué)……到如今,獨(dú)立負(fù)責(zé)業(yè)務(wù)線的需求評(píng)審、方案設(shè)計(jì)、核心邏輯的實(shí)踐,并有余力去鉆研更深層次的源碼,去了解其中的真意,是成長(zhǎng),也是沉淀??倳?huì)有一些懵懵懂懂的日子,從蹣跚學(xué)步到得心應(yīng)手,我們要經(jīng)歷的是堅(jiān)持和不斷的學(xué)習(xí),并注重積累。
剛開(kāi)始工作,對(duì)Java基礎(chǔ)有一定了解,但是介入系統(tǒng)的開(kāi)發(fā),深感遠(yuǎn)遠(yuǎn)不夠,在Leader的推薦下,去詳細(xì)閱讀了《Head First Java》,其中高效而精煉的代碼段,對(duì)我的幫助很大,其中的代碼邏輯在隨后的編碼生涯中得到了一次又一次的實(shí)踐檢驗(yàn)。一邊融入團(tuán)隊(duì),一邊閱讀一些邏輯性強(qiáng)的代碼,在不斷的實(shí)踐中,能力得到鍛煉和提升,能夠勉強(qiáng)做團(tuán)隊(duì)的后臺(tái)管理項(xiàng)目,并應(yīng)用于線上。編碼生涯就這樣開(kāi)始了,是職業(yè)也是選擇。
在隨后的編碼過(guò)程中,基于團(tuán)隊(duì)協(xié)作和項(xiàng)目交接,能夠或多或少的看到同事和前輩的代碼,在編碼之前,總是會(huì)去閱讀之前同事的代碼,了解其中的邏輯,從而思考自己的解決方案,怎么處理才能高效而優(yōu)雅的完成相關(guān)的編碼任務(wù)。讀不同風(fēng)格的代碼,了解其中的設(shè)計(jì)邏輯和編碼之美,即使再糟糕的代碼,也有其中的亮點(diǎn),以學(xué)習(xí)的思路去詳讀能夠接觸到的代碼,反思自己代碼中的不足,集各家之所長(zhǎng),不斷讓自己的代碼邏輯更縝密,不斷讓自己的代碼實(shí)現(xiàn)更優(yōu)雅。
到一定階段之后,同事的代碼對(duì)個(gè)人的幫助就微乎其微啦,此時(shí),開(kāi)源社區(qū)應(yīng)該成為我們的重要助手,多接觸接觸一些優(yōu)秀的開(kāi)源源碼,如Dubbo、Spring等。在此之前,還建議多看看JDK源碼,尤其是util和current包,其中的設(shè)計(jì)之美,經(jīng)歷了一代又一代Java人的錘煉,能深入其中的人真心會(huì)感到優(yōu)雅。而Dubbo和Spring作為我們熟悉的框架,在各自的領(lǐng)域發(fā)揮著不可估量的作用,其中的設(shè)計(jì)模式和架構(gòu)理論經(jīng)過(guò)了實(shí)踐的檢驗(yàn),其中縝密的邏輯和優(yōu)雅的實(shí)現(xiàn)值得我們花時(shí)間去研究。
走過(guò)平庸,路有所成,一件事情堅(jiān)持久了,就會(huì)變得不那么平凡。千萬(wàn)條的路,而自己只能走其中的一條,既然選擇了,就毋庸置疑,就堅(jiān)持走下去,總會(huì)有所收獲、技有所長(zhǎng)。
作者:夕陽(yáng)雨晴,歡迎關(guān)注我的酷米號(hào)。偶爾美文,主流Java,為你講述不一樣的碼農(nóng)生活。
網(wǎng)友解答:下面是我的回答。
寫(xiě)代碼的時(shí)候都有邏輯混亂的時(shí)候,但是這個(gè)時(shí)候不要怕。做好一下幾點(diǎn),寫(xiě)代碼肯定會(huì)思路清晰!
第一,知道要做什么。也就是受首先設(shè)計(jì)代碼的時(shí)候要知道自己的需求是什么,無(wú)論是業(yè)務(wù)需求,還是技術(shù)需求,心中一定要有一把尺子。
第二,怎么做,與其說(shuō)怎么做還不如說(shuō)怎么設(shè)計(jì),這個(gè)時(shí)候就要花點(diǎn)心思在設(shè)計(jì)上了,因?yàn)楫吘乖O(shè)計(jì)是占整個(gè)需求的70%的。具體的做法就是如果是業(yè)務(wù)需求可以細(xì)分為一個(gè)一個(gè)的小的功能點(diǎn),然后把這些功能點(diǎn)歸納總結(jié),那些是可以用設(shè)計(jì)模式的,那些是就是簡(jiǎn)簡(jiǎn)單單的if else就能夠解決的,做到心中有數(shù)。如果東西過(guò)多的話,流程圖,時(shí)序圖是個(gè)不錯(cuò)的選擇,從整體到細(xì)分,都需要在uml圖形中列出來(lái),這樣心中更有把握!
第三,寫(xiě)代碼的受就按照自己畫(huà)的uml圖形來(lái)寫(xiě),但是有時(shí)候uml中有不足,也可以及時(shí)補(bǔ)充,做到心中有數(shù)!再有就是如果心中沒(méi)有底的話可以即使做單元測(cè)試,這樣一步一個(gè)腳印,思路自然而然不會(huì)混亂掉的!
以上就是我的回答,希望被采納,歡迎在下方留言,也歡迎關(guān)注酷米號(hào) 可人的代碼!