GoogleのPython規約を調べてみた
前回まで
Google APIのOAuthを自動化すべくAccessTokenを調査。RefreshTokenなるものを知る。PythonでRefreshTokenの取得コードを書いてみようとするも、Pythonの知識がない。そこで、前回コーディング規約を探したところ、PEP8にたどり着く。
しかし、そこで待っていたのは人格否定だった。心の狭さを諭された挙句、タブ使いを否定され、日本語さえ否定された。やる前からPython恐怖症になりそう。心の狭さだけでなく、心の弱さまで露呈する。これは、無能な己と向き合う一人の男の物語である。(嘘
Google Python スタイルガイド
茶番はさておき、前回、PEP8をざっと読んだあと、Googleの規約も探してみた。
前回までに参考にしたPythonサンプルコードがGoogle製だったから。たぶんサンプルはこっちの規約を使っているのだろう。 "google python 規約"でググりこちらがヒット。和訳感謝。2.29の和訳らしい。原典やvim設定ファイルへのリンクが切れていた。
原典を見つけた。現在2.59。英語。
インデントが合っていない
ソース | インデント(スペース) |
---|---|
サンプルコード | 2 |
Google Python スタイルガイド | 4 |
Google Python Style Guide | 4 |
サンプルコードがスタイルガイドに沿ってないじゃん。コードとガイドの世代が一致していないから?それとも、規約からはみ出すことで、「私は心が広い。狭くなんてない!」と主張している?
いずれにせよ、その程度のこだわりなら私はTABでいきたい。どうせ自分だけ使うコードだし。 もしベースがあるときはパクって統一する方針にしよう。実際はエディタの設定に従いそう。正直、楽でわかりやすければ何でもいい。
所感
C/C++との違いが大きい。インデント、比較式など細かいところが慣れるまで大変そう。
Pythonの基本的な構文もよく知らない。でも、規約をみればコードが書いてある。適当にパクりながらやればどうにかなるだろう。さっさとコードを書いて慣れたほうが早いか。
でもPythonをやる前に、インデントTab派の主張を書いておきたい。