はじめに
綺麗なコードの書き方はいくらでもあると思いますが、
最近、プルリクエストのコードレビューで指摘された部分をまとめました。
例文のコードは下記の形で記載させていただきます。
- 変更前
+ 変更後
省略できる部分
- return $a > $b ? true : false;
+ return $a > b;
三項演算子を使う必要がない
- $a ? $a : $b;
+ $a ?: $b;
演算子にはいろんな種類があることが認識できてない
必要ない部分
use Illuminate\Foundation\Http\FormRequest;
// 残したままになっている
use Illuminate\Validation\Rule;
class SearchRequest extends FormRequest
/**
* Get the validation rules that apply to the request.
*
* @return array<string, mixed>
*/
public function rules()
{
'keyword' => [
'nullable',
# 仕様変更により、条件で必須にする必要がなくなった
- Rule::requiredIf($request->flg),
+
- 'max:50',
],
}
使用していた部分を削除後に上のuseの消し忘れ
推奨されている書き方ではない
<MyComponent
- ></MyComponent>
+ />
中身を持たないコンポーネントは、 単一ファイルコンポーネント 、文字列テンプレート、および JSX の中では自己終了形式で書くべき
Vueの書き方の理解が足りない
インデントのずれ
PHP 4つのスペース
インデントには4つのスペースを使用し、タブは使用してはいけません。
Vue 2つのスペース
エディタの設定や、自動整形ツールなどの拡張機能を使う場合が多く基本的には問題ないと思いますが、筆者はSQLのEloquentで良くズレがありました。
$user = User::where('email', $email)
- ->where('first_name', $first_name)
- ->first();
+ ->where('first_name', $first_name)
+ ->first();
シングルクォーテーションとダブルクォーテーション
シングルクォーテーション
書いたままの形式で出力
ダブルクォーテーション
変数名が展開される
- #ダブルクォーテーション
- $a = "ダブルクォーテーション";
+ #シングルクォーテーション
+ $a = 'シングルクォーテーション';
PHPで、クォーテーションの使い分けが理解できてない
1行の文字数
PSR-2
行の長さに対してハードリミットがあってはいけません。ソフトリミットは120文字を上限とし、実際は80文字以内に抑えるべきです。
VSCodeの場合、下記を追加
"editor.rulers": [120]
わかりにくい命名規則
これに関しては複合的な問題があるため、別でまとめたいと思います。
さいごに
人が見てもわかりやすいコードが書けるようになりたい。
まずは、同じことを繰り返さないようにしないと