新規開発案件に参加してみて

今回の案件触れた技術

  • Git
  • 静的解析ツール(PHPStan)
  • コードフォーマット(PHP-CS-Fixer)
  • Redmine

静的解析ツール(PHPStan)

検知できる問題点

  1. 存在しないクラスをインスタンス化している。
  2. 存在しないメソッド、関数を呼び出している。
  3. 参照しているクラス名の大文字小文字が定義と異なる。
  4. メソッド仮引数とメソッド呼び出し実引数の型が一致しない。
  5. メソッドに型宣言が指定されていない。 ※型チェックをしてくれる優れものという認識です。

https://phpstan.org/


検知レベル

検知をする際に0~9のレベルがある。 ※ levelの範囲はPHPStanのバージョンによって変わります

https://phpstan.org/config-reference#rule-level

参考

導入をする際はlevel5をおすすめします。 導入する際の推奨レベルといわれているレベルです。 ※このレベルを超えないとメンテナンスが大変になる。

https://qiita.com/shimabox/items/df03dde8bd6db4733231


コードフォーマット(PHP-CS-Fixer)

PSR(PHP Standards Recommendations)

公式が発表しているPHPコーディング規約です。

https://www.php-fig.org/psr/


PHP-CS-Fixer

PSR(主にPSR-2とPSR-12)に従ってコードを整形してくれる。 VSCode拡張機能として「PHP-CS-Fixer」があるのでそれを使用して自動的に整形を行う。 これによりメンテナス性が向上する

https://minna-systems.co.jp/blogs/177/