1.想清楚,再動(dòng)手寫代碼
剛?cè)胄械男率郑瑸榱苏故咀约旱哪芰?,拿到需求迫不及待地就開始上手寫代碼,大忌!預(yù)先善其事,必先利其器。做任何事情的時(shí)候,都要先三思后行,先考慮為什么要做(就是這件事的初衷是什么 ,打算做到什么樣的地步),在考慮要怎么做(效率,用那種方法做最快),最后考慮做了之后有什么影響(做完之后是否達(dá)到了理想的狀態(tài))

2.不交流,就會(huì)頭破血流
不愛說話和溝通,需求都理解錯(cuò)誤了,最后做出來才發(fā)現(xiàn),只能加班返工!
你的思想不能強(qiáng)加給別人,所以要在達(dá)成統(tǒng)一的前提下在開始,要不然做的多,錯(cuò)的也多,招人煩,自己也煩

3.一定要寫注釋
時(shí)間久了,你會(huì)連自己的代碼都看不懂!人的記憶本身就是有限的,程序員每天在重復(fù)大量的代碼工作的同時(shí),會(huì)忘記很多東西。等回過頭來,看自己寫的代碼你會(huì)忘記很多當(dāng)時(shí)的想法。并且,代碼不是只有自己看,也是寫給別人看的。寫一份別人看不懂的信,就沒有保存的價(jià)值,代碼也是一樣,沒有人能讀懂,就缺少分享性質(zhì)。

4.文檔沒人看,但還是要寫
文檔的作用大部分時(shí)候不是用來溝通的,是用來做記錄的,大部分需求還是通過口頭溝通,但是不寫文檔做記錄,后續(xù)就容易扯皮!做事要給自己留個(gè)退路,不要相信任何人,法家推崇,人性本惡,以法治國。更何況在這個(gè)物質(zhì)橫飛的社會(huì),人類更不可能會(huì)存在更多的美好品德。所以做任何事,都要給自己留一個(gè)后路,以免被別人坑。

5.業(yè)務(wù)高于技術(shù)
如果技術(shù)不為公司商業(yè)做服務(wù),那將毫無價(jià)值,公司賺錢才是硬道理!公司賺錢是硬道理,所有公司業(yè)務(wù)才是重中之重,別想那么,你的職位并不別創(chuàng)造業(yè)績的重要

6.別指望需求會(huì)穩(wěn)定
產(chǎn)品需求是根據(jù)商業(yè)需求不斷調(diào)整的,改需求是很正常的事,所以不雅抱怨工作,更不要抱怨生活。

7.慎用新技術(shù)
no zuo no die。在沒有十足的把握之前別使用新的技術(shù)自作主張用了,多半是作死!

8.不要心存僥幸
你隱約感覺會(huì)出bug的地方,就一定會(huì)出bug!

9.自己先測(cè)幾遍
不要寫完就扔給測(cè)試人員去測(cè),經(jīng)自己手的東西,要保證質(zhì)量!東西做完,自己先測(cè)試幾遍,別直接發(fā)出去,發(fā)出去的都是最終的版本,做人也是一樣,沒說一句話,就要為說的話負(fù)責(zé),因?yàn)槟闶浅赡耆恕?/p>

10.盡可能自己解決問題
遇到不懂的問題,要先盡力解決,別動(dòng)不動(dòng)就截個(gè)圖扔在別人求幫忙,上司和同事不是來給你擦屁股的,但是真的搞砸了就要盡快求助!不斷增加自己的能力才是王道。

小伙伴們記住了嗎?
我們?cè)诰幋a時(shí)還應(yīng)該知道一些原則。這不是規(guī)矩,也不是指導(dǎo)方針。它們只是我在編寫和運(yùn)行代碼時(shí)總結(jié)出來的一些需要注意的原則。
1.偏執(zhí)
偏執(zhí)是我的諍友,而且我認(rèn)為它也應(yīng)該成為我們每一個(gè)工程師的“左膀右臂”。我們要偏執(zhí)的是,應(yīng)該總是想著從另一種方式來證實(shí)假設(shè),或者從另一個(gè)角度去看我們遺漏了什么。雖然很多時(shí)候這顯得很雞肋,但是有時(shí)候它能發(fā)揮至關(guān)重要的作用 。
2.不要欺騙電腦
換言之就是“避免抽象漏洞”(注:抽象泄漏是指任何試圖減少或隱藏復(fù)雜性的抽象,其實(shí)并不能完全屏蔽細(xì)節(jié),試圖被隱藏的復(fù)雜細(xì)節(jié)總是可能會(huì)泄漏出來)。系統(tǒng)該怎么用就怎么用,不要?jiǎng)e出心裁自創(chuàng)用法。不要指望會(huì)出現(xiàn)什么奇跡。
如果系統(tǒng)使用規(guī)模超過當(dāng)前的三倍,那么就得考慮重新設(shè)計(jì)。
電腦是最誠實(shí)的孩子,如果你欺騙了它,它絕對(duì)會(huì)狠狠地反咬一口。

