読者です 読者をやめる 読者になる 読者になる

サイボウズのPython コーディング規約 11 カ条

ymmt2005 こと山本泰宇です。こんにちは。

cybozu.com のインフラ開発チームでは仕事のかなりを Python でこなしています。 Python を選んだ理由は以下の通りです。

  1. 便利だから Python には "batteries included" と呼ばれるほど豊富な標準ライブラリが整備されています。例えば HTTP で通信するとか、JSON データを読み込むといった良くある仕事のためにいちいち外部ライブラリを探さなくていいのです。

  2. 堅いプログラミングができるから 例外やモジュールといった現代的な機構が備わっているので、ベターシェルスクリプトとして使うのに適しています。

  3. 書き方にバリエーションが少ないから チーム開発では他の人が書いたコードを手直しすることは良くあります。書く人によって書き方がいくつもあるような言語より、レビューや修正がしやすいと考えています。

  4. 標準的に使えるから 最近の Linux ディストリビューションでは確実に Python が入っています。LSB という標準で定められているようです。

チーム開発に向いている Python なわけですが、実際に使うにはやはりいくつか決め事をしておいた方がより効率的です。cybozu.com 開発チームでは、コーディング規約 11 カ条を定めています。11 カ条と聞くと少し多いように思うかもしれませんが、実際は文字コードなどごく当たり前の決め事が大半です。

PEP-8 って知っているかですって? 存在は知っていますが、長くて読んでません

訂正 PEP-8 の全部のルールにしっかりと目を通したわけではありません。誤解を招く書き方をしてしまい、申し訳ありませんでした。

おまけとしてエディタの設定例もつけてあります。私は Emacs 派なので Vim の設定は空欄ですが。Vim 派の方にこうすればいいよと教えてもらえると嬉しいです。

追記 Vim の設定を @thinca さんにいただきました! ありがとうございます。