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

コメント