PEP8とCircleCI
ひとりアドベントカレンダー1日目です. 早速遅刻ですがやって行きます.
なぜこのテーマ??
人にコードを見せる機会があって, しばらくコード規約とかそれを守ることから縁遠くなっていた私が, 改めてそれらをしっかり見直して, コードのシェア等をしやすくして行きたいという気持ちになったです.
ので,こんなこと調べました,備忘録にしておくね程度の記事です.
PEP8とは
PEPというのがPython Emhancement Proposaの略であり,Pythonのあれやこれやがまとまっています. その中の8番目にまとまっている,Pythonで書かれたコードのスタイルガイドがPEP8とのことです. ほかにもモジュールを追加する手続きについてや,バグ修正についてなどいろいろな項目がまとまっています.
PEP全体は一貫して英語で書かれているのですが,一部は有志により日本語化が行われいるようです. Pythonをつかってコードをシェアする予定がある場合や, 色々書き方あるけどどう書くのが正解なんだろう?と言う場合は是非一読するといいと思います.
PEP8 github.com
PEPのいろんな部分 PEP(Python Enhancement Proposal) 日本語訳 — PEP Japanese Translation v0.0.7 documentation
ちなみにPEP8と検索すると,よくflake8と呼ばれるものも出てくるのですが,
flake8はPEP8の要件を緩和したりカスタマイズするためのラッパーのようなもので,
例えば,PEP8の中にはD***
と表記される渓谷があるのですが,
これはdocstring,コードの説明に関する記述に関する警告なのですが,
直接コードとは関係ない部分なので,D***
エラーは緩和する…みたいな使い方をするらしいです.
PEP8を適用する
PEP8を守って書かれたコードのためにドキュメントを1回1回見直すのは流石に大変なので, エディタや何らかの方法で,PEP8が守られているか確かめようとするのがいいとおもいます.
少し調べると,いろんなエディタでPEP8が守られているかを適用する方法が出てきました. 単純に検査だけではなく,PEP8に準拠したコードになるように書き換えを行なってくれるものもあるらしいです. (こう言うのって勝手にどんどん埋め込んでいいものなのでしょうか……) (もしダメそうなら消します)
Circle CI
複数人て開発等々をする場合など, どうしてもPEP8に限らずコード規約や記法を守ろうと思った際, どうしても徹底できないことがあると思います. また,コード規約の外,そもそも求められる要件やテストを満たしているのかなど, コードを書く上で繰り返し見て,検証する項目などもあると思います.
そういった,ものに対する仕組みとしてCIと言う言葉があります. CIとはContinuous Integration(継続的インテグレーション)のことであり, ソフトウェア開発上で繰り返し起こるコンパイル,ビルド,テストなどの工程を1日に何度も実行するし,ソフトウェアの品質を向上させようというものです.
それを,実現するサービスの一つがCircleCIになります. Githubと連携して色々でき,一部無料で使えたりができるようです. あえてこれをピックしたのは,私が今回記事を書くにあたって出会ったのがこれだからです.
非常にわかりやすい資料だったので掲載しておきます. (こちらも,もしダメそうなら消します)
www.slideshare.net
おわりに
短い,オチがない,と言った感じの1日目です. 書いてる途中で寝落ちしたのが原因です…….
まぁそれはそれとして, 使うものは一通り知っておきたい欲があるので, 残りの日でCircleCIについて掘り下げようかなとも思ってます. ただ,他にやりたいこともあるので未定です.
ひとまずここまで. ありがとうございました.