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