2019/11/26 Winds Chord Blogに移行しました。
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" ;
ふと思いつきで,書いてしまいました.
みなさんはどちらが好みでしょうか???
PyCon JP 2012で
PyCon JP 2012で使われた
そのスライドでどうなのよって言っている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" ;
ふと思いつきで,書いてしまいました.
みなさんはどちらが好みでしょうか???
コメント
コメントを投稿