* [Python] Coding Style
Posted on 11 月 14th, 2008 by tai. Filed under Python.
mixiのPythonコミュのpythonらしい命名とは?というトピックにて、
参考になりそうなURLがUPされていたのでメモ。
時間見つけて熟読予定。
間違ったコードは間違って見えるようにする
PEP 8 — Style Guide for Python Code
wxPython Coding Guide
とりあえずPEP8だけざっくり読んだところ、8割ぐらいは守れてるかも、と思ったけど、
バーーーーーーッッッっと書き始めると全部崩壊www
もうちょい明確に自分ルール持っておいたほうがいざという時に良いかなぁ。
ともあれ、要熟読。
9 Responses to “[Python] Coding Style”
Leave a Reply
最近のコメント
- [2009] 謹賀新年 に tai より
- [2009] 謹賀新年 に ぷーとん より
- [2009] 謹賀新年 に ガチャリーヌ より
- [2009] 謹賀新年 に tai より
- [2009] 謹賀新年 に hohehohe2(今日から節制) より
最近の投稿
アーカイブ
- 2009 年 1 月
- 2008 年 12 月
- 2008 年 11 月
- 2008 年 10 月
- 2008 年 9 月
- 2008 年 8 月
- 2008 年 7 月
- 2008 年 6 月
- 2008 年 5 月
- 2008 年 4 月
- 2008 年 3 月
- 2008 年 2 月
- 2008 年 1 月
- 2007 年 12 月
- 2007 年 11 月
- 2007 年 10 月
- 2007 年 9 月
- 2007 年 8 月
- 2007 年 7 月
- 2007 年 6 月
- 2007 年 5 月
- 2007 年 4 月
- 2007 年 3 月
11 月 14th, 2008 at PM 3:58
クラスのメソッドって、大文字で始めるべきかな、小文字で始めるべきかな。
何だかまちまちで困ってます。
11 月 14th, 2008 at PM 4:49
> hajimeさん
僕は小文字推奨派です!!
なんとなく!!
11 月 14th, 2008 at PM 7:06
自分も小文字〜〜。wxだけ変態な気がします。colourやし(笑
PEP8の感想、参考になった所はいっぱいあるんでそれ以外の所での意見を・・・
- パッケージ内部の import には、相対 import をしないことが強く推奨さ
れている。常に絶対パッケージパスを使用する。
…
絶対 import のほうが可搬性があり、一般に可読性が高い。
???絶対import のほうが可搬性があるってどういうこと?
英語を母国語としない Pythonプログラマの方々へ。あなたの母国語を話さ
ない人が、そのソースコードを決して読まないことを、120%確信できる場
合を除いて、コメントは英語で書いていただきたい。
お願いしろ(怒
文末のピリオドの後には、スペースをふたつ配置する。
なんで?
mixedCase 方式は、既に広く使われているような文脈(たとえば
threading.py)で、互換性を保つ場合にのみ許される。
やだ。
単純な公開データ属性には、複雑なアクセッサまたはミューテータメソッ
ドではなく、属性の名前を公表するのが最善である。単純なデータ属性
が、機能的なふるまいをするよう変更しなければならないとき、
Pythhon が将来の拡張が容易な方法を提供していることを思い出そう。
こんなときには、properties を使って、単純なデータ属性にアクセス
する文法のまま、機能の実装を隠すことができる。
これにはちょっと自分の意見があって、どのデータが外部から変更されるか
わからいと可読性が下がるんでhoheローカルルールでデータ変更は関数を
作ってそれをコールするようにしています。Pythonに染まった人は外部から
バンバンデータ変更してます。
注3: 名前修飾はみんなに好かれているわけではない。
はい嫌い。
11 月 14th, 2008 at PM 7:34
>wxだけ変態
さすが、お見通しですねw
wxのクラスを継承した後、さて自分のメソッド追加するかって時にいつも困るんですよね。小文字貫くか、wxに合わすか。
11 月 15th, 2008 at AM 10:17
> hohehohe2さん
wxは元々pythonのものじゃないから、そっちのルールに合わせた、って感じなんでしょうかね。
にしてもやりづらいですが・・・w
> 絶対 import のほうが可搬性があり〜
これは非常に謎です。僕の場合、少なくともMaya用のスクリプトは全部相対importになっちゃってます。
可搬性がある=同じ環境の構築が出来てたらモジュール名がぶつかる事が防げるから楽ですよ、ってぐらいのことなんでしょうか。
>文末のピリオドの後には、スペースをふたつ配置する。
え、、、なんか気持ち悪い、、、、
> データ変更は関数を作って〜
僕も大体そんな感じにしてます。
世に言うgetter, setter、って感じの仕組み、なんだとおもいますが、getXXX()とかになってた方が、何やってるのかパッと見分かり易いですし、内部でなんか操作してからデータ渡すにしても、クラスの外には関係ないですし、とか。
非常に参考になりました。
僕もPEP8読んでみます。
> hajimeさん
wxのクラスを継承した時は最高に困りますね、、
僕は確か継承したものに関しては大文字にして、その他は頑として小文字でwww
11 月 15th, 2008 at AM 10:42
むしろ、小文字で統一して、
「大文字でスタートするメソッドはwxのオリジナルのもの」というルールと思い込んでしまえば
これはこれで自分を納得させることができるかも、と思いました。
11 月 15th, 2008 at AM 11:55
>hajimeさん
!!
それは確かにアリかも。ナイスアイディア!
11 月 16th, 2008 at AM 2:10
# You should use two spaces after a sentence-ending period, since it makes
# Emacs wrapping and filling work consistently.
Emacsの改行処理が正しく働くそうです。うーん理にかなってるような、無茶苦茶なような・・・
> これはこれで自分を納得させることができるかも、と思いました。
同じ結論に・・・
11 月 17th, 2008 at PM 12:41
>hohehohe2さん
> Emacsの改行処理
な、なるほど、、そんな理由が、、
でも僕はEmacsユーザーじゃないので、無視しても問題ない、、
公開する際に、っていう話ならわかるんですが。
というかEmacsの利点が未だに理解できてません。
いや、理解は出来てます。
でもCtrl+何か、とかAlt+何か、という操作になれることが出来ません、、
うーん、Emacs、、、いつか仲良くなれるんだろうか、、、
> > これはこれで自分を納得させることができるかも、と思いました。
> 同じ結論に・・・じゃあ僕もそれで、、、