PHPのコード保守性を高めるCS-Fixerとは?概要からインストール方法まで解説

2021.08.30
鍋山亘
目次

みなさんこんにちは。Wakka Inc.ベトナム拠点テクニカルマネージャーの鍋山です。

PHPの保守性を高めるためには、さまざまな方法が挙げられますが、その中のひとつに可読性の向上があります。読みにくいコードは、他の人が理解するまでに時間がかかります。

さらに、そこから変更を加えなければならないため、効率が悪くなるでしょう。そのため、日頃から読みやすさを意識してコーディングをしているエンジニアは非常に多いです。

しかし、ライブラリなどに変更を加えることもあり、読みやすさを意識するだけでは流石に限界があります。そこで、登場するのがCS-Fixerです。CS-Fixerを導入すれば、既存のコードが読みやすく整形されるため、保守性が高められます。今回は、CS-Fixerの概要やインストール方法について解説したいと思います。

CS-Fixerとは?

『CS-Fixer』とは、コーディング規約に沿ってPHPコードを美しく整形してくれるオープンソースソフトウェアです。スタイルが適切ではない箇所は、自動で修正してくれます。簡単に表現すれば、コーディングの校閲ともいえるでしょう。これにより、コーディングスタイルが統一されるため、保守性が高まるというわけです。

実際に導入することで、下記のようなメリットを獲得できます。

  • コードを自動整形できる
  • 無料で利用が可能
  • CIでも利用しやすい

それぞれのメリットについて詳しく見ていきましょう。

コードの自動整形が可能

1つ目のメリットは、コードを自動整形できることです。

人力でコードレビューをする場合、非常に時間がかかります。簡単なWebアプリケーションの場合は、ファイルの数が多くないため、一人で対応することも可能です。しかし、プロジェクト規模のWebアプリケーションは、複数のエンジニアが分担して機能を実装していきます。そのため、ファイルが膨大になりがちです。もし、既存のコードをはじめからコードレビューする場合、とてつもない時間がかかることは容易に想像できるでしょう。

一方、CS-Fixerはプログラムによる整形が可能なため、すべて自動です。インストールする時間は確保しなければなりませんが、導入後は一切時間を使いませんので、開発業務に集中することができます。結果的に開発スピードの向上や人件費削減によるコストダウンを見込めるため、メリットは大きいでしょう。

また、業務効率にも良い影響を与えます。コードレビューを人力で行う場合、コーディングする際にお互い気をつかうため、作業が思うように進まなくなることがあります。

例えば、「このようにコーディングしたら読みにくいのではないか」と考えすぎてしまい、手が進まないという状況が生まれる可能性もあります。また、気をつかいすぎてコメントが多くなりすぎることも珍しくありません。コメントは当然エンジニアが書かなければならないため、作業に大きな影響を与えます。

一方、CS-Fixerを導入すれば、コードの整形はプログラムに任せられるので、コーディングする際に気をつかう必要がなくなるでしょう。大体コーディング規約に寄せて記述すれば、あとはCS-Fixerが自動整形してくれるため、作業効率もアップします。

無料で利用することができる

2つ目のメリットは、オープンソースソフトウェアであるという点です。

オープンソースソフトウェアなため、無料で利用することができます。初期費用や月額料金もかからないため、誰でも自由に使うことが可能です。

コード整形といえば、IDEをイメージされる方も多いかもしれません。PHPの統合開発環境として有名なのがPhpStormです。30日間の無料試用期間が付いていますが、年間22,900円かかります。

ちなみに、phpStormは有料ですが、コード整形する以外の機能も多く備わっています。しかしコード整形する機能だけを求める人にとっては、オーバースペックになってしまいます。そのため、コード整形以外の機能にあまり必要性を感じないという方はCsfixerの使用がおすすめです。

CIでも利用しやすい

3つ目のメリットはCIでも使いやすいことです。

CS-Fixerは、統合開発環境を導入せずに統一性のあるコードを提供してくれます。エンジニア同士が同じIDEに統一する必要がないため、独自性を抑えられ開発効率を向上させられるのです。また、コードの自動整形により問題箇所が見つけやすくなるため、CIで利用しやすいソフトウェアといえます。