3.簡單就好
我們喜歡創(chuàng)建一些新事物、解決一些疑難雜癥。這也是為什么我們干這一行的原因。但是很多時(shí)候,我們發(fā)現(xiàn)某個(gè)問題可以解決,卻并不意味著現(xiàn)在就是解決它的好時(shí)機(jī)。
別以為這很容易,相反這是一個(gè)難度不小的挑戰(zhàn)——以一種復(fù)雜的方式解決問題誰都能辦到,但是只有優(yōu)秀的程序員才能用一種既簡單又易于理解的方式解決問題。特別是要真正直截了當(dāng)?shù)厮伎汲鰡栴}的關(guān)鍵就更是難上加難了。
理解是重點(diǎn),要知道程序員大部分時(shí)間是在維護(hù)代碼,而不是寫代碼。

4. 優(yōu)化第一戒律就是不要優(yōu)化
這一點(diǎn)來自于John Bentley所著的經(jīng)典書籍《編程珠璣》。(它旨在幫助我們像一個(gè)經(jīng)驗(yàn)豐富的程序員一樣思考。雖然已經(jīng)發(fā)行了好多年,但是上面的很多經(jīng)驗(yàn)教訓(xùn)仍然適用于當(dāng)今社會(huì)。)
優(yōu)化可以采取多種形式:速度、后驗(yàn)形式、潛在規(guī)模、可能用途,等等。
5.不要僅僅修復(fù)bug;要修復(fù)所有可能發(fā)生bug的地方
對(duì)于自己犯的錯(cuò)誤,沒必要耿耿于懷。每個(gè)人都討厭出現(xiàn)bug,我也是。
6.不斷地做問題假設(shè)
我們應(yīng)該一直保持這種態(tài)度,不斷地詢問自己這些假設(shè)情況。什么是真正需要解決的問題?是不是只要求解決效果而不必追究根本原因?解決方案完整嗎?完備嗎?值得嗎?
7..從長遠(yuǎn)角度思考。放慢腳步,才能跑得更快
這可能是最重要的一點(diǎn)了。作為工程師,我們享受于高效的工作效率:喜歡不斷地創(chuàng)建、創(chuàng)建、創(chuàng)建。但是如果我們不能用長遠(yuǎn)的角度看問題,只會(huì)作繭自縛,使得最后越來越難構(gòu)建任何東西。

8.關(guān)心自己的代碼
我想這一點(diǎn)沒必要過多解釋了吧。不過遺憾的是,現(xiàn)在有很多人時(shí)不時(shí)地將其拋之腦后。
為自己的工作驕傲!關(guān)心你自己寫的代碼!
如果我想偷懶抄近路,我就會(huì)告訴自己種瓜得瓜種豆得豆,現(xiàn)在偷懶將來可能會(huì)面對(duì)很多亂七八糟的代碼,最后可憐的還是自己。
9.成本、速度、正確率
這是軟件中的鐵三角關(guān)系,也是全世界軟件工程師孜孜以求的目標(biāo)。但是這不能成為我們裹足不前自滿自得的借口。
事實(shí)上,所謂程序員的優(yōu)秀和偉大之間的區(qū)別往往在于他們駕馭這個(gè)鐵三角的能力——偉大的程序員通常會(huì)想盡辦法盡可能地達(dá)到這三個(gè)目標(biāo)。我們都應(yīng)該努力成為偉大的程序員。
10.最后,保持好奇心,不斷地學(xué)習(xí)
好吧,這可能看上去更像是職業(yè)建業(yè)。但是如果你沒有了好奇心,不愿意學(xué)習(xí)新鮮事物,不再關(guān)心新技術(shù)、新語言,那么你還干這一行干嘛呢?
小編整理了一些java進(jìn)階學(xué)習(xí)資料和面試題,需要資料的請(qǐng)加JAVA高階學(xué)習(xí)Q群:730379855 這是小編創(chuàng)建的java高階學(xué)習(xí)交流群,加群一起交流學(xué)習(xí)深造。群里也有小編整理的2019年最新最全的java高階學(xué)習(xí)資料!