NO IMAGE

説明や要約を行う変数、関数

NO IMAGE

 巨大なオブジェクトを扱う時、深い場所にいる子要素を扱うことがままあります。メソッドチェーンによる処理結果を扱う時は深い子要素よりも簡単に、元の意味からかけ離れた式を作れます。例えば、

if line.split(':')[0].strip() == "root":

Dustin Boswell; Trevor Foucher. リーダブルコード (Kindle の位置No.1520). 株式会社オライリー・ジャパン. Kindle 版. 
@if ($experiense->member_id == Auth::user()->id)

です。こういった式をそのまま扱うと、これから先に読み返す時、混乱のもとになります。これを意味の通る変数名にまとめるとコメントもなく、可読性が高まります。変換は例えば、

username = line.split(':')[0].strip()
if username = = "root":

Dustin Boswell; Trevor Foucher. リーダブルコード (Kindle の位置No.1522). 株式会社オライリー・ジャパン. Kindle 版. 
@if (Auth::user()->owns($experiense))
//ここから別のファイル
class User
{
    public function owns($experiense)
    {
        return $this->id === $experiense->member_id;
    }
}

の様にできます。後者の例は別のファイルにロジックを複数用意した方が良かったり、owns()が何度も使われたり、という時に特に役に立ちます。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG