2018-01-01から1ヶ月間の記事一覧

引数の数を考慮する。また、登場人物の数を考慮する。

引数の数を考慮する。また、登場人物の数を考慮する。 引数が多いメソッドを見るとモヤモヤします 個人的には引数に関しては基底クラスのメソッドは4つまで、それ以外は3つまでと定めています ー 4つの原点はPerl Best Practiceだったのではないかと記憶して…

変数展開したSQLは常にインジェクションが発生すると思い込もう

変数展開したSQLは常にインジェクションが発生すると思い込もう こういうコードを見ると不安になります PHPでかつ、Laravelであると想定します $foo = SomeModel::select("select * from some_table where some_column = {$condition}"); 何がよくないのか?…

3度目のコピペで共通化する

3度目のコピペで共通化する 間が空いてしまいましたがこの記事です ただし、これって何でこう思ったんだっけ?という裏をとれなかった記事です 正直、ちょっとモヤモヤしつつ書いています。。 何がよくないのか? 3度もコピペされるコードは共通化、もしくは…

Wikiに書こう

Wikiに書こう 今回はレビューとは関係ない話になります ふと、チケットを見ていると調査内容をExcelにまとめている方がいて少し驚いたので書いてみます 何がよくないのか? Excelは基本的に有料ソフトです また、立ち上がりまでに多少の時間を要求します ダ…

配列には同じ型のものだけを格納する

配列には同じ型のものだけを格納する 調査中に下記の様なコードを見るとツライ気持ちになったりします array(2) { [0]=> array(1) { ["foo"]=> int(1) } [1]=> object(stdClass)#1 (1) { ["foo"]=> int(2) } } 何がよくないのか 同様の値を保持している様に…

計算量を常に意識しよう

計算量を常に意識しよう こういうコードを見るとパフォーマンスが劣化しないか気になります foreach ($foo => $bar) { if (!in_array($bar, $some_list)) { continue; } // 何かの処理 } 何がよくないのか? in_array は毎回、配列内を検索します 今回はPHP…

安易なgetter/setterを作らない

安易なgetter/setterを作らない 明けましておめでとうございます こういうコードを見るとモヤモヤします if ($foo->getDate() > $today) { return false; } 何が良くないのか? $foo->getDate() を使って条件判定を行っている箇所が正しくカプセル化を行えて…