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,程式碼難以閱讀

總結

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