自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

八點建議寫出優(yōu)雅的Java代碼

開發(fā) 后端
本文將為您帶來八點建議和技巧,以幫助您編寫出簡潔、干練的 Java 代碼。其中的有些可能會讓你覺得有些不可思議,但是請相信我,如下的每一條我都親身實踐過的。

 [[286604]]

在每一位剛入行的程序員的心中,編寫程序都是一門神圣的藝術創(chuàng)作。他們無不希望自己的代碼作品既簡潔清晰,又可讀性強,而且還具有一定的容錯能力。本文將為您帶來八點建議和技巧,以幫助您編寫出簡潔、干練的 Java 代碼。其中的有些可能會讓你覺得有些不可思議,但是請相信我,如下的每一條我都親身實踐過的。

1.使用 IntelliJ IDEA 作為您的集成開發(fā)環(huán)境 (IDE)

雖然我已經使用了六年的 Eclipse 和三年的 NetBeans,而且我仍然偶爾會使用到它們,但是如今的大部分時間,我只使用 IntelliJ IDEA。我并不是想在這里展開有關 IDE 的大討論,而只是想告訴您,IDEA 能夠根據其自有的最佳整合實踐標準,持續(xù)提示您寫出更短、更好、更簡潔的代碼。

您只需要按下 Alt + Enter 組合鍵,它就會自動開始為您工作了。在大多數時候,IntelliJ IDEA 能夠為您提供各種智能且實用的代碼建議。當然,您也可以向它學到不同的編程知識與技巧。

另外,推薦使用 IDEA 的快捷鍵來加快編碼速度, IDEA 有很多非常方便的快捷鍵和功能,用的多了自然就熟悉了!

為了更好地獲取 IDEA 的服務性能,您最好在自己的電腦上采用固態(tài)硬盤 (SSD)。就我自己的那臺舊式筆記本電腦而言,由于使用的是傳統(tǒng)硬盤 (HDD),它已無法順暢地運行 IDEA 了。因此我個人建議您至少使用一顆 256 GB 大小的固態(tài)硬盤。

2.使用 JDK 8 或更高版本

JDK 8 及其更高版本引入了諸如:lambda 表達式 (lambda expression,一種匿名函數)、功能接口、流式接口 (Stream APIs,提供更為可讀的源代碼實現方法) 等許多新的功能,這些都有助于您寫出更簡短、更高性能的 Java 代碼。

當然,您并不需要去逐一地記住這些功能,因為前面提到的 IDEA 會幫助您在實際編程的過程中,實現這些功能與服務。這也就是為什么我首先向您建議使用 IDEA 的原因。

3.使用 Maven/Gradle

請使用 Maven(一個采用純 Java 編寫的開源項目管理工具,請參見) 或 Gradle(一個基于 Apache Ant 和 Maven 的項目自動化構建工具,請參見) 來管理代碼中的依賴關系,以及構建和部署自己的項目。

大部分 Java 后端開發(fā)人員都用的是 Maven,或許是因為幾乎所有 Java 開發(fā)者都熟悉 XML。下面我們來看看 Maven 能為我們做什么。

Maven 能為我們做什么?

  • 我們可以使用 maven 輕松構建項目。
  • 我們可以使用 maven 的幫助輕松添加項目的 jar 和其他依賴項。
  • Maven 提供項目信息(日志文檔,依賴列表,單元測試報告等)
  • 在更新 JAR 和其他依賴項的中央存儲庫時,Maven 對項目非常有幫助。
  • 在 Maven 的幫助下,我們可以將任意數量的項目構建為輸出類型,如 JAR,WAR 等,而無需執(zhí)行任何腳本編寫。
  • 使用 Maven,我們可以輕松地將我們的項目與源代碼控制系統(tǒng)(例如 Subversion 或 Git)集成。

4.使用 Lombok

是時候向setter/getter、ashcode/equals、以及constructors/toString等樣板式代碼 (boilerplate code) 說再見了,您只需要一個注解: @Data 就能統(tǒng)統(tǒng)搞定了。

Lombok 是一款可以通過簡單的注解形式,來幫助開發(fā)者簡化并消除 Java 代碼臃腫的工具 (具體請參見)。它不但能夠減少您的代碼編寫量,還能夠幫助您打理那些生成的字節(jié)碼。

5.編寫單元測試