CS-Fixerをインストールする手順

CS-Fixerのインストール方法は複数あります。それぞれのインストール方法を手順にそって詳しく解説しますので、ぜひチェックしてください。

Composerでインストール

1つ目の方法は、Composerを利用してインストールする手順です。Dockerなどの開発環境でコーディングを行っている人は、Composerを利用したインストールがおすすめになります。

1.composerでインストールする場合は、下記のコマンドを実行します。
composer require –dev friendsofphp/php-cs-fixer –dev

2.インストールが正常に完了したかどうかを確認します。
./vendor/bin/php-cs-fixer –version

3. CS-Fixerのバージョンが表示されれば、インストール完了です。

VS Codeにインストールする手順

VS Codeを使用している場合、EXTENSIONSのマーケットプレイスを利用してインストールします。

1.VS CodeのサイドメニューからEXTENSIONSをクリックします。

2.検索フォームにPHP-CS-Fixerと入力します。

3.PHP-CS-Fixerを選択し、インストールすれば完了です。

NetBeansで利用する場合

CS-Fixerは、NetBeansで使用することもできます。NetBeansで利用する場合は、プラグインをインストールして設定すれば使用可能です。

1.まずは、ソースコードが公開されているGitHubにアクセスします。
https://github.com/fabpot/PHP-CS-Fixer

2.左側にある「Code」のボタンの中の「Download Zip」を選択してください。そうすると、ローカルフォルダーにZIP形式でCS-Fixerをダウンロードすることができます。

3.NetBeansのメニューにあるツールからオプションを開いてください。

4.オプションの上部メニューにある「PHP」を選択します。

5.「フレームワークおよびツール」タブを選択して、メニューの中にあるPHP CS Fixerを選び、先ほどダウンロードしたCS-Fixerのディレクトリを指定してください。

6.プロジェクトを右クリックすると、PHP CS Fixerの項目が追加されていることがわかるでしょう。その中にある「Fix」をクリックすると自動整形が実行されます。

CS-Fixerの使い方

CS-Fixerの使い方は、アプリケーションディレクトリまで移動し、下記のコマンドを実行するだけです。
vendor/bin/php-cs-fixer fix app

ちなみに、コマンドをその都度実行するのが手間であると感じる場合は、Makefileに追加しておくことで、make fixerのみでコードの整形が可能になります。
fixer:
php vendor/bin/php-cs-fixer fix ./app && \
php vendor/bin/php-cs-fixer fix ./database

また、CS-Fixerは定期的にアップデートすることが好ましいです。
sudo php-cs-fixer self-update

CS-Fixerを導入してPHPコードの保守性を高めよう!

今回は、CS-Fixerの概要やインストール方法、使い方について解説しました。CS-Fixerはプロジェクトの中にあるPHPコードを自動整形してくれるオープンソースソフトウェアです。コードの可読性が向上するだけでなく、開発効率もアップさせられる可能性があります。導入することでさまざまなメリットを得ることができるので、インストールしておいて損はないでしょう。

CS-Fixerは、Composerでインストールすることができます。また、コード整形を実行する際も1行のコマンドで完了するため非常に便利です。さらに、VS CodeやNetBeansなどのIDEと連携することもできるので、幅広い人が取り入れることができるでしょう。

本メディアは、日々Web開発に取り組むCTOやVPoEのようなエンジニアに役立つPHP関連の情報をご紹介しています。

また、会社の開発リソース不足の悩みに対して、オフショアラボ型開発や海外子会社設立のご提案もしています。興味のある方は下記のURLから、お気軽にお問い合わせください。

この記事を書いた人
鍋山亘

日系オンラインリサーチ会社のCTOとしてベトナムチームを立ち上げ、Wakka Inc.のテクニカルマネージャーとして参画。現在はベトナム拠点で開発チームの標準化や社内のインフラ管理・ITプロジェクト統括をやっています。モットーは『みんなで頑張りましょう』

  • ホーム
  • ブログ
  • PHPのコード保守性を高めるCS-Fixerとは?概要からインストール方法まで解説
Contacts

Wakkaについて詳しく知りたい方はこちら