Help us understand the problem. What is going on with this article?

linter を使ってコードレビューのコストを削減する

More than 1 year has passed since last update.
  • lint:コンパイラやインタープリタよりも厳しくソースコードをチェックするプログラム
  • linter:エディタ上で lint に引っかかるようなコードの書き方が良くない部分を指摘してくれるもの
  • コードフォーマッタ:コードを lint に従って自動整形してくれるもの

複数人でのソフトウェア開発プロジェクトなどでは,統一的な書き方をして品質向上やレビューコストの削減をするために,コーディング規約を設定することがある.あまりにも細かい書き方の指定を考えて共有するのは大変なので,最低限統一したい部分は言語の開発元や大企業などが公開している linter を使用すると良い.
例えばコミット前にはコードフォーマットして linter のエラー表示がない状態にするなどを規定するだけで,ソースコードを最低限統一された状態にできるので,書き方ではなく処理内容にレビューのコストを集中させることができる.

個人レベルの小規模な開発でも,インデントや改行の仕方がファイルやメソッドによってバラバラな状態から簡単に書き方を揃えることができるし,他人から引き継いだソースコードが自分の書き方と異なっていても整形すれば最低限読みやすい状態に持っていける.

メジャーな言語には大抵 linter やコードフォーマッタは存在し,IDE やテキストエディタにはデフォルトでフォーマット機能がついていたり,簡単にフォーマット機能を拡張できるようになっているので,まだ設定していない人は設定してみましょう.

以下,atom で Python の linter・フォーマッタを利用する方法を記載する.

環境

  • Mac OS 10.12.4
  • homebrew でインストールした python 3.x が導入済み
$ python3 -V
Python 3.6.1

利用する atom パッケージ

  • atom-beautify
    • 様々な言語のソースコードを自動整形してくれる
  • linter
  • linter-python-pep8

手順

pep8・autopep8 のインストール

$ pip3 install pep8
$ pip3 install autopep8

atom パッケージのインストール

apm install atom-beautify
apm install linter
apm install linter-python-pep8
fiftystorm36
浅く広く投稿しています。学生時代に書いた雑多な記事も多いです。
https://twitter.com/fiftystorm36
bitkey
独自のキーテクノロジーを武器に事業を展開するスタートアップベンチャー
https://bitkey.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away