i Cubed Systems Engineering blog

株式会社アイキューブドシステムズの製品開発メンバーが、日頃のCLOMO開発の様子などを紹介します。

コード品質を確保するためのチェック項目

はじめに

アイキューブドシステムズでCLOMOのサーバーサイドを担当している Kakuno です。 今回は弊社のコード品質を確保するための、チェック項目の仕組みついて紹介したいと思います。

チェック項目とは

実装したコードはプルリクエストの時にメンバーのレビューなどで見直しをすることがあると思います。この時、熟練者であれば的確な指摘が出来ますが、レビュワーによって指摘内容が異なる、指摘を見落としてしまうなど様々な要因でコード指摘が的確に出来ないことがあると思います。そこで、弊社ではツールを用いて色んな角度からコードの見直しをしています。

Lintツールによる見直し

以前に、静的解析ツールの導入で紹介したのですが、弊社では静的解析ツール(Lintツール)を用いてコード指摘を行っています。これらは会社内のルールを制定して、それに違反しているものをプルリクエストで指摘する形をとっています。

tech.i3-systems.com

RuboCop

RuboCopではRubyに対するコードの見直しを行います。 弊社内で策定したRuby on Railsのコーディングルールに従い、怪しいコードがある場合は適宜レビューコメントとして指摘してくれます。

ESLint

ESLintではJavaScriptに対するコードの見直しを行います。 こちらも弊社内で策定したコーディングルールに従い、怪しいコードがある場合は適宜レビューコメントとして指摘してくれます。

Snykによる見直し

弊社ではSnykを試験的に導入しています。 その中でSnyk Codeというツールを用いて、脆弱性があるコードの見直しを行っています。 snyk.io

セキュリティ上詳細はお見せできませんが、例えばUse of Hardcoded Credeintialsはセキュリティ情報がハードコーディングされているという指摘をしてくれています。 現在は定期的なミーティングを行い、このような指摘を一つ一つチェックしていきコードの見直しを行っています。SnykではIDEやCI/CDとの連携も可能ですので今後検討しています。

最後に

このように色んな角度からコードを見直すことで、意図しないバグの混入や脆弱性への対応を行っています。また見直すことで自分の書いたコードはどのような欠点があったのか、等自身のコーディングスキルを見直すきっかけにもなります。今後もこのような改善を積極的に行っていきたいと思っています。

私たちは、CLOMO MDMの製品開発を通じて、共に成長していける仲間を募集しています。 また、カジュアル面談・エントリーも、下記のページから随時受け付けています。 www.i3-systems.com