- 1 名前:仕様書無しさん [2012/03/10(土) 22:20:29.12 ]
- 文法的には何ひとつ間違ってはいないし、本人なりに見やすくしようとする意図は汲み取れるのだが、
どうにも気持ち悪くて、「修正してやる!」と叫びながらキーボードを激しく連打したくなる そういう薄気味悪いコーディングスタイルを発見したら書き込むスレッド
- 215 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:42:45.84 ]
- >>213
普通は必要があるからメンバ変数として保持するわけで。 メンバ変数として保持する必要がない変数までメンバ変数として保持してる コードは、そもそもそれ自体が変だとは思わないか?
- 216 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:44:24.83 ]
- >>214
pointがフィールドだった場合Functionメソッドが何もしなければ100回でループを抜ける もしFunctionがpointに対し何かしていればループの回数はFunctionの実装を確認するまで不明となる
- 217 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:46:03.03 ]
- >>215
問題点が違うよ。 無駄じゃないメンバーでも問題は変わらないんだから。
- 218 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:46:26.79 ]
- >>215
メンバ変数は状態を保持するための苦肉の策でしょ 本当は禁止したほうがいいくらいだよ
- 219 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:48:06.79 ]
- なんか、static爺の匂いがしてきたぞ。
- 220 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:49:07.12 ]
- 俺とプログラム議論で戦おうて言うなら徹底的にしてやるぞ
- 221 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:50:04.98 ]
- インターフェースとしてクラスを使うのか、thisを省略するためにクラスを使うのかじゃ全然違うしな
- 222 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:50:07.26 ]
- >>218
全部の変数をmain関数から引き渡せば状態を保持するメンバ変数なんていらない っていう主張だったっけ?
- 223 名前:222 mailto:sage [2012/04/11(水) 22:51:28.59 ]
- あぁ、ちょっと違った。
main関数じゃなくて、上位の関数だったかな。
- 224 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:52:52.35 ]
- >>223
インターフェースになる関数の中で呼ぶ自分のメンバーには 引数でメンバー変数を渡せって話。
- 225 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:53:08.84 ]
- なぜグローバル変数が嫌われるかといえば
変数のスコープがブロックを超越するために 生成消滅のタイミングを把握できないからだ。 メンバ変数にしたところで スコープがクラス内に限定されるだけで メソッドというブロックを超越する問題は解決されていない。
- 226 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:54:56.26 ]
- >>225
消滅というか変更全般だろ 下手すりゃ無限ループも起こすし
- 227 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:54:57.12 ]
- まあオブジェクト指向も所詮道具なんだから
良い所悪い所判って使えばいいんだけどね
- 228 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:58:14.63 ]
- オブジェクト指向は関係なくね
もっと構造化レベルの原始的な話でしょ
- 229 名前:仕様書無しさん mailto:sage [2012/04/11(水) 22:59:28.54 ]
- >>228
その通り。 この話題に違和感を感じるならオブジェクト指向以前に 構造化を判ってない証拠。
- 230 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:03:17.37 ]
- >>224
そもそもそんな関数をメンバ関数にしてる設計がおかしいんじゃない? インスタンスに関係ない関数なら、クラスに入れないのが正しいのでは?
- 231 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:04:30.58 ]
- >>230
Javaとか.Net系統じゃ無理だし
- 232 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:04:36.84 ]
- >>230
インスタンスに関係ないわけじゃなくて お行儀良くしましょうってことだよ
- 233 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:07:35.43 ]
- >>230
あるクラス内でしか使わない関数なら 不要になったとき捨てやすいように クラススコープに隠しておきたい
- 234 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:11:24.14 ]
- >>231
別クラスにするとかあるでしょ。 >>232 基本的にはオブジェクト指向である限り、インスタンスと相互作用が ないものはクラス内に入れないほうがいい。 まぁコーディング上の都合でちょっとしたことをさせる (インスタンスと関係ない)小さなメソッドを入れることはあるけど。
- 235 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:11:57.08 ]
- >>233
同意。 整理整頓しようってだけの話。
- 236 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:14:21.42 ]
- >>234
別クラスで公開してしまったら他から使われる可能性があるからな
- 237 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:15:16.96 ]
- >>234
メンバ変数を直接いじるよりは、引数と戻り値を通じてやり取りしたほうが良い。 プライベートであっても、副作用があるより無いほうが良い。
- 238 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:23:21.29 ]
- >>236
副作用を起こすことを目的とした関数の場合には、 結局メンバ変数を参照渡しするか何かして副作用をおこすんだろ? そんなに変わるとは思えないな。
- 239 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:25:37.88 ]
- 戻り値で受け取ったほうがはっきりするでしょ
this.value = privateMethod( 100 );
- 240 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:31:11.70 ]
- 操作するのが一つでよければね。
- 241 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:32:16.97 ]
- >>240
戻り値が一つしか返せないから不便というのであれば タプルを持つ言語を使えば良い
- 242 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:33:20.27 ]
- >>241
言語を選ぶ自由があるなら>>206でFAじゃね
- 243 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:34:54.43 ]
- before:
for( point = 0; 100 > point; ++point ) Function(); after: for( point = 0; 100 > point; ++point ) point = Function( point ); 多少明示的にするだけでかなり違うね。
- 244 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:35:04.92 ]
- >>242
参照で返してもいいよ
- 245 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:38:10.17 ]
- >>243
ループ中にループ変数に代入する(かつ下位関数で書き変える?) っていうコーディングスタイルがそもそもありえない。
- 246 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:39:25.25 ]
- 別にこんなものは絶対こうしなくちゃていうものじゃなくて
方便で使い分ければ良いんだけど 意識してるかどうかは別の話だからな
- 247 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:39:34.35 ]
- >>245
forの例は極端だろうけどwhileとか ループ中で副作用が発生すんのはよくあるよ
- 248 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:41:41.00 ]
- whileはループじゃねーよ
- 249 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:42:47.37 ]
- whileがループじゃなかったら何なんだw
- 250 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:54:05.04 ]
- >>245
「ループ変数」てのがすでにおかしい。 それはただの変数だ。
- 251 名前:仕様書無しさん mailto:sage [2012/04/11(水) 23:58:36.37 ]
- >>240
戻り値がオブジェクト一個で済まないなら それこそ別クラスにすりゃよくね クラス内部でprivateメソッドにするような 内容じゃないでしょ
- 252 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:04:11.70 ]
- おまいらスタイルの話じゃないですよ、と。
- 253 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:08:32.12 ]
- 問題の本質はあるクラスメソッドにおいて
メンバ変数にアクセスしてるのかグローバル変数にアクセスしてるのか ぱっと見区別が付かないということだったはず。 thisを強制すれば済む話だけど、 社内の統制がクソでコーディングスタイルが統一できないのであれば 何を提案しようが無駄な気もする。
- 254 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:11:39.58 ]
- >>250
ただの変数pointで > for( point = 0; 100 > point; ++point ) point = Function( point ); こんなコード書いてきたら何も言わずに書き直すわ。
- 255 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:12:07.49 ]
- グローバル変数と問題が同じというだけで
もとからメンバー変数とグローバル変数が紛らわしいという話じゃないよ
- 256 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:12:21.59 ]
- >>253
問題の本質は 引数と戻り値を使わず、メンバ変数を直接いじるプログラムを書くことによって 思わぬ副作用に見舞われることがあるってことだよ。
- 257 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:13:27.56 ]
- >>254
わざわざ問題を単純化して話をしやすくしているのに 話をすり替えるな
- 258 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:15:04.57 ]
- >>254
それを書き直すのは構わんが こういうケースだって問題はかわらんのよ while( 100 > point ) { FunctionA(); FunctionB(); FunctionC(); } while( 100 > point ) { FunctionA(); point = FunctionB( point ); FunctionC(); }
- 259 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:16:14.07 ]
- >>253
それこそスレ的には 「アプリケーションハンガリアン使え」 で済む話じゃね?
- 260 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:19:35.71 ]
- ハンガリアンは、型を表すプリフィックスであって
スコープを表すプリフィックスはハンガリアンではありません。 プリフィックスが付けばなんでもハンガリアンだと思うバカが多くて困る。 ぶっちゃけ、::や->や.を記号ではなく文字として捉えれば、 nantoka::fooとかの nantoka::もプリフィックスだってーの。
- 261 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:20:05.29 ]
- >>259
システムハンガリアンじゃね? アプリケーションハンガリアンってと pxSize ptSize emSizeみたいな単位とか 変数の型(とスコープ)じゃなく中身の情報含ませるものだから
- 262 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:20:46.53 ]
- >>260-261
- 263 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:24:14.52 ]
- 話を戻そう。
プリフィクスを付けたところで ある関数で、メンバー変数やグローバル変数が 書き換えられている事は解らないので意味がない。
- 264 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:28:07.06 ]
- 全部const関数にしましょってか
- 265 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:28:19.01 ]
- >>258
どうも、例にあげてるコード自体が何となく臭いんだけど。。 メンバ変数pointが100未満の場合ループするよっていう 仕様なら(=pointがそれだけ重要な意味を持ってるなら)、 前者でいいと思う。
- 266 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:29:10.29 ]
- >>260
恥ずかしいな
- 267 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:29:42.46 ]
- >>265
マジで?
- 268 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:32:31.44 ]
- >>265
問題は直すとき。今後者のループを見ればpointを 書き換えてる関数は一発で解るけど 前者だと3個とも疑わしい 実際の具体的な名前の関数ならすぐ解ると思うかもしれないけど 具体的な名前の関数でも分かりづらい事が多い
- 269 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:35:21.54 ]
- while( 100 > point )
{ this.proc.FunctionA(&point); this.proc.FunctionB(&point); this.proc.FunctionC(&point); } もうこれでいいよ。
- 270 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:36:24.40 ]
- >>269
渡さなくても良い関数には無理して渡さなくても良いんだよ
- 271 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:36:45.59 ]
- >>267
別スレッドでpointを書き換える関数(publicかもしれない)が 呼ばれたときのこととか考えるとね。 意味としては、 100 > pointが成り立っている間、 FunctionA(), FunctionB(), FunctionC()を実行しつづけるよ っていうのが重要だとおもうんで。
- 272 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:37:42.86 ]
- >>266
お前がなw
- 273 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:39:17.57 ]
- >>271
そんな例外(プログラム的な意味ではなく)を考えたところで意味が無いでしょ。 例外は例外らしく処理を切り分けるべき。 ここでは変数pointがどの関数によって影響を受けるか 明示されていることが大事なんだ。
- 274 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:43:07.32 ]
- >>273
後者の書き方でも、結局は明示されてないということ。 むしろ、 point = FunctionB( point ); だけをチェックすればいいんだと間違えるかもしれない。
- 275 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:43:13.34 ]
- >>271
どうしても無理っていうなら別だけど できる状況なら分かりやすくしとけばいいでしょ
- 276 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:43:17.04 ]
- >>258の流れから
while( 100 > point ) { this.proc.FunctionA(); this.proc.FunctionB(&point); this.proc.FunctionC(); } これで文句あるまい。
- 277 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:43:52.25 ]
- >>274
だけをチェックすればいいようにするんだよ。
- 278 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:48:40.72 ]
- logsoku.com/thread/hibari.2ch.net/tech/1308106024/941-
logsoku.com/thread/hibari.2ch.net/tech/1308106024/956 パラダイム未修得のトーシロらしいぞお前ら
- 279 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:51:55.39 ]
- オブジェクト指向はインターフェースの外の話しだし
パラダイムがどうのとかどうでもいいよ 飽くまで構造化と実用的な保守スタイルの話しだし
- 280 名前:仕様書無しさん mailto:sage [2012/04/12(木) 00:56:18.33 ]
- >>278
同じような話だけど、バカが水差して終わってるだけじゃん
- 281 名前:仕様書無しさん mailto:sage [2012/04/12(木) 07:00:21.99 ]
- 何か随分と伸びてると思ったら、ゆうべはおたのしみでしたね。
メンバ変数の書き換えについては、小規模なら良い様な気もするけども、 ループカウンタを途中でいじられるのはイラッつとするな。 This必須とか制限を増やしてコーディングの自由度を下げて 誰が書いても似たコードになるようにするのが今の言語の流れかね。
- 282 名前:仕様書無しさん mailto:sage [2012/04/12(木) 12:03:48.69 ]
- >>243
実際に動かしてから死ねよって思うかソース見た瞬間に死ねよって思うかぐらいの違いしかないが この違いのおかげでおおごとにならずに済むこともまあまあある
- 283 名前:仕様書無しさん mailto:sage [2012/04/12(木) 13:20:34.27 ]
- for( point = 0; 100 > point; ++point ) Function(); // Function()内でpointを更新
- 284 名前:仕様書無しさん mailto:sage [2012/04/12(木) 14:38:32.69 ]
- だからコメントは信用するなと……ぐふっ
- 285 名前:仕様書無しさん mailto:sage [2012/04/12(木) 16:41:17.25 ]
- なんかすげえ伸びててワロタ
- 286 名前:仕様書無しさん mailto:sage [2012/04/12(木) 21:28:30.37 ]
- ここまで読み流した
ループカウンタをメンバ変数にするな
- 287 名前:仕様書無しさん mailto:sage [2012/04/12(木) 21:28:30.63 ]
- >>281
> This必須とか制限を増やしてコーディングの自由度を下げて 逆に言えばさ、thisを書かなくても良くなったら 自由度があがるってことになると思うんだけどさ、 「thisを書かなくてよくなった、俺は自由だ!」って思う奴いるの? つまりね、俺が言いたいのはthis必須と自由度とは全く関係ないよってこと。 × 「コーディングの自由度を下げて 」 ○ 「コーディングの面倒くささを下げて」 君が本当に言いたいことはこうでしょ? で、問題はthis省略で本当に面倒くささが下がったかどうか。 確かに書くときの面倒さはなくなったが、逆に読むときは 正確な意図がすぐには分からず面倒さは増えることになる。 これは、どっちがいいかって話。トレードオフの話でしかない。 なぜ俺が最初に「自由度とは無関係」と言ったのかというと、自由度は 上がるか下がるかしか無い。そうするとトレードオフの話ではないように見えてしまう。 本当は、this必須かどうかってのは、トレードオフの問題なのに、 this省略できたほうが優れてるような印象になってる。
- 288 名前:仕様書無しさん mailto:sage [2012/04/12(木) 21:31:27.37 ]
- 解釈の自由度が下がるやん
- 289 名前:仕様書無しさん mailto:sage [2012/04/12(木) 21:52:32.47 ]
- 解釈の自由度ってなに?
まさか、書いた本人が どう解釈されてもいいように書いた! なんて言うわけないしw
- 290 名前:仕様書無しさん mailto:sage [2012/04/12(木) 21:57:34.84 ]
- > 誰が書いても似たコードになるようにするのが今の言語の流れかね。
これもよくわからんね。 ですます調でかけ!と言われても 似たような小説にはならんだろ? オリジナリティがある小説を書く場合、 そのストーリーでオリジナリティを出すのであって そんな語尾をどうするか程度で、似てる似てないなんて 判断しないだろ。
- 291 名前:205-206 mailto:sage [2012/04/12(木) 22:18:30.30 ]
- ごめん、眠くて>>205-206にいい加減な事書いた。
thisじゃなくてメンバー変数を明示的に引数で渡せば十分だった。 別にthis->
- 292 名前:is a pen mailto:sage [2012/04/12(木) 22:19:05.26 ]
-
- 293 名前:205-206 mailto:sage [2012/04/12(木) 22:21:26.76 ]
- 途中で送信してしまった
別にthis->〜を強制する意味はなかった。 せめてthisでも明示的に渡せば書き換えが 分り易くなると思ったが無駄だった。
- 294 名前:仕様書無しさん mailto:sage [2012/04/12(木) 22:25:38.38 ]
- >>291-293
いや違うって。 引数で渡そうが渡すまいが、 同じクラス内のメソッドだとメンバ変数に自由にアクセスできてしまうから まずは他所へ追いやるのが先だろ。 その追いやる先というのはthis.〜から始まるサブクラスしかあり得ない。 それ以外から始まるクラスはぱっと見でスコープわからんだろ。
- 295 名前:仕様書無しさん mailto:sage [2012/04/12(木) 22:27:43.50 ]
- >>294
既にさんざん出てるけどstatic関数なら制限できるよ
- 296 名前:仕様書無しさん mailto:sage [2012/04/12(木) 22:34:18.14 ]
- >>295
でもそれがstaticかどうかってぱっと見わからないよね。 staticじゃなくてもコンパイル通るよね。
- 297 名前:仕様書無しさん mailto:sage [2012/04/12(木) 22:40:31.22 ]
- >>296
通るだけならグローバル変数だってコンパイル通るじゃん じゃなくて、ルールでそう規制するんでしょ レビューとかでさ
- 298 名前:仕様書無しさん mailto:sage [2012/04/12(木) 22:47:24.21 ]
- >>296
簡単な文を一行書くだけで簡単にグローバル変数は使える。 でも現実には、みんな引数渡しを使う。 組織内でダメという風潮を作れるかどうかよ。
- 299 名前:仕様書無しさん mailto:sage [2012/04/12(木) 23:24:28.33 ]
- >>282
バグに限った話じゃないけどな 改修しやすさも大きく変わる 5個関数がならんでて、5個の関数の中身調べなきゃ 改修する変数の影響が解からん場合と、 2個関数調べれば変数の動作を完全に把握できる場合とじゃ 作業に掛ける時間が大きく異なる
- 300 名前:仕様書無しさん mailto:sage [2012/04/12(木) 23:26:48.40 ]
- 実装の安易さと、保守と、バグ発生の回避を同時に満たすコーディングか。
- 301 名前:仕様書無しさん mailto:sage [2012/04/12(木) 23:45:09.36 ]
- スマポにするとコンストラクタでthis使えないからな
どんどんソースが汚くなる
- 302 名前:仕様書無しさん mailto:sage [2012/04/12(木) 23:46:30.95 ]
- 1段メンバー呼び出してるだけでも面倒だが、
メンバー呼び出し階層が2段でその先で 書き換えられてるとか相当辛いよな そもそも階層増えるなら自分のクラスじゃなく 他のクラスメンバー呼べって話だろうけど
- 303 名前:仕様書無しさん mailto:sage [2012/04/12(木) 23:51:13.90 ]
- if(null == hoge)
C言語屋の年寄りってこう書くよね 最高にウザいんだけど
- 304 名前:仕様書無しさん mailto:sage [2012/04/12(木) 23:52:57.20 ]
- >>303
お前の周りだけ。 類は友を呼ぶ
- 305 名前:仕様書無しさん mailto:sage [2012/04/13(金) 00:11:15.56 ]
- C言語ならなおさら書かないんじゃないか?
文字列を==で比較する感覚に似ている
- 306 名前:仕様書無しさん mailto:sage [2012/04/13(金) 00:51:18.01 ]
- >>303
一生懸命アラ探ししてやっと見つけたのがそんなどうでもいいことなのなら その先輩は結構デキる奴だな もしくはお前がダメすぎて他のアラが見えないか
- 307 名前:仕様書無しさん mailto:sage [2012/04/13(金) 01:08:09.16 ]
- 1年目の新参ですがこのスレは勉強になります
- 308 名前:仕様書無しさん mailto:sage [2012/04/13(金) 01:20:16.77 ]
- 1年目の新参だからこのスレは勉強になります
- 309 名前:仕様書無しさん mailto:sage [2012/04/13(金) 06:15:22.90 ]
- >>303
定数を先に書くのはC初心者の象徴だろう。
- 310 名前:仕様書無しさん mailto:sage [2012/04/13(金) 06:41:06.79 ]
- >>309
俺も定数先に書くわ 何か問題あんの?
- 311 名前:仕様書無しさん mailto:sage [2012/04/13(金) 06:52:14.05 ]
- 「定数を先に書いておくと、
比較と代入を間違えて記述したときエラーになるので 間違いを見つけ易い」 という理由でそういう記述の仕方をする人は散見するけども、 それは 「私は比較と代入を間違える可能性があります」 と宣言してるようなもんで、他の部分もちょっと信用ならないよねーという ただの経験則。
- 312 名前:仕様書無しさん mailto:sage [2012/04/13(金) 07:07:50.84 ]
- ==は「〜が一致する」的な読み方だから「1とaが一致」より「aと1が一致」がaの中身を調べてるって文章になり読みやすい…気がするから変数先だな完全に個人的な理由だが
- 313 名前:仕様書無しさん mailto:sage [2012/04/13(金) 07:14:55.68 ]
- >>311
0 > ExampleFunction( ・・・, ・・・, ・・・, ・・・, ・・・ ) 定数左に書けば条件見やすいけど ExampleFunction( ・・・, ・・・, ・・・, ・・・, ・・・ ) < 0 定数右に書くと条件が右端に行くんで見づらい
- 314 名前:仕様書無しさん mailto:sage [2012/04/13(金) 07:39:34.94 ]
- >>313
下のが見やすいんだが
- 315 名前:仕様書無しさん mailto:sage [2012/04/13(金) 08:45:33.13 ]
- >>313
変数使えばいいやん。 条件式に直接使うぐらいなら、ほとんどの場合はExampleFunctionは意味のある名前の「はず」だから 文脈そのまま読める方が読みやすいと思うが・・・まぁ慣れれば慣れるんだろうな。
|

|