PHP_CodeSniffer 3.0への移行のご案内

PHP_CodeSnifferはPHPのコーディングスタンダードのチェックを自動化し、チームで統一するための非常に優れたツールです。SideCIでは、バージョン2.9.1をサポートしており、既に多くのお客様にご利用いただいております。

先日、PHP_CodeSniffer 3.0がリリースされました。従来、解析ツールのアップデートはバックグラウンドで自動的に行われておりましたが、今回のアップデートでは後方互換性のため、設定の切り替えによって2.9.xと3.0を同時にご利用いただけるようになっております。

(more…)

0 Comments

PHPMDを使ってPHPのコードを綺麗にしよう

複雑であったりトリッキーなコードは思わぬバグを生む可能性があります。また、未使用の変数やメソッドなども本当は使われるはずが、タイポしていて使われていない可能性もあります。そうしたコードの問題点を指摘してくれるソフトウェアが多数存在します。

今回はPHPプロジェクトで使えるPHPMDを紹介します。JavaのPMDに類似した、PMDのPHP版のようなソフトウェアです。バグになりそうな部分、最適ではないコード、複雑な表現、未使用のパラメータやメソッド、プロパティを指摘してくれます。

(more…)

0 Comments

PHP_CodeSnifferを使ってPHPのコードを綺麗にしよう

PHP言語はアプリケーション開発の現場で非常に多く使われている、最もポピュラーな言語の一つです。20年近い歴史のあるプログラミング言語であり、その歴史の中で様々なライブラリやフレームワークが開発されてきました。

ライブラリやフレームワークは様々な文化で作られており、変数名やメソッド名の命名規則だけとっても、CamelCaseとlower-caseのどちらもポピュラーな存在です。

(more…)

0 Comments

SideCI上でPHP_CodeSniffer自動修正が行えるようになりました

SideCIはphp-cs-fixerを利用して、修正可能なPHP_CodeSnifferによる指摘を自動修正したPull Requestを生成することができます。
この機能を既存のワークフローに組み込むことによって「Pull Requestに対するPHP_CodeSnifferの指摘を修正するPull RequestをSideCIから作成し、それをマージする」ことでローカルで修正せずともコード指摘を反映できるようになります。

この自動修正の対象は 該当Pull Request内のコミットで変更があったファイル になります。差分箇所のみではない点をご留意下さい。

(more…)

0 Comments

SideCIにPHP Composer Outdated機能追加. 外部packageのバージョンアップをお知らせします

SideCIにてPHP向け新機能、「PHP Composer Outdated」を追加致しました。

「PHP Composer Outdated」はComposerでライブラリのバージョン管理を行っているプロジェクト・レポジトリでご利用になれます。

SideCIが自動的にcomposer.lockに記載されているpackageの最新版のバージョンを取得、現在のバージョンと比較し、新しいものをSideCIの画面上で見られるようにしました。

SideCI上でのPHP Composer Outdatedイメージ
動作イメージ図

(more…)

0 Comments

PHPのレポジトリに番犬を飼おう

コーディング規約をしっかりしようという流れが来ているかと思います。PHP: The Right Wayにもコーディングスタイルについて詳しく記載されています。

私たちはPHPに関して、書いたコードは全てSideCIというサービスでチェック、PullRequestにコードスタイル違反をたくさんコメントして(吠えて)もらっています。
(※弊社サービスです。

PHP_CodeSniffer, PHP Mess Detector(PHPMD)にレポジトリをチェックさせるという内容のサービスです。

(more…)

0 Comments

PHPMD – PHP Mess Detectorに対応しました

SideCI内にてPHPMDによる自動コードレビュー機能の提供を開始致しました。
SideCI上の設定画面よりPHPMDを有効にして頂ければ、以降、PullRequestがOpenもしくは更新されるたびにPHPMDでスキャンし、結果をGitの差分(diff)にコメント致します。差分のない場所にはコメント致しません。

alt="PHPMD setting"

設定画面イメージ

(more…)

0 Comments