Java编程开发中高效编码的7个技巧?你应该知道……
1. 使用 JDK 8 或更高版本
從 JDK 8 以及 更高版本開(kāi)始,引進(jìn)許多新功能將允許你編寫更短、更具表現(xiàn)力的代碼,包括 lambda 表達(dá)式、functional 接口、stream API等。你實(shí)際上不需要記住他們,因?yàn)?IDEA 將幫助你使用這些功能,這也是你應(yīng)該使用 IDEA 的另一個(gè)愿意。《Java 8 in Action》 可能對(duì)你有所幫助。
2. 使用 IntelliJ IDEA 作為你的 IDE
我一直使用了 Eclipse 6年,NetBeans 3年。我有時(shí)仍然使用他們,但是大多數(shù)時(shí)間,我只使用 IntelliJ IDEA。我不想在這里開(kāi)始 IDE 的圣戰(zhàn),但是我只想告訴你 IDEA 將提醒你基于其集成的最佳實(shí)踐編寫更簡(jiǎn)短、更好、更清晰的代碼。你只需要按下 ALT + Enter,它將為你完成工作。大多數(shù)時(shí)間,InterlliJ IDEA 為你提供智能和實(shí)用的建議;你還可以從中獲得各種新的信息。
為了更好的使用 IDEA,你最好使用 SSD,至少我這么做了——我舊的筆記本電腦無(wú)法流暢的運(yùn)行 IDEA。只需要一個(gè) 256G 的 Samsung SSD 就可以讓你的生活更美好。如果你仍在使用 HDD,這是值得投資的。
3. 使用 Maven/Gradle
為你的項(xiàng)目使用 Maven 或 Gradle 來(lái)管理依賴、構(gòu)建和部署。如果你已經(jīng)構(gòu)建了許多基礎(chǔ)庫(kù)在許多項(xiàng)目中重用,如果這些庫(kù)僅在內(nèi)部使用,這最好引入 Nexus。否則,你可以將他們部署到 Maven 中央存儲(chǔ)庫(kù)。
4. 使用 Lombok
和 setter/getter、hashcode/equals 以及 constructors/toString 這樣的模板代碼說(shuō)再見(jiàn)。只需要一個(gè)注解——@Data——即可工作。Lombok 減少你編寫的代碼,但是它依然會(huì)處理生成的字節(jié)碼。
5. 編寫單元測(cè)試
什么?你是認(rèn)真的?
是的。可測(cè)試代碼通常組織的更好、更清晰,因?yàn)樗偈鼓闶孪裙芾眍惖年P(guān)系、方法的訪問(wèn)級(jí)別以及其他內(nèi)容。我發(fā)現(xiàn)即使最小的單元測(cè)試也會(huì)使開(kāi)發(fā)更快更容易,這總能驅(qū)動(dòng)你編寫更簡(jiǎn)短、更清晰、更好的代碼。
但是,你總會(huì)聽(tīng)到負(fù)面的言論,比如“我們有時(shí)間編寫單元測(cè)試”或“在截止日期來(lái)臨時(shí)這是在浪費(fèi)時(shí)間”。這聽(tīng)起來(lái)是真的,有時(shí)候,這確實(shí)是事實(shí)。但是大部分時(shí)間,從我的經(jīng)驗(yàn)來(lái)看,我認(rèn)為它不是。如果你沒(méi)有時(shí)間來(lái)編寫單元測(cè)試,你將花費(fèi)更多時(shí)間來(lái)修復(fù)可見(jiàn)或不可見(jiàn)的 bug,而沒(méi)有單元測(cè)試的快速反饋,代碼的穩(wěn)定性通常會(huì)降低,新的改動(dòng)通常會(huì)減少,有時(shí),你可能需要認(rèn)真祈禱,因?yàn)槟阏娴牟恢缹l(fā)生什么或?qū)⒁攵嗌傩碌?bug。
可能一些天才程序員可以寫出不需要單元測(cè)試而沒(méi)有 bug 的代碼。但是我不是,你可能也不是。所以去做吧——相信我。
JUnit 和 TestNG 都可以工作;不過(guò)我更喜歡 TestNG。
6. 重構(gòu):勤而緩
更短、更簡(jiǎn)潔的代碼不能一次完成;它需要反復(fù)改進(jìn)。一點(diǎn)一點(diǎn)的重構(gòu)并運(yùn)行測(cè)試用例以確保你的更改不會(huì)破壞代碼的正確行為。事情會(huì)變得越來(lái)越好。IDEA 提供了很好的重構(gòu)支持,比如提取方法、重命名、內(nèi)聯(lián)等。
如果你不知道什么是重構(gòu)并想要了解更多,Martin Flower 的書 《Refactoring: Improving the Design of Existing Code (2nd Edition)》 (譯者注:中文版書名叫做《重構(gòu):改善既有代碼的設(shè)計(jì)》)是必備的。
7. 定期拜訪客戶并獲取他們的反饋
老實(shí)說(shuō),這應(yīng)該在列表的頂部,但在這種情況下,“最好的都在最后”。你編寫的代碼是為了解決客戶的問(wèn)題,滿足他們的需求并消除他們的痛點(diǎn)。有時(shí),你浪費(fèi)了太多時(shí)間實(shí)現(xiàn)不必要的特性和功能。但是你如何能早點(diǎn)知道呢?定期與客戶保持聯(lián)系,以便盡早得到他們的反饋。然而,這并不像你想象的那么容易,即使是經(jīng)驗(yàn)豐富的產(chǎn)品經(jīng)理也無(wú)法在短時(shí)間內(nèi)獲得信息,甚至比主要關(guān)注實(shí)現(xiàn)的程序員還少。
一個(gè)實(shí)際的建議是,如果你無(wú)法直接與客戶聯(lián)系,你應(yīng)該經(jīng)常與你的產(chǎn)品負(fù)責(zé)人聯(lián)系,并清楚有禮貌的談?wù)勀愕膯?wèn)題,這將節(jié)省很多時(shí)間。
為了讓學(xué)習(xí)變得輕松、高效,今天給大家免費(fèi)分享一套Java入門教學(xué)資源。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘。需要入門的資料歡迎加入學(xué)習(xí)交流群:9285,05736
總結(jié)
以上是生活随笔為你收集整理的Java编程开发中高效编码的7个技巧?你应该知道……的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 做为一名java高级程序员,需要了解哪些
- 下一篇: python3编程入门先学什么_自学编程