[Sy] Pythonの禅(設計思想)の中からそもそも言語に限らず大事って感じたものをピックアップ
2014/05/29
最近仕事でデータ分析をはじめたんですが、Python を使っている方も多いようで、興味もあったしこの機会に触ってみようかと。
Pythonの禅
で、何でもPythonには 禅 と呼ばれる設計思想のようなものがあることを知りました。
日本語訳は以下のページの表現がわかりやすいです。
⇒ The Zen of Pythonこの禅を読んで、そもそもPythonに限らず大事じゃね?って感じたものも多くあったので、その中から5つほどピックアップしてみます。
Flat is better than nested.
ネストさせなくていいならしない方がいい
ネストが深くなると、すごく読みづらいですよねー。
ブロックの終端記号(}とかendとか)が何個も連続で書かれているコード見ると、どうにかならなかったのかい?それ?とツッコみたくなります。
Space is better than dense.
たくさん詰め込んだのよりスカスカな方がいい
適度に改行とか、スペースを入れようよ。ってことですね。
個人的には、改行とかスペースも含めて「コード」だと思ってます。そこにこだわりを持てない人のコードは、 統一感に欠けてすごく読みづらい です。
音楽でいうと休符を意識しよう的な。
Although practicality beats purity.
実用性を求めてくと、ちょっとはずれちゃうこともあるけどね
「決まりだから」となんでも守ればいいってものじゃなく、そもそも_実用に堪えられなくなったら本末転倒_ですよね。
開発の現場では色々とルールがありますが、柔軟に考えることって大事です。
「さすがにこれは・・・」って言っても、「ルールだから!」とか返されるとつらい・・・
Now is better than never.
やらないよりは今やるべき
「こうした方がいいなーでもめんどくさいなー」とか思ってやらなかったりすると、結局すぐに誰かにツッコまれますよね。そういう時は、そう思った時にやった方がいい。
後からやるほうが大抵の場合は面倒 なことになっちゃいます。
If the implementation is hard to explain, it’s a bad idea.
作るものをうまく説明できないようならそれはボツ
まぁ、「できない」よりかはいいでしょうけどね。
実装できたとしても複雑になってしまったら、そのアイディアは微妙ってことを自覚して、もっとシンプルな方法がないか考えることが重要かと。
ということで
Pythonおもしろそう。