M言語でアロー関数(letを1回使う)のと関数定義(letを2回使う)のはどちらの方が優れたコーディングか メンテナンス性、可読性の観点で調べてみました
まず、以下のコードはどちらも結果は同じです。a + b の結果を出力
1 2 3 4 |
let 加算関数 = (a as number, b as number) as number => a + b in 加算関数 |
1 2 3 4 5 6 7 8 |
let 加算関数 = (a as number, b as number) as number => let 結果 = a + b in 結果 in 加算関数 |
解析
let
式を1回使うのと2回使うのは、コードのメンテナンス性と可読性に大きく影響します。以下にそれぞれの利点と欠点を示します。
let 式を1回使う場合(アロー関数 =>)
1 2 3 4 |
let 加算関数 = (a as number, b as number) as number => a + b in 加算関数 |
利点
- 簡潔: コードが短く、シンプルです。
- 迅速: 簡単な計算や処理には適しています。
欠点
- 可読性: 複雑な処理を行う場合、コードが読みづらくなります。
- メンテナンス性: 変更やデバッグが難しくなることがあります。
let 式を2回使う場合
1 2 3 4 5 6 7 8 |
let 加算関数 = (a as number, b as number) as number => let 結果 = a + b in 結果 in 加算関数 |
利点
- 可読性: 関数の定義と計算が明確に分かれており、コードが読みやすくなります。
- メンテナンス性: 変更やデバッグが容易になります。各ステップが明確に分かれているため、問題の特定がしやすいです。
欠点
- 冗長性: 簡単な処理には少し冗長に感じることがあります。
個人的な結論
メンテナンス性と可読性の観点から見ると、let
式を2回使う方が優れていると感じました。特に、複雑な処理や複数のステップを含む場合には、コードが明確に分かれている方が理解しやすく、保守もしやすくなります。
M言語における =>
は、アロー関数を定義するための構文です。アロー関数は、関数を簡潔に定義するために使用されます。以下にその基本的な使い方を説明します。
参考 アロー関数の基本構造
アロー関数の基本構造は次の通りです:
1 |
(引数1 as 型, 引数2 as 型, ...) as 戻り値の型 => 式 |
例えば、2つの数値を受け取り、その合計を返す関数を定義する場合:
1 |
(a as number, b as number) as number => a + b |
この例では、a
と b
という2つの引数を受け取り、それらを足し合わせた結果を返す関数を定義しています。
アロー関数 内部処理の流れ
- 引数の受け取り:
- 関数が呼び出されると、引数
a
とb
が関数に渡されます。
- 関数が呼び出されると、引数
- 計算の実行:
- アロー関数の本体である
a + b
が評価されます。この部分は、引数a
とb
の値を足し合わせる処理です。
- アロー関数の本体である
- 結果の返却:
- 計算結果が関数の戻り値として返されます。
コメント