今井氏:ソースコード公開は、社長のティム(*2)の意向です。彼はバリバリのプログラマーで、初期の「Unreal Engine 1」を
1人で書いた人ですが、若い時に雑誌に載っていたコードを書き写して勉強したそうです。それで今の若い人にも、プロのソー
コードとはこういうものだというのを見せたいという願いがあって、ソースコードを公開しています。本当に今のゲーム業界の
事情を憂いてる1人だと思います。(*2)Epic Gamesの創業者兼CEOであるTim Sweeney氏
出村氏:読みやすいコードですよ。「C++」というのは、黒魔術(高度な計算)が多くなりがちな言語ですが、
そういうこともなく、すっきりしていて目的の機能も探しやすい。解読しやすいコードなので、確かにお手本になると思います。
僕は初代のゲームボーイからプレイステーション 2の頃くらいまでゲームプログラマーだったのですが、ゲームプログラミングでは
必ず数学が出てきます。行列とか三角関数とか。もちろん今でもまったく不要になったわけではありませんが、そういう知識の
重要性は薄れてきていると思います。「Unreal Engine」では特にそうです。
http://game.watch.impress.co.jp/docs/interview/20150417_698349.html
初級者から中級者へ昇格する時期は、ほぼどのようなソースコードでも読める程度にプログラミング言語に精通し、
また偉いプログラマーの提唱したデザインパターンも一通り理解したくらいの時期である。
すると、プログラミング言語の持つあらゆる機能と、偉いプログラマーの提唱するあらゆる技術を使わねばならない
という思い込みが発生する。そしてHello Worldにまで崇高なオブジェクト指向や壮大なデザインパターンを
適用しようとしだすのである。
その結果、
* 大量のクラス
* 迷路のような変数渡し
* 底なしに深いネスト
などといった凄いものが生まれる。また、条件分岐に三項演算子を乱用するなどの症状も多く見受けられる。
最終的には第三者にとって読みにくい保守性の悪いスパゲッティコードが生成されることになる。
http://monobook.org/wiki/%E4%B8%AD%E7%B4%9A%E8%80%85%E7%97%85
今までみた絶望的なソースコード [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2015/04/17(金) 23:00:30.63ID:55USvuES253デフォルトの名無しさん
2015/07/26(日) 20:26:36.68ID:k1EUM6QH なんでJQueryの実装をそんなにマンセーしたいのか理解できない。
ライブラリなんて小規模で作るもんだから、読みやすさという基準は自分の主観で決めるもんだし。
後付けの解釈を止めろよ。
ライブラリなんて小規模で作るもんだから、読みやすさという基準は自分の主観で決めるもんだし。
後付けの解釈を止めろよ。
254デフォルトの名無しさん
2015/07/26(日) 20:59:57.20ID:7EBqSyeY 逆でしょ?
読みやすさという基準は自分の主観で決めるもんなのに
jQueryの実装をそんなに馬鹿にしたいのか理解できない。
読みやすさという基準は自分の主観で決めるもんなのに
jQueryの実装をそんなに馬鹿にしたいのか理解できない。
255デフォルトの名無しさん
2015/07/26(日) 21:26:25.41ID:p/433SX/256デフォルトの名無しさん
2015/07/26(日) 21:31:57.10ID:p/433SX/ ああ、意味がわかった
関数スコープで使用していた上に、ブロック内でも使用した場合か
それならバグになる可能性あるな
関数スコープで使用していた上に、ブロック内でも使用した場合か
それならバグになる可能性あるな
257デフォルトの名無しさん
2015/07/29(水) 01:58:34.13ID:CRqVMe5R やっぱVBの配列(0)で1要素あるってバグの元だろ
引継いだコード前任者が全員間違えたまま使ってて戦慄した
引継いだコード前任者が全員間違えたまま使ってて戦慄した
258デフォルトの名無しさん
2015/07/29(水) 09:27:40.97ID:7C0TLIvw まあ、多い分にはいいんじゃないの?
行番号付きだった頃から配列は1要素を予備とすることが多かったからねー。
C とかから入ると気になるだろうけど。
自分も今は気になるけどw
行番号付きだった頃から配列は1要素を予備とすることが多かったからねー。
C とかから入ると気になるだろうけど。
自分も今は気になるけどw
259デフォルトの名無しさん
2015/07/30(木) 11:48:36.63ID:kCCSv6BW DBに予備項目を作って空を保つのならわかるけど
配列の予備って意味若ランナー
配列の予備って意味若ランナー
260デフォルトの名無しさん
2015/07/30(木) 21:27:47.71ID:kTMnRdAz 配列変数を空の状態またはその逆にするのが面倒なので0番目は使わずに取っておく
261デフォルトの名無しさん
2015/07/31(金) 16:17:53.20ID:Dkg4afbG 動的配列の扱いが内蔵とVariantに代入する配列(Variant配列ではなく)で挙動が違うから
Variantで統一するとvbsと扱い同じにできて捗る
Variantで統一するとvbsと扱い同じにできて捗る
262デフォルトの名無しさん
2015/07/31(金) 21:11:17.11ID:D+nD3a7O 絶望的なプログラマたち
263デフォルトの名無しさん
2015/07/31(金) 21:48:20.19ID:17HtGFaS main(){
int* p=1;
...
int* p=1;
...
264デフォルトの名無しさん
2015/08/01(土) 14:23:13.10ID:aojbSuUF *(int*)0=0;
265デフォルトの名無しさん
2015/08/01(土) 14:44:38.33ID:zTfC3ItF printf("AとBの積は593です");
もうアホかとなんのためのCなんだか
もうアホかとなんのためのCなんだか
267デフォルトの名無しさん
2015/08/01(土) 21:31:08.62ID:cZ9y3hcR そうすっうすね。
268デフォルトの名無しさん
2015/08/01(土) 21:39:39.36ID:5DNs6h6K 1*593
269デフォルトの名無しさん
2015/08/01(土) 22:19:25.72ID:zTfC3ItF >>266
掛け算作ってみろって言ったらこれが出てきた
掛け算作ってみろって言ったらこれが出てきた
270デフォルトの名無しさん
2015/08/02(日) 00:25:01.79ID:2p0cp8/y271デフォルトの名無しさん
2015/08/02(日) 01:45:42.48ID:MF9TQU9s 掛け算作ってみろってのもおかしな物言いだな
そんなコミュ力だからおかしな物が出てくる
そんなコミュ力だからおかしな物が出てくる
272デフォルトの名無しさん
2015/08/02(日) 02:10:40.49ID:u7Ju2wRn273デフォルトの名無しさん
2015/08/02(日) 07:33:48.36ID:AHQOj1TU >>269
模範解答じゃん
模範解答じゃん
274デフォルトの名無しさん
2015/08/02(日) 17:23:58.64ID:MF9TQU9s 絶望って程でもない
275デフォルトの名無しさん
2015/08/02(日) 18:37:05.66ID:sH3CMGQ2 無駄な計算してないとか優秀賞だな
276デフォルトの名無しさん
2015/08/31(月) 12:38:09.95ID:B5sJg2ZW277デフォルトの名無しさん
2015/08/31(月) 13:10:34.00ID:KuTL4jkJ >>276
変数は使用する直前で初期化して使うべきだから
初期化と宣言が別だと必ず未初期化で使うバグが出る
また関数が長く分岐が多くなると初期化されてるか判断が難しくなる
変数のスコープは小さければ小さいほどいい
関数先頭に宣言するのは昔のC言語の制約だったと記憶してるが今は上記理由からやめるべき
変数は使用する直前で初期化して使うべきだから
初期化と宣言が別だと必ず未初期化で使うバグが出る
また関数が長く分岐が多くなると初期化されてるか判断が難しくなる
変数のスコープは小さければ小さいほどいい
関数先頭に宣言するのは昔のC言語の制約だったと記憶してるが今は上記理由からやめるべき
278デフォルトの名無しさん
2015/08/31(月) 15:56:13.40ID:UXpAKMEr >>277
なるほどサンクス
なるほどサンクス
279デフォルトの名無しさん
2015/09/01(火) 20:57:53.90ID:D3JacxmQ >>277
どこの説?
どこの説?
280デフォルトの名無しさん
2015/09/12(土) 03:17:33.09ID:k25bT+vJ for ループから条件でgotoでforの外に飛んで帰ってもこないプログラム
281デフォルトの名無しさん
2015/09/12(土) 04:01:54.66ID:XAqQ9sMD それ普通ですが
breakがまさにそういう動作だし、breakはgotoの一種と言われているわけだが
二重のforを一気に抜けるのにgoto使うとか普通のテクニック
return出来るならそっちのがいいけど
むしろforからgotoで抜けてまたgotoで戻ってくる方が恐ろしいが
そういうサブルーチン的な動作にgoto使われるとかなり鬱陶しいし
それでgotoが禁止されたわけだが
breakがまさにそういう動作だし、breakはgotoの一種と言われているわけだが
二重のforを一気に抜けるのにgoto使うとか普通のテクニック
return出来るならそっちのがいいけど
むしろforからgotoで抜けてまたgotoで戻ってくる方が恐ろしいが
そういうサブルーチン的な動作にgoto使われるとかなり鬱陶しいし
それでgotoが禁止されたわけだが
282デフォルトの名無しさん
2015/09/12(土) 08:00:00.87ID:TErXHjBS for使ってるの?甘いね
プロは全部gotoしか使わないよ
プロは全部gotoしか使わないよ
283デフォルトの名無しさん
2015/09/12(土) 09:09:13.39ID:lTmP7o65 柔軟に環境に合わせられるのがプロ
284デフォルトの名無しさん
2015/09/12(土) 09:59:18.43ID:o99yCw3m 真のプロには、製品の方が合わせてくる。
企画原案に意見を求められるし、監修を頼まれる。
企画原案に意見を求められるし、監修を頼まれる。
285デフォルトの名無しさん
2015/09/12(土) 10:01:01.89ID:/tgR015i286デフォルトの名無しさん
2015/09/12(土) 10:11:11.52ID:o99yCw3m >>285
その問題については既に解いてあるんだが、2chは数式を張り付けられないからなあ。
その問題については既に解いてあるんだが、2chは数式を張り付けられないからなあ。
287デフォルトの名無しさん
2015/09/12(土) 10:11:50.87ID:/tgR015i >>286
つまり解いてないってことかw
つまり解いてないってことかw
288デフォルトの名無しさん
2015/09/12(土) 10:56:04.07ID:8SKz5ytR289デフォルトの名無しさん
2015/09/12(土) 11:30:03.64ID:LQnjc3KY 一休「虎が屏風から出てくれば捕まえられるのにな〜ああ〜残念だなあ〜」
将軍「出したよ」
って状況?
将軍「出したよ」
って状況?
290デフォルトの名無しさん
2015/09/12(土) 11:38:50.74ID:Xol1TNVu >>285
達人ともなれば、むしろタンスが小指に恐れをなし、というアレだよ。
達人ともなれば、むしろタンスが小指に恐れをなし、というアレだよ。
291デフォルトの名無しさん
2015/09/12(土) 12:07:10.77ID:1pxDFhfx >>286
zipでくれ
zipでくれ
292デフォルトの名無しさん
2015/09/12(土) 18:16:31.99ID:8SKz5ytR293デフォルトの名無しさん
2015/09/12(土) 22:51:55.44ID:QkMrh2wn 971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0
自称スーパープログラマー某
強烈加齢臭
メール見ない メール無視
ドキュメント見ない ドキュメント無視
説明聞かない 説明無視
話聞かない 話無視
ガム→むっちゃー むっちゃー むっちゃー むっちゃー
煎餅→バリバリバリバリバリバリ
菓子パン→モグモグモグモグモグモグモグモグモグモグ
カップアイス→むっちゃー むっちゃー ペロペロペロペロ
フロアすべてに響き渡る ばかでかいくしゃみ 当然手でおさえない
半径10mで耳鳴り、ひどいと頭痛誘発
異音と異振動
ドスーン!ドスーン!ドカーン!ドカーン!
バコーン!バコーン!ズドン! ズドン!
机が近いとマウスポインターが飛ぶ
誤操作誘発
書類だしたりしまうだけでドカンドカン
口と鼻から異音
ふんっっ
ふんっーーーーー
マジでうっとおしい30秒ごと
備品破壊 貸与P C 破壊 他人のもの破壊
奴の作ったスクリプトとプログラムは使えない
バグりすぎ
自称スーパープログラマー某
強烈加齢臭
メール見ない メール無視
ドキュメント見ない ドキュメント無視
説明聞かない 説明無視
話聞かない 話無視
ガム→むっちゃー むっちゃー むっちゃー むっちゃー
煎餅→バリバリバリバリバリバリ
菓子パン→モグモグモグモグモグモグモグモグモグモグ
カップアイス→むっちゃー むっちゃー ペロペロペロペロ
フロアすべてに響き渡る ばかでかいくしゃみ 当然手でおさえない
半径10mで耳鳴り、ひどいと頭痛誘発
異音と異振動
ドスーン!ドスーン!ドカーン!ドカーン!
バコーン!バコーン!ズドン! ズドン!
机が近いとマウスポインターが飛ぶ
誤操作誘発
書類だしたりしまうだけでドカンドカン
口と鼻から異音
ふんっっ
ふんっーーーーー
マジでうっとおしい30秒ごと
備品破壊 貸与P C 破壊 他人のもの破壊
奴の作ったスクリプトとプログラムは使えない
バグりすぎ
294デフォルトの名無しさん
2015/09/13(日) 00:10:23.04ID:xBi8Z0XU ストレス貯まるなそれは
295デフォルトの名無しさん
2015/10/16(金) 11:13:43.44ID:MgVZXFFO 結論:そんな奴はいない
296デフォルトの名無しさん
2015/10/17(土) 10:29:18.04ID:y7npm2M7 コメントが一切なくて、ものすこく複雑な処理をやっている。
297デフォルトの名無しさん
2015/10/18(日) 01:32:01.64ID:dIyeGV/1 ものすごく」の程度は人によるからなあ
複雑そうに見えてイディオム使ってるだけのもあるし
自動生成された物を見て複雑だなあって思ってる場合もあるし
複雑そうに見えてイディオム使ってるだけのもあるし
自動生成された物を見て複雑だなあって思ってる場合もあるし
298デフォルトの名無しさん
2015/10/18(日) 08:42:48.35ID:hNO3eRm0 他人のコード見てコメント無いだの少ないだの騒ぐ奴
本人はクソポエムみたいなコメント書く上にコメントの整備はしないし何がしたいのやら
本人はクソポエムみたいなコメント書く上にコメントの整備はしないし何がしたいのやら
299デフォルトの名無しさん
2015/10/18(日) 22:58:23.93ID:1iLNdMOK >>298
お前の環境にはそんな奴しか居ないってだけ。
お前の環境にはそんな奴しか居ないってだけ。
300デフォルトの名無しさん
2015/10/19(月) 03:05:21.12ID:KzhVhXFy 更新履歴すら書くの忘れる
面倒というレベルじゃなく、忘れる
面倒というレベルじゃなく、忘れる
301デフォルトの名無しさん
2015/10/19(月) 12:29:11.07ID:rwl2uo8/ ああー俺もコメントポエム書きてえぇーーー
本当はポエマーなんだよな俺
俺だってソースにポエム埋め込みてーんだよ!
本当はポエマーなんだよな俺
俺だってソースにポエム埋め込みてーんだよ!
302デフォルトの名無しさん
2015/10/19(月) 13:51:30.68ID:taFAn/tB >>300
最近思うが、更新履歴、コメントはいらないと思う。
その代わりバージョン管理だけは、キッチリ機械的にやって欲しい。
更新履歴は忘れる奴が必ずいるから、更新履歴で探すと見つからずにハマる。
コメントもプログラマの現状の理解と感情で書いてあるので、変な先入観で見てしまいハマる時がある。
自分で書いていても、10年位経つと何書いているか解らない。
また、自分の名前が書いてあると、忘れた頃に質問が来る。
更新履歴、コメントは百害あって一利無しだと思う。
最近思うが、更新履歴、コメントはいらないと思う。
その代わりバージョン管理だけは、キッチリ機械的にやって欲しい。
更新履歴は忘れる奴が必ずいるから、更新履歴で探すと見つからずにハマる。
コメントもプログラマの現状の理解と感情で書いてあるので、変な先入観で見てしまいハマる時がある。
自分で書いていても、10年位経つと何書いているか解らない。
また、自分の名前が書いてあると、忘れた頃に質問が来る。
更新履歴、コメントは百害あって一利無しだと思う。
303デフォルトの名無しさん
2015/10/20(火) 10:03:44.13ID:ty6VD2oQ >>298
うちにも居るわ、コメント赤ペン先生
うちにも居るわ、コメント赤ペン先生
304デフォルトの名無しさん
2015/10/20(火) 15:31:58.74ID:mXSv7y9K >>302
コメントの付け方が下手なだけだろ
コメントの付け方が下手なだけだろ
305デフォルトの名無しさん
2015/10/20(火) 21:25:15.03ID:4r71MZXj /*
此処に入って来たらマジやばい。
誰も周りは助けてくれないし。
あのリーダの下は、本当に最悪。
もう、2度と一緒に仕事をしたく無い。
*/
当時、こんなコメントを読んで大変なやぁ…って思った。
此処に入って来たらマジやばい。
誰も周りは助けてくれないし。
あのリーダの下は、本当に最悪。
もう、2度と一緒に仕事をしたく無い。
*/
当時、こんなコメントを読んで大変なやぁ…って思った。
306デフォルトの名無しさん
2015/10/21(水) 01:07:37.37ID:sxvP468z /*
そのリーダーなわけだが。 ↑そりゃないだろー
引継ぎも満足にできねーで去りやがって
自身の無能を知ってゆっくり野垂れ死んでね
*/
みたいなしょーもない愚痴コメントって実際少ないよね
そのリーダーなわけだが。 ↑そりゃないだろー
引継ぎも満足にできねーで去りやがって
自身の無能を知ってゆっくり野垂れ死んでね
*/
みたいなしょーもない愚痴コメントって実際少ないよね
307デフォルトの名無しさん
2015/10/21(水) 01:09:50.98ID:VfFXTbSK だってそんなコメント無駄だし、むしろコメントの質を下げる要因にしかならないじゃん
308デフォルトの名無しさん
2015/10/21(水) 10:26:45.72ID:ayvh7TPn こういうコードが入る時点で、
コードレビューも行われていないような
ところだろうなってわかるねw
コードレビューも行われていないような
ところだろうなってわかるねw
309デフォルトの名無しさん
2015/10/21(水) 10:33:35.51ID:t8SS3rgX コードレビューに夢見過ぎ…
310デフォルトの名無しさん
2015/10/21(水) 12:47:50.82ID:ayvh7TPn 夢じゃなくて品質を上げるのは
コードレビューしかないよ。
人によって生産性が100倍違うのも当たり前なのは
コードが違うからなんだし。
コードレビューしかないよ。
人によって生産性が100倍違うのも当たり前なのは
コードが違うからなんだし。
311デフォルトの名無しさん
2015/10/21(水) 13:05:30.14ID:t8SS3rgX コードレビューで品質が上がる…
ますます、夢見る夢子ちゃん確定の発言だな…
ますます、夢見る夢子ちゃん確定の発言だな…
312デフォルトの名無しさん
2015/10/21(水) 13:08:00.35ID:FpYnt2Cv 質を上げるんじゃない
質の低いコードの混入を防ぐんだ
質の低いコードの混入を防ぐんだ
313デフォルトの名無しさん
2015/10/21(水) 13:20:09.67ID:t8SS3rgX 質の低いコード混入するのは室の低いマしか雇えないブラックだからだよ…
314デフォルトの名無しさん
2015/10/21(水) 13:21:26.33ID:ayvh7TPn315デフォルトの名無しさん
2015/10/21(水) 13:22:22.09ID:ayvh7TPn316デフォルトの名無しさん
2015/10/21(水) 13:24:43.24ID:ayvh7TPn コードレビューするのはどの業界でも当たり前の話なんだけどね。
新聞社でも新人が書いた記事をそのまま出すわけ無い。
新聞社でも新人が書いた記事をそのまま出すわけ無い。
317デフォルトの名無しさん
2015/10/21(水) 13:36:50.19ID:t8SS3rgX いや、そんなに必死になって連投して否定しなきゃならないようなことじゃないから…
コードレビューは、より良いコードを生み出す為でなく、室の悪いマのリカバリをする
だけだって、言ってるだけだよ…
コードレビューは、より良いコードを生み出す為でなく、室の悪いマのリカバリをする
だけだって、言ってるだけだよ…
318デフォルトの名無しさん
2015/10/21(水) 14:11:29.69ID:ayvh7TPn 質が悪いのを直せば、質が良くなるのは当たり前ですね。
あんたコードレビューして、あんたが直してるの?
質の悪いプログラマは成長しないの?
あんたコードレビューして、あんたが直してるの?
質の悪いプログラマは成長しないの?
319デフォルトの名無しさん
2015/10/21(水) 14:23:16.59ID:t8SS3rgX だ・か・ら、質が良くなるんじゃなく、悪い質じゃなくなる=極普通、になるだけだよ…
未成熟なマなら成長したりするかもしれないけど、まあ、質の悪いマは多分成長
できなかったから、質の悪いマになったんであって、それが成長するというのは
見通し的に暗いと思うよ…
未成熟なマなら成長したりするかもしれないけど、まあ、質の悪いマは多分成長
できなかったから、質の悪いマになったんであって、それが成長するというのは
見通し的に暗いと思うよ…
320デフォルトの名無しさん
2015/10/21(水) 14:31:53.30ID:ayvh7TPn えとなぁ、どんな優れた奴でも普通の時代がなかったわけじゃないんだよ。
駄目なやつがいきなり優秀になるわけないんだよ。
極普通になって、それから成長すれば良くなるだろ。
駄目なやつがいきなり優秀になるわけないんだよ。
極普通になって、それから成長すれば良くなるだろ。
321デフォルトの名無しさん
2015/10/21(水) 14:32:32.69ID:ayvh7TPn だいたいな、悪いやつがなんでずっと悪いかって言うと、
それが悪いってわかってないからなんだよ。
それを教えるのもコードレビューなわけで。
それが悪いってわかってないからなんだよ。
それを教えるのもコードレビューなわけで。
322デフォルトの名無しさん
2015/10/21(水) 15:01:27.32ID:t8SS3rgX すまんな、あんた俺と違って幸せな環境にいるみたいだから、どこまで行っても平行線だわ…
323デフォルトの名無しさん
2015/10/21(水) 15:36:18.25ID:FAEyKeYo 相手が単に嫌いとか理解できないってコードへの無意味な批判が無くなれば、コードレビューもありだとは思うんだけどな。
俺はテストパターン増やしたくないから、ダメなら途中でreturn false
最後まで到達出来ればreturn trueする関数書くけど、
returnは必ず一つ、って人となかなか言い合いになる。
俺はテストパターン増やしたくないから、ダメなら途中でreturn false
最後まで到達出来ればreturn trueする関数書くけど、
returnは必ず一つ、って人となかなか言い合いになる。
324デフォルトの名無しさん
2015/10/21(水) 16:58:05.40ID:FpYnt2Cv >>323
MISRAで決まってるから仕方あるまい。
俺はその辺resultにNG入れておいて
resultがOKじゃなかったら残りの処理はスルーして最後にreturnで返すようにしてる。
業界によって作法が違うからいろいろあるよな。
MISRAで決まってるから仕方あるまい。
俺はその辺resultにNG入れておいて
resultがOKじゃなかったら残りの処理はスルーして最後にreturnで返すようにしてる。
業界によって作法が違うからいろいろあるよな。
325デフォルトの名無しさん
2015/10/21(水) 18:10:39.28ID:ayvh7TPn326デフォルトの名無しさん
2015/10/21(水) 20:13:39.10ID:djlLkbUb >>323
途中returnだからってパターン減るわけないだろ
途中returnだからってパターン減るわけないだろ
327デフォルトの名無しさん
2015/10/21(水) 20:17:59.29ID:OBk5CbCK 教えて解るのなら誰も苦労していない。
解る人も少数ながら、もちろんいるが。
解る人も少数ながら、もちろんいるが。
328デフォルトの名無しさん
2015/10/21(水) 20:54:58.96ID:ayvh7TPn >>326
早期returnっていうのは、パターンを減らすのが
目的じゃなくて可読性を上げるのが目的。
可読性っていうのは人間にとっての読みやすさだから。
人間が読まないコードであるなら別にどんな書き方でもいいが、
そうじゃないだろう?
早期returnっていうのは、パターンを減らすのが
目的じゃなくて可読性を上げるのが目的。
可読性っていうのは人間にとっての読みやすさだから。
人間が読まないコードであるなら別にどんな書き方でもいいが、
そうじゃないだろう?
329デフォルトの名無しさん
2015/10/21(水) 21:16:36.85ID:djlLkbUb そうじゃないだろう?って俺に言われてもw
330デフォルトの名無しさん
2015/10/21(水) 22:38:13.09ID:/T8JjMZv331デフォルトの名無しさん
2015/10/21(水) 23:31:28.17ID:FpYnt2Cv returnが増えるほど可読性は下がる、という文化もある
332デフォルトの名無しさん
2015/10/22(木) 00:05:08.39ID:85+TyuI7 可読性というか、一見上から下に素直に流れる関数のように見えて実は
文の最後にちょろっとreturnがあるのを見落とす、なんてのはあるね。
文の最後にちょろっとreturnがあるのを見落とす、なんてのはあるね。
333デフォルトの名無しさん
2015/10/22(木) 00:12:05.24ID:T+i/NslY ねーよw
334デフォルトの名無しさん
2015/10/22(木) 00:17:58.38ID:85+TyuI7 いや、俺はあるw
335デフォルトの名無しさん
2015/10/22(木) 00:36:51.97ID:T+i/NslY その理屈だと、そのreturnと同じ位置にi++とかあった場合、
それを見落とすんだろうなw
それを見落とすんだろうなw
336デフォルトの名無しさん
2015/10/22(木) 07:19:28.30ID:cVNIxwjP337デフォルトの名無しさん
2015/10/22(木) 07:45:32.98ID:ItL1bO9f 俺はすぐにreturnしちゃうけど、可読性は上がるよね
I/Fの仕様が変わった場合、戻り値の変更漏れとかたまにあるけど
I/Fの仕様が変わった場合、戻り値の変更漏れとかたまにあるけど
338デフォルトの名無しさん
2015/10/22(木) 07:58:12.26ID:85+TyuI7 >>336
if (...) {
}
// 関数の終わり
だと管理しなきゃならなくて if (...) return; だと書かなくていいの?妙な規則だね。
ひとごとながら、if (...) return 関数(); とか大丈夫なのかと思ってしまった。
if (...) {
}
// 関数の終わり
だと管理しなきゃならなくて if (...) return; だと書かなくていいの?妙な規則だね。
ひとごとながら、if (...) return 関数(); とか大丈夫なのかと思ってしまった。
339デフォルトの名無しさん
2015/10/22(木) 08:03:40.68ID:+hTJzDQ0 MISRA準拠のときに困るからreturnは複数書かないな
340デフォルトの名無しさん
2015/10/22(木) 08:41:43.01ID:RDDiuVvk (関数){
hage
}
と
(関数)
{
hage
}
だとどっちがいいの?
hage
}
と
(関数)
{
hage
}
だとどっちがいいの?
341デフォルトの名無しさん
2015/10/22(木) 08:50:50.09ID:4CKbsFsK コーディングルールにある通りでいい
なければ多数派に合わせるようにコーディングルールを決めてしまえばいい
なければ多数派に合わせるようにコーディングルールを決めてしまえばいい
342デフォルトの名無しさん
2015/10/22(木) 09:17:53.18ID:maFj6EVC >>338
一つならどちらでも書く必要があるよ。
条件1と条件2と条件3がある場合、
if 条件1
処理1
else
不処理フラグ
endif
if !不処理フラグ、条件2
処理2
else
不処理フラグ
endif
if !不処理フラグ、条件3
処理3
endif
なら管理必要。
if 条件1
処理1
if 条件2
処理2
if 条件3
処理3
endif
endif
endif
は、パターンは減るけど可読性悪すぎ。
一つならどちらでも書く必要があるよ。
条件1と条件2と条件3がある場合、
if 条件1
処理1
else
不処理フラグ
endif
if !不処理フラグ、条件2
処理2
else
不処理フラグ
endif
if !不処理フラグ、条件3
処理3
endif
なら管理必要。
if 条件1
処理1
if 条件2
処理2
if 条件3
処理3
endif
endif
endif
は、パターンは減るけど可読性悪すぎ。
343デフォルトの名無しさん
2015/10/22(木) 09:49:22.97ID:HZFkMara344デフォルトの名無しさん
2015/10/22(木) 09:59:20.88ID:T+i/NslY >>342
それ(後半のコード)を早期returnパターンにすると更にわかりやすくなる。
if ! 条件1
return
endif
処理1
if ! 条件2
return
endif
処理2
if ! 条件3
return
endif
処理3
言語によっては、更に短くすることができる。わかりやすさがぜんぜん違うね。
unless 条件1 then return
処理1
unless 条件2 then return
処理2
unless 条件3 then return
処理3
それ(後半のコード)を早期returnパターンにすると更にわかりやすくなる。
if ! 条件1
return
endif
処理1
if ! 条件2
return
endif
処理2
if ! 条件3
return
endif
処理3
言語によっては、更に短くすることができる。わかりやすさがぜんぜん違うね。
unless 条件1 then return
処理1
unless 条件2 then return
処理2
unless 条件3 then return
処理3
345デフォルトの名無しさん
2015/10/22(木) 15:28:35.78ID:UfhH3fQc >>344
そうそう。だから割と俺は早期リターンでネスト深めずに処理出来るものはしたいんだよね。
そうそう。だから割と俺は早期リターンでネスト深めずに処理出来るものはしたいんだよね。
346デフォルトの名無しさん
2015/10/22(木) 22:05:36.79ID:85+TyuI7 >>342
等価なのは後者なんだからやっぱりテストパターンは関係ないでしょ。
あとマトリクスと言ってるけど、もしかして前者の形で書いた場合は処理1を通過せずに
処理2を実行するケースも考慮しないとならないとか?
ツール使わずに手作業でC1カバレッジ管理しなきゃならないプロジェクトなんて
やったことないからよくわからないけど、大変だねw
等価なのは後者なんだからやっぱりテストパターンは関係ないでしょ。
あとマトリクスと言ってるけど、もしかして前者の形で書いた場合は処理1を通過せずに
処理2を実行するケースも考慮しないとならないとか?
ツール使わずに手作業でC1カバレッジ管理しなきゃならないプロジェクトなんて
やったことないからよくわからないけど、大変だねw
347デフォルトの名無しさん
2015/10/22(木) 23:53:09.22ID:+hTJzDQ0 >>344
こっちの方が絶望的なコードに見える
こっちの方が絶望的なコードに見える
348デフォルトの名無しさん
2015/10/23(金) 00:40:43.08ID:zprVcqwH >>347
お前の目が腐ってるのでは?
お前の目が腐ってるのでは?
349デフォルトの名無しさん
2015/10/23(金) 00:41:38.26ID:zprVcqwH 基本的に腐ってる人っていうのは
ルールで決まってるから、そうなんだ。みたいに
ルールのためのルールを愛する。
自分で考える脳を持たない。
ルールで決まってるから、そうなんだ。みたいに
ルールのためのルールを愛する。
自分で考える脳を持たない。
350デフォルトの名無しさん
2015/10/23(金) 01:25:49.95ID:m57abRZG >>346
だから後者はネスト深くて嫌いなの。
当たり前だろ。
通る限り、例え結果がわかりきってようがその分のパターンも書かなきゃならんし、
スタック壊れた時のことも考えにゃならん。
ツールがどうのとかMISRAがどうのいってるお偉方には意味ないの。
机の上で紙でデバッグできなければ意味がない、検算は手計算、の人らだよ。
だから後者はネスト深くて嫌いなの。
当たり前だろ。
通る限り、例え結果がわかりきってようがその分のパターンも書かなきゃならんし、
スタック壊れた時のことも考えにゃならん。
ツールがどうのとかMISRAがどうのいってるお偉方には意味ないの。
机の上で紙でデバッグできなければ意味がない、検算は手計算、の人らだよ。
351デフォルトの名無しさん
2015/10/23(金) 02:16:55.96ID:/EixmTmg こういう派閥争いの結果、複数の形式が混ざった糞コードが生まれるのであった
352デフォルトの名無しさん
2015/10/23(金) 06:14:19.52ID:7M5zkgCU モーゼ<俺は中道を行くぞー!バリバリ ヤメテ!>
353デフォルトの名無しさん
2015/10/23(金) 07:59:46.43ID:80H6ZXcx■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★11 [蚤の市★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- ( ・᷇ὢ・᷆ )朝ごはん食べた?
- 俺の口癖が「へー」「そう」「どうも」なんだが
- 【時事】立憲民主党、30代の支持率が「ゼロ」😨 [369521721]
- うふ~ん♥死にたいわ~ん♥
- 加藤純一です
