定義: 命令式語言使用一系列語句來確定如何達到特定目標。據說這些宣告會依次執行每個程式,從而改變程式的狀態。 例子: Java是一種命令式語言。例如,可以建立一個程式來新增一系列數字: 每個語句都會更改程式的狀態,從將值分配給每個變數到最終新增這些值。使用五個語句序列明確告訴程式如何將數字5,10和15加在一起。
功能語言: 功能性程式設計範例被明確地建立以支援解決問題的純功能方法。函數語言程式設計是一種宣告式程式設計。
純函式的優點: 將函式轉換作為純函式實現的主要原因是純函式是可組合的:即自包含和無狀態。這些特性帶來了許多好處,其中包括:增加了可讀性和可維護性。這是因為每個功能的設計都是為了完成一個特定的任務。該功能不依賴於任何外部狀態。
更容易重複發展。由於程式碼更容易重構,因此對設計的更改通常更容易實現。例如,假設你編寫了一個複雜的轉換,然後意識到某些程式碼在轉換中會重複多次。如果你透過純粹的方法重構,你可以隨意呼叫你的純方法,而不用擔心副作用。
更簡單的測試和除錯。因為純函式可以更容易地單獨測試,所以你可以編寫測試程式碼來呼叫具有典型值,有效邊緣情況和無效邊緣情況的純函式。
對於面向物件的人或命令式語言:
面向物件的語言當你對事物有一套固定的操作時,並且隨著你的程式碼的發展,你主要增加新的東西。這可以透過新增實現現有方法的新類來完成,並且現有的類單獨存在。 當你有一組固定的東西時,函式式語言是很好的,隨著程式碼的發展,你主要在現有的東西上新增新的操作。這可以透過新增使用現有資料型別進行計算的新功能來完成,並且現有的功能可以單獨使用。
定義: 命令式語言使用一系列語句來確定如何達到特定目標。據說這些宣告會依次執行每個程式,從而改變程式的狀態。 例子: Java是一種命令式語言。例如,可以建立一個程式來新增一系列數字: 每個語句都會更改程式的狀態,從將值分配給每個變數到最終新增這些值。使用五個語句序列明確告訴程式如何將數字5,10和15加在一起。
功能語言: 功能性程式設計範例被明確地建立以支援解決問題的純功能方法。函數語言程式設計是一種宣告式程式設計。
純函式的優點: 將函式轉換作為純函式實現的主要原因是純函式是可組合的:即自包含和無狀態。這些特性帶來了許多好處,其中包括:增加了可讀性和可維護性。這是因為每個功能的設計都是為了完成一個特定的任務。該功能不依賴於任何外部狀態。
更容易重複發展。由於程式碼更容易重構,因此對設計的更改通常更容易實現。例如,假設你編寫了一個複雜的轉換,然後意識到某些程式碼在轉換中會重複多次。如果你透過純粹的方法重構,你可以隨意呼叫你的純方法,而不用擔心副作用。
更簡單的測試和除錯。因為純函式可以更容易地單獨測試,所以你可以編寫測試程式碼來呼叫具有典型值,有效邊緣情況和無效邊緣情況的純函式。
對於面向物件的人或命令式語言:
面向物件的語言當你對事物有一套固定的操作時,並且隨著你的程式碼的發展,你主要增加新的東西。這可以透過新增實現現有方法的新類來完成,並且現有的類單獨存在。 當你有一組固定的東西時,函式式語言是很好的,隨著程式碼的發展,你主要在現有的東西上新增新的操作。這可以透過新增使用現有資料型別進行計算的新功能來完成,並且現有的功能可以單獨使用。