こういう記事が上がって
それへの反応
記事の最初のカッコの省略だけど、世界的に評価されて広く使われてるようなプロジェクトのコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない。(たとえばlinux, apache, postgresql, mysql, chromium, netbeeans, eclipse, llvm, jruby, android)
で「こんなコードを書くヤツは夜道に気をつけろ」「八つ裂き」みたいな大げさな反応してるのって、どういうコードを書いてるかよく分からないような人たち。
どっちもどっちだか、 まともにコード書いた事ないヤツは黙ってろや! って事だよ。
あの なんというか。 >>| if( bool ){ function(); } |<< ってね。 >>| if( bool ) function(); |<< ってかけるんだけど 第3者がデバッグしている時に function();にブレークポイント...
そもそも、フォーマッタを統一すればいいだけの話でなんでいちいちデバッガの話とかに発展してんの? 手で文書をフォーマットするとかそれ以前の話だで。
なんでいちいちデバッガの話とかに発展してんの? デバッガの事を気にしないでコーディングルールの論争をしていたから。 開発する時にデバッガ使わない人もいるけど、使う人もい...
前提がちげー。コードをコミットする前にフォーマッタでフォーマットしてからコミットするの。 そうすりゃ誰がどんなコード書こうが、ちゃんと統一された書式やらインデントやらに...
昔のコードを扱うにしても、プロジェクト開始時に一斉にフォーマットしちまえ。 これは怖いわ。コードが化石ならコンパイラも化石だろ。今の基準でフォーマットしちまったら意味...
どうせそのプロジェクトがマイグレーションの役目も含んでいるなら、最初のうちにレガシーをつぶしちまう方がいいだろ。 テストしてるうちとかに非互換が出てきたときのほうが悲惨...
世界的に評価されて広く使われてるようなプロジェクトのコードを見ると、案外{}が省略されていたりしてそんなことは気にしてない その結果バグは出てるし、やっぱ使わないほうが...
マジレスすると中カッコが増える度にコードの複雑度は増すから、中カッコが少ないコードの方がバグの少ないコード足りうるぞ。
中括弧の数ではなく分岐の数だと思うし 中括弧を省略したifと 省略してないifで複雑度は変わらない。
本当にそう思うか? if(A==条件){ if(B==条件){ 処理(); } } と if(A==条件 && B ==条件) 処理(); なら、圧倒的に後ろの方がバグが少なくなるコードだよな? なにより、見やす...
それなら if( (A==条件) && (B==条件) ) { 処理();} にすればもっと見やすくなるじゃん
割とマジレスすると、ifの中にAND条件入れるってのは、ブレークポイント入らないと困る派にとっては割とありえん話なんだぜ。 if( A==条件 && B==条件 ){ 処理(); } こんな...
条件式のANDの話と中括弧の省略の話って全く関連ないよね? 糞プログラマって関係してないことを関係してるかのように話して、無駄に複雑に見せようとするよね。
if文だけを覚えてる初心者レベルにコードを書かせると、ANDで省略せずにifネスト地獄を書くやつが結構いるってことだよ。 だからこそ、「省略できるカッコは可能な限り省略するように...
全然意味わかんねー。 それがプログラマの論理的思考なの? ANDが無くて無駄にネストしてんならAND教えりゃいいじゃん。中括弧の省略は関係ねーって。
なんでわかんねーんだよ。「中カッコはなるべく入れましょう」って思想だと、ifネストしてても「だってそう教わりましたしおすし」っていう考え方になるから、なかなか洗練されたコ...
なんで上だけネストさしてんだよ。 こうだろ? if(A==条件 && B ==条件) { 処理();} お前糞だな。
AND条件があるってことは、ELSE条件も本質的には存在してるってことなんだよ。 本当の意味で丁寧に描くなら if(A==条件){ if(B==条件){ //AB達成した時の処理 } else{ //Aのみ達...
結論から言うと そのコードは どっちでもいい。 昔は1画面20-25行しか無いVGA環境だったが 今は1画面に100行ぐらい入るから if( a ){ if( b ){ f(); } } if( a && b ){ ...
中括弧は、プログラミングを覚えて1年くらいの段階で絶対に付けるようになって今に至ってる。 ブロック内がシングルステートメントなら無くてもいいんだが、後で処理を追加するの...
せやな。「ネストすんな」を言い続けてたらprivate void()でソースを埋め尽くされたこともあるし、もっと大枠で語らないかんな。
private void()でソースを埋め尽くされた 別にいいだろ、関数名が適切なら。process1、process2とかならアレだけど。
良くねえよ。引数なしのprivate void();って、プログラム的には「まったく意味のない」メソッドであって、処理を纏めてる意味合いしか持たないんだよ。 デバッグしてるときとかに処理が...
処理を纏めて名前付けるのは超重要だろ。 適切に名前付けされてれば、人間にとって読みやすくなるだろ。 まとまった処理を、関数に分離しながら開発していけば、自然に処理も共通化...
引数を与えてないのに内部状態が変わるってのは「どう変わるか」が分からないってことなんだよ… コメント読む、ソース読む。どちらかを強いている(概ね後者)のが激しくクソなん...
関数化されるのが「まとまった処理」で「適切に名前付けされてる」のが前提。 その限りにおいては、できるだけ細かく関数に切り出すべき。 関数名読んで何やってるかわからないのは...
まあでも、Appleとかでさえこんなミス見逃して出しちゃうくらいだから、 括弧くらいつけとけ、って感じにはなるよね。 https://www.imperialviolet.org/2014/02/22/applebug.html