你應該知道的7個寫出更好的 Java 代碼的技巧(譯)

你應該知道的7個寫出更好的 Java 代碼的技巧

原文鏈接:https://dzone.com/articles/7-tips-to-write-better-java-code-you-should-know-1

作者:Nathanael Yang

譯者:Darren Luo

查看這些技巧和竅門可以幫助你寫出更好的 Java 代碼宫静。

是的,你可以按照以下7個技巧和竅門編寫出簡短钉蒲、整潔的 Java 代碼讥电。他們中的一些可能會讓你感到驚訝酱讶,但是相信我交掏,他們通過了實踐驗證——至少是我沈条。

1. 使用 IntelliJ IDEA 作為你的 IDE

我一直使用了 Eclipse 6年酣难,NetBeans 3年让虐。我有時仍然使用他們紊撕,但是大多數時間,我只使用 IntelliJ IDEA澄干。我不想在這里開始 IDE 的圣戰(zhàn)逛揩,但是我只想告訴你 IDEA 將提醒你基于其集成的最佳實踐編寫更簡短柠傍、更好、更清晰的代碼辩稽。你只需要按下 ALT + Enter惧笛,它將為你完成工作。大多數時間逞泄,InterlliJ IDEA 為你提供智能和實用的建議患整;你還可以從中獲得各種新的信息。

為了更好的使用 IDEA喷众,你最好使用 SSD各谚,至少我這么做了——我舊的筆記本電腦無法流暢的運行 IDEA。只需要一個 256G 的 Samsung SSD 就可以讓你的生活更美好到千。如果你仍在使用 HDD昌渤,這是值得投資的。

2. 使用 JDK 8 或更高版本

從 JDK 8 以及 更高版本開始憔四,引進許多新功能將允許你編寫更短膀息、更具表現(xiàn)力的代碼,包括 lambda 表達式了赵、functional 接口潜支、stream API等。你實際上不需要記住他們柿汛,因為 IDEA 將幫助你使用這些功能冗酿,這也是你應該使用 IDEA 的另一個愿意。《Java 8 in Action》 可能對你有所幫助络断。

3. 使用 Maven/Gradle

為你的項目使用 MavenGradle 來管理依賴裁替、構建和部署。如果你已經構建了許多基礎庫在許多項目中重用妓羊,如果這些庫僅在內部使用胯究,這最好引入 Nexus。否則躁绸,你可以將他們部署到 Maven 中央存儲庫。

4. 使用 Lombok

和 setter/getter臣嚣、hashcode/equals 以及 constructors/toString 這樣的模板代碼說再見净刮。只需要一個注解——@Data——即可工作。Lombok 減少你編寫的代碼硅则,但是它依然會處理生成的字節(jié)碼淹父。

5. 編寫單元測試

什么?你是認真的怎虫?

是的暑认±Ы椋可測試代碼通常組織的更好、更清晰蘸际,因為它促使你事先管理類的關系座哩、方法的訪問級別以及其他內容。我發(fā)現(xiàn)即使最小的單元測試也會使開發(fā)更快更容易粮彤,這總能驅動你編寫更簡短根穷、更清晰、更好的代碼导坟。

但是屿良,你總會聽到負面的言論,比如“我們有時間編寫單元測試”或“在截至日期來臨時這是在浪費時間”惫周。這聽起來是真的尘惧,有時候,這確實是事實递递。但是大部分時間褥伴,從我的經驗來看,我認為它不是漾狼。如果你沒有時間來編寫單元測試重慢,你將花費更多時間來修復可見或不可見的 bug,而沒有單元測試的快速反饋逊躁,代碼的穩(wěn)定性通常會降低似踱,新的改動通常會減少,有時稽煤,你可能需要認真祈禱核芽,因為你真的不知道將發(fā)生什么或將引入多少新的 bug。

可能一些天才程序員可以寫出不需要單元測試而沒有 bug 的代碼酵熙。但是我不是轧简,你可能也不是。所以去做吧——相信我匾二。

JUnit 和 TestNG 都可以工作哮独;不過我更喜歡 TestNG。

6. 重構:勤而緩

更短察藐、更簡潔的代碼不能一次完成皮璧;它需要反復改進。一點一點的重構并運行測試用例以確保你的更改不會破壞代碼的正確行為分飞。事情會變得越來越好悴务。IDEA 提供了很好的重構支持,比如提取方法譬猫、重命名讯檐、內聯(lián)等羡疗。

如果你不知道什么是重構并想要了解更多,Martin Flower 的書 《Refactoring: Improving the Design of Existing Code (2nd Edition)》 (譯者注:中文版書名叫做《重構:改善既有代碼的設計》)是必備的别洪。

7. 定期拜訪客戶并獲取他們的反饋

老實說叨恨,這應該在列表的頂部,但在這種情況下蕉拢,“最好的都在最后”特碳。你編寫的代碼是為了解決客戶的問題,滿足他們的需求并消除他們的痛點晕换。有時午乓,你浪費了太多時間實現(xiàn)不必要的特性和功能。但是你如何能早點知道呢闸准?定期與客戶保持聯(lián)系益愈,以便盡早得到他們的反饋。然而夷家,這并不像你想象的那么容易蒸其,即使是經驗豐富的產品經理也無法在短時間內獲得信息,甚至比主要關注實現(xiàn)的程序員還少库快。

一個實際的建議是摸袁,如果你無法直接與客戶聯(lián)系,你應該經常與你的產品負責人聯(lián)系义屏,并清楚有禮貌的談談你的問題靠汁,這將節(jié)省很多時間。

我發(fā)現(xiàn)這七個技巧在過去幾年非常有用闽铐,我希望他們也將幫到你蝶怔。快樂的擼碼兄墅!

大家共勉吧 !

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末踢星,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子隙咸,更是在濱河造成了極大的恐慌沐悦,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扎瓶,死亡現(xiàn)場離奇詭異所踊,居然都是意外死亡,警方通過查閱死者的電腦和手機概荷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碌燕,“玉大人误证,你說我怎么就攤上這事继薛。” “怎么了愈捅?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵遏考,是天一觀的道長。 經常有香客問我蓝谨,道長灌具,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任譬巫,我火速辦了婚禮咖楣,結果婚禮上,老公的妹妹穿的比我還像新娘芦昔。我一直安慰自己诱贿,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布咕缎。 她就那樣靜靜地躺著珠十,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凭豪。 梳的紋絲不亂的頭發(fā)上焙蹭,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音嫂伞,去河邊找鬼孔厉。 笑死,一個胖子當著我的面吹牛末早,可吹牛的內容都是我干的烟馅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼然磷,長吁一口氣:“原來是場噩夢啊……” “哼郑趁!你這毒婦竟也來了?” 一聲冷哼從身側響起姿搜,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤寡润,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后舅柜,有當地人在樹林里發(fā)現(xiàn)了一具尸體梭纹,經...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年致份,在試婚紗的時候發(fā)現(xiàn)自己被綠了变抽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绍载,靈堂內的尸體忽然破棺而出诡宗,到底是詐尸還是另有隱情,我是刑警寧澤击儡,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布塔沃,位于F島的核電站,受9級特大地震影響阳谍,放射性物質發(fā)生泄漏蛀柴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一矫夯、第九天 我趴在偏房一處隱蔽的房頂上張望鸽疾。 院中可真熱鬧,春花似錦茧痒、人聲如沸肮韧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弄企。三九已至,卻和暖如春区拳,著一層夾襖步出監(jiān)牢的瞬間拘领,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工樱调, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留约素,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓笆凌,卻偏偏與公主長得像圣猎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子乞而,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內容