今までみた絶望的なソースコード [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2015/04/17(金) 23:00:30.63ID:55USvuES
今井氏:ソースコード公開は、社長のティム(*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
2015/04/17(金) 23:07:42.31ID:UHVCP2Vk
★★★★★★★★★★★★★★★★★★★★★★★★★★
注意 この部分は、ゴミカスが書いたでたらめな文章です。
★★★★★★★★★★★★★★★★★★★★★★★★★★

> 初級者から中級者へ昇格する時期は、ほぼどのようなソースコードでも読める程度にプログラミング言語に精通し、
> また偉いプログラマーの提唱したデザインパターンも一通り理解したくらいの時期である。
>
> すると、プログラミング言語の持つあらゆる機能と、偉いプログラマーの提唱するあらゆる技術を使わねばならない
> という思い込みが発生する。そしてHello Worldにまで崇高なオブジェクト指向や壮大なデザインパターンを
> 適用しようとしだすのである。
>
> その結果、
> * 大量のクラス
> * 迷路のような変数渡し
> * 底なしに深いネスト
> などといった凄いものが生まれる。また、条件分岐に三項演算子を乱用するなどの症状も多く見受けられる。
> 最終的には第三者にとって読みにくい保守性の悪いスパゲッティコードが生成されることになる。
> http://monobook.org/wiki/%E4%B8%AD%E7%B4%9A%E8%80%85%E7%97%85 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
2015/04/17(金) 23:09:53.52ID:UDbFCugu
>>2
知ってる。
見ればわかるw
2015/04/17(金) 23:16:09.05ID:2QruBEl7
最強は迷路のような循環参照だろ
2015/04/17(金) 23:20:08.61ID:eE8aPdvb
言語の構文はわずかに例外が有るにしろ、
コードをシンプルで分かりやすく書くことが出来るように
作られたもので、バージョンが上がると追加される機能っていうのは
それを更に良くするもの。

という当たり前のことから考えると、
問題ない機能を「俺が知らないから」「馬鹿が知らないから」という
理由で禁止する行為は、コードをクソコードに仕上げることになる。

もっと最悪なのが、俺がこれ以上勉強したくないから
他の人も使うの禁止!と言い出すリーダー。
2015/04/17(金) 23:26:55.79ID:ooZObC6M
>>2
かなり事実じゃね?
2015/04/17(金) 23:29:30.64ID:eE8aPdvb
>>6
クソスレたてるな
2015/04/18(土) 00:50:42.52ID:dyiDxr2Z
たしかに見に覚えがあるがプログラム書いてて一番楽しい時期でもある
2015/04/18(土) 11:31:06.97ID:rVGwSU9K
確かに2の通りだな
俺が見た絶望は、15全下の種類を持つフラグ変数が5つある奴だな
相互に挙動が干渉し、中で呼び出しが積まれたあとに突然最初のエントリーポイントを再帰しやがった
10デフォルトの名無しさん
垢版 |
2015/04/19(日) 13:46:48.22ID:ESsvP1kn
1000行を超えるswitchを見たときは痺れた
2015/04/19(日) 14:31:13.67ID:3NsiJz07
#include <stdio.h>
#define BUFFSIZE 7

int main(void)
{
char* buf;
char tmp;

buf = (char*)malloc(BUFFSIZE);

tmp = -126;
*(buf+0) = tmp + 0;
*(buf+1) = tmp + 72;
*(buf+2) = tmp + 0;
*(buf+3) = tmp + 103;
*(buf+4) = tmp + 0;
*(buf+5) = tmp + 89;
*(buf+6) = tmp + 126;

fputs(buf,stdout);

free(buf);

return 0;
}
2015/04/19(日) 14:48:21.22ID:nqxUSETS
>>11
変数宣言先頭に書くな
たかだか7バイトmallocするな
ポインタのインクリメント使え
終端文字抜けてるぞ
2015/04/19(日) 14:54:48.57ID:B0V38sso
>>12
終端ぬけてねーよ
よくみろはハゲ
2015/04/19(日) 14:59:17.52ID:YPSI+AI0
     彡⌒ ミ
     (´・ω・彡⌒ ミ
   彡⌒ ミつ(´・ω・`) ))ハゲで何が悪い!!
(( (´・ω・`) ( つ  )
   ( つ  ヽ  とノ  
    〉 とノ )^(_)
   (__ノ⌒(_)
2015/04/19(日) 14:59:48.34ID:nqxUSETS
>>13
マジだw

あと一個
charは一バイトでもsizeof使え
Unicode対応の時に泣く
出れば指定要素を指定数分だけメモリ確保する方があったはずだからあっちの方が安全
2015/04/19(日) 14:59:48.62ID:yTHXbUfS
>>12
ネタにマジレスするバカ(笑)
ぬるぽ
って書いてるだけじゃん
17デフォルトの名無しさん
垢版 |
2015/04/19(日) 15:01:51.42ID:S//ZaxIU
>>11
ガッ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況