経歴について
1社目
新卒として自社開発会社に入社(2年半在籍)
PHP(CakePHP 1)を使用したWeb開発を実施
規模が少なくコーディング規約などもなかった。
※良く言えば自由に開発が行える。
現在
PHP(CakePHP 4)を使用したWeb開発を実施
規模は変わらないがコーディング規約などがしっかり決まっている。
そして、静的解析ツールなどをきちんと導入されている。
今回の案件で初めて触れた技術
- Git
- 静的解析ツール(PHPStan)
- コードフォーマット(PHP-CS-Fixer)
- Redmine
静的解析ツール(PHPStan)
検知できる問題点
- 存在しないクラスをインスタンス化している。
- 存在しないメソッド、関数を呼び出している。
- 参照しているクラス名の大文字小文字が定義と異なる。
- メソッド仮引数とメソッド呼び出し実引数の型が一致しない。
- メソッドに型宣言が指定されていない。
※型チェックをしてくれる優れものという認識です。
検知レベル
検知をする際に0~9のレベルがある。
※ levelの範囲はPHPStanのバージョンによって変わります
参考
導入をする際はlevel5をおすすめします。
導入する際の推奨レベルといわれているレベルです。
※このレベルを超えないとメンテナンスが大変になる。
コードフォーマット(PHP-CS-Fixer)
PSR(PHP Standards Recommendations)
公式が発表しているPHPコーディング規約です。
PHP-CS-Fixer
PSR(主にPSR-2とPSR-12)に従ってコードを整形してくれる。
VSCodeの拡張機能として「PHP-CS-Fixer」があるのでそれを使用して自動的に整形を行う。
これによりメンテナス性が向上する
一か月経っての感想
- ロジックを考えるということから離れていたので苦戦している。
- 新卒で入った会社に比べて規約などがしっかりしていて勉強なる。
- 離れていた分自分の時間を使ってコードを書かないと追いつけない。