ある機能を実装していた。
途中である変数の状態を表すのに真偽値を返す関数を作ることにした。
皆さんは真偽値を返す関数を作るとき、どのように返す方が好みですか??
<?php
/**
* 正常な入力値かどうかを検証する
* 引数の先頭と末尾にスペースが含まれないかを検証して、その結果を真偽値で返す。
* 今回の機能では、スペースがないことが望ましい。
*/
function check_is_space_included(string $input): bool
{
$first_letter = substr($input, 0, 1);
$last_letter = substr($input, -1, 1);
// パターン1
// デフォルトでfalseを返すようにして、もしどちらかにスペースがあったらtrueを返す。
if ($first_letter === " " || $last_letter === " ") {
return true;
}
return false;
// パターン2
// スペースが含まれるかどうかをそのまま戻り値として返す。
return $first_letter === " " || $last_letter === " ";
}
$is_space_included = check_is_space_included($input);
echo $is_space_included; // trueまたはfalse
パターン1の方が関数の中身が直感的に理解はしやすいかなと感じる。
一方でパターン2は少し分かりにくいが、パターン1と同じ処理をたったの1行で表現できる綺麗さも感じる。
この場合、皆さんはどちらで戻り値を返す派とかありますか??