可測試的代碼通常意味著在組織結構上具有更合理、更簡潔的代碼質量。因為它會驅使您去事先管理好各個類之間的關系、各種方法的訪問級別、以及其他方面。我甚至發(fā)現:即使是最小的單元測試也能夠促進更快、更便捷的開發(fā)進程,進而能夠讓自己寫出更加短、平、快的 Java 代碼。

當然在現實開發(fā)工作中,您總會聽到一些諸如“我根本沒有時間來編寫單元測試”或“項目時間節(jié)點將至,不要浪費時間些單元測試了”之類的反對意見。這些聽起來貌似很合理,但是根據我的經驗,在多數情況下,事實并非如此。

如果您沒有時間去編寫單元測試,那您是否有更多的時間,去修復代碼中那些可見、或不可見的 bug 呢?如果跳過了單元測試,那些倉促完成的代碼將無法保證穩(wěn)定性。特別對于一些新的代碼變更而言,您完全無法通過及時的反饋途徑,知曉那些新產生的代碼是否存在著錯誤隱患,是否會在將來運行的某個特定場景中產生不可預知的異常問題。

一般而言,Junit 和 TestNG 是兩款非常優(yōu)秀的 Java 應用、及單元測試框架。而我個人則更喜歡使用 TestNG。

6.重構:常見,但也很慢

簡潔干練的 Java 程序代碼從來不是一蹴而就的,它往往需要您進行反復地琢磨與改進。通過逐行進行代碼重構、和運行各種測試用例,您可以確保自己的更改不會破壞既有代碼的正確功能。

同樣,IDEA 極大地提供了對于代碼重構的支持,其中包括提取方法 (extract method,將某個大的函數拆分為多個小函數)、重命名、內聯(lián) (inline) 等功能。

當然,如果您對代碼重構是什么,以及它的作用不太了解的話,Martin Fowler 的經典著作《重構:改善既有代碼的設計 (第 2 版),Refactoring: Improving the Design of Existing Code (2nd Edition)》絕對是一本您必備的參考書。

7.注意代碼規(guī)范

從學習編程的第一天起就要養(yǎng)成不錯的編碼習慣,包、類、方法的命名這些是最基本的。

推薦閱讀:

 

8.定期聯(lián)絡客戶,以獲取他們的反饋

最后一點,可能也是最重要的:客戶花錢讓您通過編寫代碼,來解決他們的問題、滿足他們的需求、并解決他們的痛點。然而,您可能在不知不覺中花費了太多的時間,去實現自以為重要、卻對客戶無關緊要的特殊功能,進而忽略了代碼整體的健壯性和可維護性。那么,我們怎么才能夠盡早地發(fā)現該問題呢?請保持與客戶經常聯(lián)系,以盡早地獲取他們的反饋。

話說回來,知易行難,即使是富有經驗的產品經理也不一定能在較短的時間內領悟需求的真諦,何況是那些滿腦子只注重功能實現的“碼農”們呢?

因此,一個實用的建議是:如果您不能直接聯(lián)絡到最終用戶的話,請盡量與該系統(tǒng)的產品經理、或運維人員進行禮貌、且頻繁的溝通。磨刀不誤砍柴工,這些時間的投入對于后期時間的節(jié)省是絕對值得的。

總結

在過去的多年編程實踐和項目應用中,我一直受益于上述八點心得。在此,我希望它們也同樣能給您的代碼工作帶來幫助。祝您編程愉快!

 

責任編輯:龐桂玉 來源: Hollis
相關推薦

2018-12-27 09:00:00

Java代碼編程語言

2012-05-30 15:58:39

Java編程代碼

2012-09-03 14:34:39

Java編程代碼

2023-11-02 09:02:55

Java模式

2009-07-02 10:14:10

雜談優(yōu)化JSP Servl

2015-06-29 09:32:16

iOS 8.4發(fā)布蘋果

2021-01-04 07:57:07

C++工具代碼

2019-09-20 15:47:24

代碼JavaScript副作用

2022-03-11 12:14:43

CSS代碼前端

2023-09-22 12:04:53

Java代碼

2016-08-05 16:19:28

2022-07-25 15:21:50

Java編程語言開發(fā)

2021-04-29 21:54:44

Python代碼語言

2024-03-28 14:29:46

JavaScript編程

2024-12-04 15:10:21

2020-09-17 18:31:54

戴爾

2012-07-25 11:04:43

傳真機

2020-05-14 09:15:52

設計模式SOLID 原則JS

2017-10-10 16:28:51

前端CSS建議

2021-12-07 08:16:34

React 前端 組件
點贊
收藏

51CTO技術棧公眾號