stream and lambda(5) - lambda 表達式最佳實踐

語言: CN / TW / HK

lambda 表達式和函數式接口給我們的編碼在一定程度上提供了便利,但我們在使用的時候也要儘量優雅的使用,達到最佳實踐。

lambda 表達式結構

在第一章節,我們有提到,lambda 表達式的結構大致為:(類型)(參數1, 參數2, …) -> {方法實現}。

  1. lambda 表達式返回類型能不寫則不寫
  2. 參數類型儘可能不寫
  3. 單參數時,不寫小括號
  4. 單行表達式體,不寫大括號和 return 關鍵字
  5. 能直接使用方法引用時,直接使用方法引用

自定義函數式接口

@functionalinterface
default

使用函數式接口

  1. 當函數式接口當參數時,應避免接口重載,不然會導致 lambda 表達式的返回類型無法自動推導
  2. lambda 表達式體應儘量簡潔

不使用 lambda 的情況

  1. lambda 表達式體邏輯太多
  2. 有大量相同的lambda 表達式體在項目中出現,可以考慮定義接口並實現
  3. 有多層嵌套 lambda,代碼難以閲讀

總結

好的代碼,不好的代碼,最終都是由人來維護,所以代碼的可讀性很重要。保持良好的編碼習慣,遵循良好的代碼實踐,不單單是對其他閲讀代碼的人友好,對自己更好。畢竟自己寫的代碼,相關功能的開發及維護最終還會落到自己頭上。