2012年9月17日月曜日

PyCon JP 2012で@dankogaiさんのスライドで,仕事でJavaの三項演算子で問題になったこと似ていたので書いてみました.

PyCon JP 2012で使われた@dankogaiさんのスライドはこれ

そのスライドでどうなのよって言っているPytohnの内包表記はこれ.
noprimes = [j for i in range(2, sn) for j in range(i*2, n, i)]
(スライドの一部転記)

問題のJavaの三項演算子はこれ.
String line =  i  > 10 ? "i>10" : j < 5 ? "i<=10 かつ j<5" : "j>5";


どちらも2つの処理をまとめて1行にしています.

素直に2つに分けた方が良いのか,それとも1行の方が良いのか....

完全に好みの問題ではあるけれど,私は2行に分けた方がイイと思う.
Pythonは長く触っていないので,どっちが良いかはわからないけど..


Javaはこっちの方が見やすいと私は思う.

String line = null;;
if( i > 10) line = "i>10";
else if (j > 5) line =  "i<=10 かつ j<5";
else line = "j>5";

こっちの方が条件をぱっと見でわかる気がする.(三項演算子をあまり見ないから慣れの問題かもしれないが)

もちろん条件が1つであれば三項演算子を使うのに,賛成.書く量が断然少ないし,見やすいし,短い.

String line =  i  > 10 ? "i>10" :  "i<=10" ;

ふと思いつきで,書いてしまいました.
みなさんはどちらが好みでしょうか???




2012年9月16日日曜日

PyCon JP 2012

PyCon JP 2012に参加させて頂きました.


@dankogai さんの特別講演の様子
オープニングの基調講演は,間に合わなくて聞くことはできませんでした.
 が,私のように聞き逃した方や,参加できなかった方はYoutubeでセッションが公開されています.(LTなどはナイようですが.)

@dankogai さんの特別講演は,会場が満員になるほどの盛況でした.Pythonistaがいっぱい居る中で,Pythonのいまいちな点を発表されるとは...気になる方は,是非Youtubeで見てください.(会場のピリピリ感が伝われば良いですがw)

1日目の終了後のPartyで,お話しさせていただいた方々,アドバイスをいただいた方々,とても楽しく,とても為になりました.
おそらく,このBlogもそのときのアドバイスにより,変化していくのかな...きっと.