リーダブルコードとは
・読みやすさ、理解しやすさを追及したコードのことです
・読みやすいということはメンテナンス性も高いということです。
・理解しやすいコードはコードレビューも楽になります。
・理解しやすいコードはバグも少なくなります。
・短いほうが優れていることが多いですが、必ずしも短いほうがいいとは限りません。
俺ルール
・書き方の勝負であり、言語の勝負をしないでください。
・標準、非標準に限らずライブラリを使いましょう。
・なければ自分で関数を作りましょう。関数はなるべく汎用的に。
こういうコードを読みやすくするにはどうすればいいでしょうか?
というようなことを語るスレ。需要ありますかね?
探検
リーダブルコーディング技術スレ
■ このスレッドは過去ログ倉庫に格納されています
2013/10/11(金) 01:06:21.56
2013/10/22(火) 01:04:44.66
そもそも「初心者」っていう言葉を使ってるの一人だけっぽいが…。
我田引水っ子が混じってる気がするから気持ちよく話に参加できない。
我田引水っ子が混じってる気がするから気持ちよく話に参加できない。
83デフォルトの名無しさん
2013/10/22(火) 01:05:25.45 どんな技術でも使うことに正当な理由があれば使うし、
使うべきでは無いという正当な理由があれば使わないよ。
ただ「周りがわからないから使わない」は
正当な理由にはなりえないな。妥協した理由だ。
使うべきでは無いという正当な理由があれば使わないよ。
ただ「周りがわからないから使わない」は
正当な理由にはなりえないな。妥協した理由だ。
84デフォルトの名無しさん
2013/10/22(火) 01:08:07.19 >>83
なるほど。正当な理由と
妥協した理由ね。
つまりはリーダブルコードの話をする時
正当な理由のみで語るべきということ。
そこに妥協した理由を持ってきてはいけない。
妥協したいならお前の周りだけ妥協すればいいだけじゃん。
技術のなさを恥じながら妥協しておけよ。
なるほど。正当な理由と
妥協した理由ね。
つまりはリーダブルコードの話をする時
正当な理由のみで語るべきということ。
そこに妥協した理由を持ってきてはいけない。
妥協したいならお前の周りだけ妥協すればいいだけじゃん。
技術のなさを恥じながら妥協しておけよ。
2013/10/22(火) 01:09:50.20
>79
>より一般的な、説明が不要な方法で実装したほうが、結局はみんなが幸せよ。
この「説明が不要」と言うのはうまい表現かもね。
専門知識・用語を駆使して「説明を省く」のとはちょっと違う。
>より一般的な、説明が不要な方法で実装したほうが、結局はみんなが幸せよ。
この「説明が不要」と言うのはうまい表現かもね。
専門知識・用語を駆使して「説明を省く」のとはちょっと違う。
86デフォルトの名無しさん
2013/10/22(火) 01:14:31.112013/10/22(火) 01:16:15.84
88デフォルトの名無しさん
2013/10/22(火) 01:17:05.092013/10/22(火) 01:17:50.73
>>88
頑張って、技術をつけてくださいね;)
頑張って、技術をつけてくださいね;)
90デフォルトの名無しさん
2013/10/22(火) 01:18:19.5491デフォルトの名無しさん
2013/10/22(火) 01:18:59.89 説明を求められて説明できない人って
何のために意見を言ったんだろうかね。
何のために意見を言ったんだろうかね。
2013/10/22(火) 01:25:54.50
>86
>専門知識・用語を使えば簡単なのに、使わないほうがいい例
例えばC++ではないC言語で、「オブジェクト」という単語が出てきたとしよう。
本当にCをよく理解しているならそれが何を意味してるのか分かると思うが、
なまじC++等を知ってるプログラマを混乱させる元になる。
>専門知識・用語を使えば簡単なのに、使わないほうがいい例
例えばC++ではないC言語で、「オブジェクト」という単語が出てきたとしよう。
本当にCをよく理解しているならそれが何を意味してるのか分かると思うが、
なまじC++等を知ってるプログラマを混乱させる元になる。
93デフォルトの名無しさん
2013/10/22(火) 02:12:00.61 > 例えばC++ではないC言語で、「オブジェクト」という単語が出てきたとしよう。
その場合それは専門用語ではない。
誰かが勝手に作った用語だろう?
そういう人こそちゃんと勉強して
正しい専門用語を使えと思うんだが?
その場合それは専門用語ではない。
誰かが勝手に作った用語だろう?
そういう人こそちゃんと勉強して
正しい専門用語を使えと思うんだが?
2013/10/22(火) 02:20:08.94
>>63-65
合ってるだろ、leaderぶる話で
合ってるだろ、leaderぶる話で
2013/10/22(火) 02:32:27.96
ぐんもー☆ぞうをなでなで
96デフォルトの名無しさん
2013/10/22(火) 06:28:57.24 >>88 みんなエスパーだよ?
2013/10/22(火) 07:37:14.92
関数型言語であるような、mapとかfilterとかは、
知らないと読めない典型だけど、いったん知ってしまえば
とても便利だよね
これがリーダブルなのかそうでないのかは
読み手によるとしか答えようがないなあ
知らないと読めない典型だけど、いったん知ってしまえば
とても便利だよね
これがリーダブルなのかそうでないのかは
読み手によるとしか答えようがないなあ
2013/10/22(火) 08:40:05.16
技術の高さに頼らなくても読めないと駄目だろ
2013/10/22(火) 09:15:49.31
その言語の典型的な書き方、イディオムは、読めて当然と考えていいんじゃないか?
それをはずれた書き方は読むのをストップさせるリーダブルじゃないコードだろ。
イディオムを覚えていない初心者はこの議論の範疇外だよ。
それをはずれた書き方は読むのをストップさせるリーダブルじゃないコードだろ。
イディオムを覚えていない初心者はこの議論の範疇外だよ。
100デフォルトの名無しさん
2013/10/22(火) 21:39:53.89 クラス名や関数名、主要変数名に気を使って、ぱっと見ておおまかな処理の流れさえ分かれば、細かい処理はわかりづらくてもコメント打っておけば良いと思っている
公開する範囲にもよると思うが
公開する範囲にもよると思うが
101デフォルトの名無しさん
2013/10/22(火) 22:21:20.05 >>97
mapやfilterはものすごく勉強しないと理解できない物?
違うよね。
ちょっと知ればいい程度のものなら、勉強すれば終わりでしょ?
そんなものまで、知らないから読めないという人のために
使うかどうか迷うの?
ほんの数分の勉強で、これから先ずっと快適になるんだよ。
比べるまでもないことだよね。
mapやfilterはものすごく勉強しないと理解できない物?
違うよね。
ちょっと知ればいい程度のものなら、勉強すれば終わりでしょ?
そんなものまで、知らないから読めないという人のために
使うかどうか迷うの?
ほんの数分の勉強で、これから先ずっと快適になるんだよ。
比べるまでもないことだよね。
102デフォルトの名無しさん
2013/10/22(火) 22:57:17.67 >93
>その場合それは専門用語ではない。
>誰かが勝手に作った用語だろう?
手元にあるK&R第2版日本語訳にはこう書いてある。
【付録A(ANSI規格)】
A5 オブジェクトと左辺値
オブジェクトは名前付きのメモリ領域であり、左辺値(lvalue)はオブジェクトを参照する式である。
>その場合それは専門用語ではない。
>誰かが勝手に作った用語だろう?
手元にあるK&R第2版日本語訳にはこう書いてある。
【付録A(ANSI規格)】
A5 オブジェクトと左辺値
オブジェクトは名前付きのメモリ領域であり、左辺値(lvalue)はオブジェクトを参照する式である。
103デフォルトの名無しさん
2013/10/22(火) 23:00:30.37104デフォルトの名無しさん
2013/10/22(火) 23:07:12.47 K&Rは、もはや参考書でしかないよ。
まずは規格票を読まなきゃ。
まずは規格票を読まなきゃ。
105デフォルトの名無しさん
2013/10/22(火) 23:09:51.44 >104
「付録A」はその規格について述べてる訳ですが?
「付録A」はその規格について述べてる訳ですが?
106デフォルトの名無しさん
2013/10/22(火) 23:18:58.21 解説であって規格票そのものではないし、しかもC99じゃなくてC89のだし。
107デフォルトの名無しさん
2013/10/22(火) 23:21:56.88 俺らの世代以上の人なら、K&Rの例の「オブジェクト」について、
少なくとも何度か話題に上がったことは当たり前にあるだろうね。
少なくとも何度か話題に上がったことは当たり前にあるだろうね。
108デフォルトの名無しさん
2013/10/22(火) 23:30:35.80 >106
まともなプログラマなら>102の内容はc99でも通用する記述だと分かるだろ
まともなプログラマなら>102の内容はc99でも通用する記述だと分かるだろ
109デフォルトの名無しさん
2013/10/23(水) 00:04:30.54 そもそもコードは「キーワードと文法しか知らない」コンパイラに分かるように頭から読んでいけば分かるように書いてある訳で、
どんな糞コードであっても、コンパイルが通るなら言語規格を熟知してる奴には読めるはずである。
すなわち「規格を熟知している奴に読めれば良い」という条件では糞コードを除外できない。
どんな糞コードであっても、コンパイルが通るなら言語規格を熟知してる奴には読めるはずである。
すなわち「規格を熟知している奴に読めれば良い」という条件では糞コードを除外できない。
110デフォルトの名無しさん
2013/10/23(水) 09:14:14.51 >>103
K&Rが勝手に作った用語。
K&Rが勝手に作った用語。
111デフォルトの名無しさん
2013/10/23(水) 09:58:56.67 CはそもそもK&RのRのほうが勝手に作った言語だけどなw
112デフォルトの名無しさん
2013/10/23(水) 10:02:26.18 実に見事なニワカホイホイだった
113デフォルトの名無しさん
2013/10/23(水) 10:42:04.43 小学生の口喧嘩みたいだ。
114デフォルトの名無しさん
2013/10/23(水) 13:55:37.88 結局規格票で確認した奴はいなかった、というオチだろ?
115デフォルトの名無しさん
2013/10/23(水) 21:15:42.29 純粋なgetter,setterじゃないのにget〜とかset〜とかは使わない方がいい?
例えば,なんかのファイルのパスを返すような関数があったとして,
getHogePath()とかいう関数名はあり?
もちろんhogeっていうメンバ変数はないとして
例えば,なんかのファイルのパスを返すような関数があったとして,
getHogePath()とかいう関数名はあり?
もちろんhogeっていうメンバ変数はないとして
116デフォルトの名無しさん
2013/10/23(水) 22:31:00.52117デフォルトの名無しさん
2013/10/23(水) 22:34:24.51 動的型付け言語の場合。
クラスがHogeであっても、getHogeってした方がいいよ。
なぜなら、getだけじゃ何からのgetか分からないから。
近くでnewしていれば簡単だが、関数の外から
渡されてきたらあちこちのコードを読まないとわからない。
しかも一つ見つけたら、それで正しいとは限らない。
もしかしたら見つけたのとは別のクラスも渡しているかもしれない。
クラスがHogeであっても、getHogeってした方がいいよ。
なぜなら、getだけじゃ何からのgetか分からないから。
近くでnewしていれば簡単だが、関数の外から
渡されてきたらあちこちのコードを読まないとわからない。
しかも一つ見つけたら、それで正しいとは限らない。
もしかしたら見つけたのとは別のクラスも渡しているかもしれない。
118デフォルトの名無しさん
2013/10/23(水) 22:52:48.88 ISO/IEC 9899:201x Programming languages - C
ttp://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf 24ページ目辺り
3.15
object
region of data storage in the execution environment, the contents of which can represent values
ttp://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf 24ページ目辺り
3.15
object
region of data storage in the execution environment, the contents of which can represent values
119デフォルトの名無しさん
2013/10/23(水) 22:54:38.49 「リーダブルコード」的には、getHogeはオススメされていない。
・属性値を得るだけの軽い処理とまぎらわしい
・明確じゃない(ほかの動詞を使うべき)
・属性値を得るだけの軽い処理とまぎらわしい
・明確じゃない(ほかの動詞を使うべき)
120デフォルトの名無しさん
2013/10/23(水) 22:58:55.35 内部処理を意識させないために
getでいいのでは?
内部処理がどうなっているか不明なのだから
軽いかどうかなんてわかり用がないし
変わることだってだろう?
そこに何かの想定をしてはいけないだけの話。
getでいいのでは?
内部処理がどうなっているか不明なのだから
軽いかどうかなんてわかり用がないし
変わることだってだろう?
そこに何かの想定をしてはいけないだけの話。
121デフォルトの名無しさん
2013/10/23(水) 23:02:09.66 >>120が英語が出来ないだけの話
リーダブルコードの意味をもう一度考えたほうがいい
リーダブルコードの意味をもう一度考えたほうがいい
122デフォルトの名無しさん
2013/10/23(水) 23:09:46.14 Foo.getHoge(); と書くと「FooがHogeをgetする」になってしまう罠。
仮にこれを「FooからHogeをgetする」と読むのならば、
if( Foo.isHoge() ) を 「もしFooがHogeなら」と読めなくなる。
仮にこれを「FooからHogeをgetする」と読むのならば、
if( Foo.isHoge() ) を 「もしFooがHogeなら」と読めなくなる。
123デフォルトの名無しさん
2013/10/23(水) 23:16:32.20 そのロジックはこじつけすぎ
慣習には従うべき
慣習には従うべき
124122
2013/10/23(水) 23:19:31.79 間違えてUCCで書いてもうた…orz
でもまぁ標準ライブラリでもよく考えるとおかしなのがあるから、あまり気にせずとも良い気も。
でもまぁ標準ライブラリでもよく考えるとおかしなのがあるから、あまり気にせずとも良い気も。
125デフォルトの名無しさん
2013/10/23(水) 23:20:41.94 >>115
定数オーダーの処理ならget,setって言っていいイメージでいます。
定数オーダーの処理ならget,setって言っていいイメージでいます。
126デフォルトの名無しさん
2013/10/23(水) 23:31:43.97 話が逸れるけど関数名だけに拘るのではなく、戻り値や引数の型その他を含むシグネチャ全体に気を使った方が良いかと。
特にC/C++なんかだとconstの有無はネーミングと同じ位気を使って欲しい。
うまく使えば読みやすくなるし。
特にC/C++なんかだとconstの有無はネーミングと同じ位気を使って欲しい。
うまく使えば読みやすくなるし。
127デフォルトの名無しさん
2013/10/23(水) 23:31:45.03 そのHogePathの出どころによるよね
DBから探してくるならfindHogePathとかsearchForHogePath
コンポーネントをいくつか組み合わせて作るならcomposeHogePath
どこかに設定してあるのをちゃちゃっと取ってくるだけならgetHogePath
処理の中身がわかる名前がいいと思うよ
DBから探してくるならfindHogePathとかsearchForHogePath
コンポーネントをいくつか組み合わせて作るならcomposeHogePath
どこかに設定してあるのをちゃちゃっと取ってくるだけならgetHogePath
処理の中身がわかる名前がいいと思うよ
128デフォルトの名無しさん
2013/10/24(木) 01:34:22.78 >>122
> Foo.getHoge(); と書くと「FooがHogeをgetする」になってしまう罠。
つまりgetは一切使うなってこと?
いや違うな。Fooをcreateしてしまう場合は、create Fooだろう?
Foo.createだったら、Fooが作成してしまうになってしまう。
いやいやcreateではなく、newだからnew Fooであってるのか。
Foo.newはだめだな。
でもこれはnewだけの話だろう?
Array.join(', ')とかどうなるんだ?配列が','でjoinする?
配列をjoinするんじゃないのか?
おかしいな。
とりえず俺としての結論は、
Foo.isHogeがたまたまそう読めるからといって、だからなに?
他は違う読み方をすればいいだけじゃない。
ってことだな。
> Foo.getHoge(); と書くと「FooがHogeをgetする」になってしまう罠。
つまりgetは一切使うなってこと?
いや違うな。Fooをcreateしてしまう場合は、create Fooだろう?
Foo.createだったら、Fooが作成してしまうになってしまう。
いやいやcreateではなく、newだからnew Fooであってるのか。
Foo.newはだめだな。
でもこれはnewだけの話だろう?
Array.join(', ')とかどうなるんだ?配列が','でjoinする?
配列をjoinするんじゃないのか?
おかしいな。
とりえず俺としての結論は、
Foo.isHogeがたまたまそう読めるからといって、だからなに?
他は違う読み方をすればいいだけじゃない。
ってことだな。
129デフォルトの名無しさん
2013/10/24(木) 01:49:19.21 >>128
RubyではFoo.newなんだが(;^ω^)
RubyではFoo.newなんだが(;^ω^)
130デフォルトの名無しさん
2013/10/24(木) 03:46:48.68131デフォルトの名無しさん
2013/10/24(木) 07:03:23.93132デフォルトの名無しさん
2013/10/24(木) 09:16:09.11 Foo.new と new Foo の違いは、前者がメタオブジェクト(Classのインスタンス)の
インスタンスメソッドの呼び出しであるのに対し、後者がnewという前置演算子による
演算子式である、という意味の違いが構文の違いになっているに過ぎず、
リーダビリティとは全く何の関係もない。
それを「一文字でも短くタイプするとかいう変な宗教」とか考える奴の脳味噌が変。
インスタンスメソッドの呼び出しであるのに対し、後者がnewという前置演算子による
演算子式である、という意味の違いが構文の違いになっているに過ぎず、
リーダビリティとは全く何の関係もない。
それを「一文字でも短くタイプするとかいう変な宗教」とか考える奴の脳味噌が変。
133デフォルトの名無しさん
2013/10/24(木) 09:45:45.73 言いたい事をほぼ>>132が言ってくれたから話が早いw
134デフォルトの名無しさん
2013/10/24(木) 10:17:04.85135デフォルトの名無しさん
2013/10/24(木) 10:18:18.30 >>134
俺 Python スレとシャワートイレ板で有名コテやってるかあんまり怒らせないほうがいいよ
俺 Python スレとシャワートイレ板で有名コテやってるかあんまり怒らせないほうがいいよ
136デフォルトの名無しさん
2013/10/24(木) 10:56:44.27 >>134
これ一番分かりやすいな
これ一番分かりやすいな
137デフォルトの名無しさん
2013/10/24(木) 12:52:43.82 その言語において、コンストラクタが普通の関数と同じものなら、それで問題ない。
プログラミング言語は、計算のための意味論を持った、形式言語である、という前提を外した
議論からは、何も生まれないよ。
プログラミング言語は、計算のための意味論を持った、形式言語である、という前提を外した
議論からは、何も生まれないよ。
138デフォルトの名無しさん
2013/10/24(木) 21:30:48.46 >>134
Perlは Foo だけでいけるよ。
Perlは Foo だけでいけるよ。
139デフォルトの名無しさん
2013/10/24(木) 21:33:14.24140デフォルトの名無しさん
2013/10/24(木) 21:41:37.23141デフォルトの名無しさん
2013/10/24(木) 21:52:44.97 というより、ちょっと前から一人おかしい子が紛れ込んでる希ガスw
知ったようなことを言いたいんだ、ということだけ分かる。
知ったようなことを言いたいんだ、ということだけ分かる。
142デフォルトの名無しさん
2013/10/24(木) 22:02:24.23 こんな感じで分かり易いコード書けるよー、的な話題になると、
気の利いたコード書けない低脳が、そんなの関数化するから関係無いと言い出し、
その結果、関数名とか変数名とか、あとメソッド呼び出しでの括弧省略とか、
そういう下らない議論になる
読んでないけど、このスレもそんな感じですか?
気の利いたコード書けない低脳が、そんなの関数化するから関係無いと言い出し、
その結果、関数名とか変数名とか、あとメソッド呼び出しでの括弧省略とか、
そういう下らない議論になる
読んでないけど、このスレもそんな感じですか?
143デフォルトの名無しさん
2013/10/24(木) 22:05:39.81 あぁ、お前が読んでないことが2行目でわかったよw
さっさと自分のスレに帰って、
そいつに泣かされてこい。
さっさと自分のスレに帰って、
そいつに泣かされてこい。
144デフォルトの名無しさん
2013/10/24(木) 22:08:26.25 自分のスレとか言い出したら
病気ですよ
病気ですよ
145デフォルトの名無しさん
2013/10/24(木) 22:11:41.26 >>144
?
?
146デフォルトの名無しさん
2013/10/24(木) 22:12:24.79 あ、馬鹿にしたことに気づいてないのかw
147デフォルトの名無しさん
2013/10/24(木) 22:25:41.04 自分のスレって何だ?
148デフォルトの名無しさん
2013/10/24(木) 22:30:08.34 三人称単数ならgetsだろ藁()
小学生かお前ら核爆()
小学生かお前ら核爆()
149デフォルトの名無しさん
2013/10/24(木) 22:40:56.38 >148
メンバからの呼び出しの場合
メンバからの呼び出しの場合
150デフォルトの名無しさん
2013/10/24(木) 23:07:37.25 >>139
new Foo や Foo.new は「適度に短い」からリーダブルだよ
なぜなら、new というキーワードによって、単なるメソッド呼び出しと
コンストラクタ呼び出しを一目で見分けられる、
つまりコードリーディングを配慮した言語設計だと言える
それに対して、Foo() は「極端に短い」からアンリーダブルだね
なぜなら、前後の文脈を確認しなければ、それがメソッド呼び出しなのか
コンストラクタ呼び出しなのかが区別できない
つまりコードリーディングを無視した
「一文字でも短くタイプするとかいう変な宗教(>>131)」に従った言語設計だと言える
たとえば、f() というコードは一見するとメソッド(または関数)呼び出しに見える
しかし、その前の文脈に f = Foo があれば、f() の意味はコンストラクタ呼び出しになる
もしも、これが new f または f.new であれば迷うこと無くコンストラクタであると判断できる
new Foo や Foo.new は「適度に短い」からリーダブルだよ
なぜなら、new というキーワードによって、単なるメソッド呼び出しと
コンストラクタ呼び出しを一目で見分けられる、
つまりコードリーディングを配慮した言語設計だと言える
それに対して、Foo() は「極端に短い」からアンリーダブルだね
なぜなら、前後の文脈を確認しなければ、それがメソッド呼び出しなのか
コンストラクタ呼び出しなのかが区別できない
つまりコードリーディングを無視した
「一文字でも短くタイプするとかいう変な宗教(>>131)」に従った言語設計だと言える
たとえば、f() というコードは一見するとメソッド(または関数)呼び出しに見える
しかし、その前の文脈に f = Foo があれば、f() の意味はコンストラクタ呼び出しになる
もしも、これが new f または f.new であれば迷うこと無くコンストラクタであると判断できる
151デフォルトの名無しさん
2013/10/24(木) 23:09:12.24 > それに対して、Foo() は「極端に短い」からアンリーダブルだね
なんで? Foo()という関数は読みづらいか?
なんで? Foo()という関数は読みづらいか?
152デフォルトの名無しさん
2013/10/24(木) 23:10:31.80 ていうか、何でコンストラクタと普通の関数を区別する必要があるの?
馬鹿なの?
馬鹿なの?
153デフォルトの名無しさん
2013/10/24(木) 23:11:09.04 メソッドとかコンストラクタと言ってる時点で
わかってないやつじゃないか。
このスレで言う、リーダブルとは
技術の低いやつに合わせることではないって
話と同じことだな。
わかってないやつじゃないか。
このスレで言う、リーダブルとは
技術の低いやつに合わせることではないって
話と同じことだな。
154デフォルトの名無しさん
2013/10/24(木) 23:11:54.80 newFoo = Fooって書けばよくね???
155デフォルトの名無しさん
2013/10/24(木) 23:18:11.87 アホがアホのフリをする必要は無いぞ。
156デフォルトの名無しさん
2013/10/24(木) 23:31:48.54 そもそもオブジェクト指向とかゴミだろ藁()
OCaml最高!!
OCaml最高!!
157デフォルトの名無しさん
2013/10/24(木) 23:37:35.84 Objective Caml ........
158デフォルトの名無しさん
2013/10/24(木) 23:38:57.24 第一級のモジュールができて
完全にオワコンになったOCamlのO
完全にオワコンになったOCamlのO
159デフォルトの名無しさん
2013/10/24(木) 23:40:51.03 一時のブームに流されたばかりに.....
160デフォルトの名無しさん
2013/10/24(木) 23:41:59.24 おまえら、ここは言語の勝負するスレじゃないぞ
161デフォルトの名無しさん
2013/10/24(木) 23:47:53.68 if !flag vs. unless flag 派のたたかいはまだですか
162デフォルトの名無しさん
2013/10/24(木) 23:50:39.18 論理的にはどちらか一方あればいいけど、
読むことを考えれば、両方できる方がいい。
読むことを考えれば、両方できる方がいい。
163デフォルトの名無しさん
2013/10/24(木) 23:51:21.06 のってやろう
俺は!を見逃すという凡ミスでハマったゴミクソ野郎なので
unless派だ
俺は!を見逃すという凡ミスでハマったゴミクソ野郎なので
unless派だ
164デフォルトの名無しさん
2013/10/24(木) 23:52:16.44 実装は同じになるけど、英語の意味は違うよ
だから両方ある方がいい
だから両方ある方がいい
165デフォルトの名無しさん
2013/10/25(金) 01:24:29.19 if not でいいじゃん
166デフォルトの名無しさん
2013/10/25(金) 10:07:22.11 条件式は明示的に比較演算子を記述すること
167デフォルトの名無しさん
2013/10/25(金) 10:22:07.23 俺みたいな雑魚が until と unless を間違えるから、どちらかを別の単語にすべきだ。
168デフォルトの名無しさん
2013/10/25(金) 11:01:11.16 if修飾子が好き。
条件の文字をxで置き換えて書くと
next if xxxxxx
next if xxxxxxxxxxxx
next if xxx
と揃っていて美しい。一瞬でこの一群の目的が分かる。
旧来の方法だと、
if (xxxxxx) next
if (xxxxxxxxxxxx) next
if (xxx) next
こうなって、この一群が同一の目的を持ってることがスグには分からない。
条件の文字をxで置き換えて書くと
next if xxxxxx
next if xxxxxxxxxxxx
next if xxx
と揃っていて美しい。一瞬でこの一群の目的が分かる。
旧来の方法だと、
if (xxxxxx) next
if (xxxxxxxxxxxx) next
if (xxx) next
こうなって、この一群が同一の目的を持ってることがスグには分からない。
169デフォルトの名無しさん
2013/10/25(金) 11:35:26.92 >>168
すみません。このnextっていうのは何のことですか?
すみません。このnextっていうのは何のことですか?
170デフォルトの名無しさん
2013/10/25(金) 11:45:26.35 >>163
そう言うやつはそのうち unless !flag と書いてはまるので、俺は unless いらない派
そう言うやつはそのうち unless !flag と書いてはまるので、俺は unless いらない派
171デフォルトの名無しさん
2013/10/25(金) 11:49:51.98172デフォルトの名無しさん
2013/10/25(金) 11:56:20.11 >>168
同じ目的ならor条件にしろ
同じ目的ならor条件にしろ
173デフォルトの名無しさん
2013/10/25(金) 12:31:03.71 一人だけ周回遅れな発言してるなぁ…
174デフォルトの名無しさん
2013/10/25(金) 20:13:24.30 条件によりオプショナルなら前置
null対策などで仕方なく条件を付けるのなら後置
みたいに書いたりしないか
null対策などで仕方なく条件を付けるのなら後置
みたいに書いたりしないか
175デフォルトの名無しさん
2013/10/25(金) 23:00:46.24 >>168
こうすりゃいいやん
if (xxxxxx) next
if (xxxxxxxxxxxx) next
if (xxx) next
こうすりゃいいやん
if (xxxxxx) next
if (xxxxxxxxxxxx) next
if (xxx) next
176デフォルトの名無しさん
2013/10/25(金) 23:24:53.78 変数宣言でそれやってるやついるな。
177デフォルトの名無しさん
2013/10/26(土) 00:49:23.99 変なタイプミスした行をあぶりだすのに、それがいいときもある。
状況しだい。
状況しだい。
178デフォルトの名無しさん
2013/10/26(土) 12:52:26.30 getterでretunr文の位置合わせるのはやりすぎ?
179デフォルトの名無しさん
2013/10/26(土) 12:59:11.00 そういうタイプミスをみつけやすくしたいという意味?
180デフォルトの名無しさん
2013/10/26(土) 16:11:57.24 int getSpamSpamSpam() {return spam;}
int getHam() {return ham;}
int getEggEggEgg() {return egg;}
int getSpamSpamSpam() {return spam;}
int getHam() {return ham;}
int getEggEggEgg() {return egg;}
下のほうが見やすい気がするけど,同僚からは不評
int getHam() {return ham;}
int getEggEggEgg() {return egg;}
int getSpamSpamSpam() {return spam;}
int getHam() {return ham;}
int getEggEggEgg() {return egg;}
下のほうが見やすい気がするけど,同僚からは不評
181デフォルトの名無しさん
2013/10/26(土) 16:15:01.79 スペース纏められてたw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【🐻ニャー】京都府向日市の「クマ目撃情報」は見間違いか 市が映像確認「ネコに似ていた」 [nita★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- お茶輸出71年ぶり1万トン超 25年、抹茶ブームで急増 [蚤の市★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
