Blog ブログ

コード規約違反を事前に防ぐ

皆様お久しぶりです。
シニアプログラマの小田です。

今回は番外編としてコード規約についてお話致します。
皆さんはコード規約を決めてそれを守れていますか?そもそもコード規約を決めていますか?

この記事を読んだエンジニアが、明日からコード規約を入れようというきっかけになれば幸いです。

概要

以前に島鼻からコーディングルールについての話がありましたが、
それをもう少しプログラマっぽくPCを使って対処したいと思います。

準備

今回は、PHP Coding Standards Fixerをインストールするだけで完了します。
インストール手順ですが、Macで実行した場合で記載しております。
それ以外は上記リンクより公式を参照してください。
curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixer
$ sudo chmod a+x php-cs-fixer
$ sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer
上記コマンド3行だけでインストール終わりです。
実行はコマンドを呼び出すだけなのですが、いくつかオプションがあり、
これが一番のポイントです。一番使うものを記載致します。
  1. –fixers
    • コード規約のポリシーを設定します。後述の–dry-runを使わずに実行すると、直接ファイルをポリシーに合わせて変更してくれます。
  2. –diff
    • 差分を表示してくれます。規約違反箇所が目に見えてわかるため、間違えている箇所を把握するのに使えます。
  3. –dry-run
    • –fixersで指定したコード規約をテストしたい!というときに、実行テストすることができます。実際にファイルは編集されないので、–diffと合わせて使うことが多いです。

実行

では、早速実行してみましょう。
$ php-cs-fixer fix --dry-run --diff --fixers=[オプション] [チェックするフォルダorファイルのパス]
こんな感じでOKです。
これを使ってどういうことができるかと言うと、
  1. Gitフック or svnフックに、このコマンドを組み込む
    • コミットするとき違反しているものがあればコミットできない
    • コミット前から規約違反を検知できる
  2. Jenkinsでチェックする
    • 上がってしまっているコードに対して検証を行う
    • 結果はチャットやIRCで報告させる
上記内容が出てくるかと思います。
どうしてここまでしてコード規約を守らせるかというと、
コードの可読性が全然違うからです。
  1. コードの可読性が良くなれば、不具合を見つけやすくなります
  2. 不具合をすぐに修正できれば、もっと面白いゲームの機能を実装する時間に割り当てられます
  3. もっと面白いゲームの機能を実装する事ができれば、お客様に遊んで頂けます
  4. お客様に遊んで頂ければ、売上が伸びます
  5. 売上が伸びれば、色んな事ができます
終盤は強引な面もありますが、不具合を見つけられなくて徹夜、なんてことがプログラマあるあるですが、そういうことを改善する方法として、コード規約を守らせてみてはいかがでしょうか。

まとめ

いかがでしたでしょうか?コード規約というところだけでも重要性を知っている人からすれば、朝飯前のことだと思います。そうでない人は、すぐに導入することをおすすめします。想像してみてください。グチャグチャな書き方のソースコードを。
かといって、人間なのでミスは起こりえます。
なので、目の前のPCを使って事前に防ぐことができるようになりましょう。

採用情報

クラウドクリエイティブスタジオではプログラマを募集しております。
ぜひ、一緒に面白いゲームを作りましょう!
採用情報