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

レス数が900を超えています。1000を超えると表示できなくなるよ。
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
2017/07/19(水) 09:35:02.32ID:q1yo5LZE
簡単なコマンドラインツールなんかを c で書いてて map 使いたい時なんかはそんな風になるな。
だからって printf を cout で書き直したりはしない
834デフォルトの名無しさん
垢版 |
2017/07/19(水) 11:32:18.81ID:+fK80sDM
cout使いにくすぎる
2017/07/22(土) 02:05:47.41ID:ynJS6V/x
C#ってどんなだったか
結局printfの書式文字列がオーパーツすぎた
836デフォルトの名無しさん
垢版 |
2017/12/16(土) 10:53:17.72ID:gY8Oz9or
江東区立深川図書館特殊

銅和加配

奇声あげて人をボコボコにぶんなぐってもOK お咎めなし
被害者が警察を呼んでくれと何度も言っているのに公務員は無視し続けてた
幼児が歓声上げて走り回る       見ぬふり
小学生が歓声上げて走り回る     見ぬふり
中学生が大声で談笑して走り回る   見ぬふり
高校生が閲覧机で談笑雑談      見ぬふり
公務員による恣意行為
etc

なんのための施設か? →特殊な関係用

翌日、被害者を公務員が脅していた
2018/01/20(土) 14:52:43.07ID:gdCBjjap
俺のなかでは>>806が最狂
2018/02/06(火) 13:41:29.39ID:b4eIkJtx
ファイルローカルか公開へッダかでだいぶ違うが、後者だろうな
2018/02/07(水) 11:16:22.68ID:mhmm9auu
https://github.com/oreilly-japan/deep-learning-from-scratch/blob/master/ch04/gradient_simplenet.py
https://github.com/oreilly-japan/deep-learning-from-scratch/blob/master/common/functions.py
https://github.com/oreilly-japan/deep-learning-from-scratch/blob/master/common/gradient.py
2018/02/14(水) 23:21:09.68ID:Ch48e2Ug
ソースコード自体じゃないんだが、俺が抜けた後にそのプロジェクトの保守になった人の運用方法が……

/source_new
/source_new2
/source_new3
/source_new_rXXXX
/source_new_rXXXY
...

ってディレクトリがいつの間にか、各リビジョン毎に出来てて、中身丸々コピーして書き換えてる

かつ、ソースのコメントには
// リビジョンXXXXでの変更です!
とだけ書いてあり、更に元々は
// 下記の条件を満たす
// 詳細は○○の仕様書を参照
みたいに書いてあったところがことごとく
// リビジョンXXUU以前での変更です!
というコメントに書き換えられて行ってるんだが……

※なお、このプロジェクトはSVNでバージョン管理されている
2018/02/14(水) 23:43:27.72ID:0BZdrCiI
コメントに勢いがあってよろしい
2018/02/16(金) 14:51:35.99ID:dBpGhFbZ
!とか?とかか
2018/02/19(月) 23:12:20.19ID:oh22XJYs
俺が見た中で最凶。C言語。

len = strlen(hoge);
strncpy(piyo, hoge, len);
2018/02/25(日) 15:48:10.58ID:zMzuH2DP
ソースファイルがコメント含めて 12669行
このファイルで
最大のメソドがコメント含めて 1109行
メソド引数が 36個
非スタティックメソドにフィールド値を ref渡し

-->MS純正
2018/02/25(日) 16:45:59.94ID:bfs3ZT86
創業者のコードが汚いって従業員から言われていたからな
2018/03/16(金) 13:22:49.42ID:iQOXhM1r
hello Cで書いといて
847デフォルトの名無しさん
垢版 |
2018/04/16(月) 07:14:25.33ID:mCdEMxnL
【悲報】Fラン大学生「説明会どこも満席やんけ…せや!ソースコード見たろ!」→学歴フィルターの存在がバレる [973639274]
https://leia.5ch.net/test/read.cgi/poverty/1523795256/
2018/04/24(火) 18:20:16.99ID:L4B9HbPY
",".join(tokens)
849デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:46:52.59ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

95649
2018/05/24(木) 10:56:26.89ID:cPlRxlDn
95649
2018/06/17(日) 12:09:14.85ID:eEWfV0tw
Web系だとJavaScriptの広告スクリプトはインデントもなく難読化していてgoto文に似た
身近なクソコードの代表例といえるだろう。

おいらが見た最悪のコードはN88BASICをQuickBASICに書き直したの古い計算コードで、
行番号のN88BASIC構文と構造化(プロシージャ使用)が混載して併記され、プロシージャ
内部からいきなりサブルーチンコールし、すべてリターン値はグローバル変数、コメント無し、
goto文多用、マルチラインetc、行番号を模したラベル等々、などで書かれたソース。
これで難しい多項式計算していた。誰も保守できない年代物。
2018/06/17(日) 13:25:48.64ID:wUKxAbyR
test
2018/06/25(月) 01:09:11.76ID:0fvqZlTl
>>637
その気持ちは非常に理解出来るが、最終的に宗教論争になるから面倒臭い話になる。
854デフォルトの名無しさん
垢版 |
2018/06/25(月) 14:40:31.63ID:tpBtUwyy
>>637
同意
2018/06/25(月) 15:37:18.94ID:Hg3UIOsE
え、
if(kinoko == stick){


}
else{

}
普通こうじゃねえの?2つとも気持ち悪いんだけどw
2018/06/26(火) 08:50:23.13ID:yMm+llWk
宗教戦争なら俺も参加するぞ
if(kinoko == stick) {

} else {

}
2018/06/26(火) 20:56:53.52ID:U8uJnyaI
宗教戦争なら俺も参加するぞ
if(kinoko == stick)
{

}
else
{

}
2018/06/26(火) 21:23:05.10ID:2pQhxa7B
{}だけの行やめろ
2018/06/26(火) 22:50:54.21ID:QkHrlT54
詰めて書くの嫌い
2018/06/29(金) 17:48:57.75ID:zrWbD+LP
function
{
  if () {

  } else {

  }
}

つかどんな言語であれ
その言語を代表するフレームワークとかで
コーディング規約として明示されてるから
それを守ればいいだけ

頭が悪いやつほど俺々ルールを作ろうとする
2018/06/29(金) 19:08:43.50ID:mF6xIVde
プロジェクトによっては整形ツールの設定やlintのルールが決まってたりするからな
862デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:08:32.84ID:gFgZc5FG
X69
2018/07/05(木) 16:33:12.12ID:AeL6VB/V
X69
2018/07/09(月) 22:05:35.39ID:JZ4qv3b5
>>857
その書き方は、ぶら下がりif文が書ける言語でぶら下がりif文を検出するためだけに意味があっただけ。
最近の言語は1行が長い場合が多いから、1行1文字でスカスカなコードはかえって読みづらい。

と、俺は思うのだが。
2018/07/10(火) 08:55:02.87ID:OdsbRLtu
なんで同じソースましてや関数内にブレスの開始が違うものが混在してるのかが不思議、開始と終了は揃えたい
2018/07/10(火) 09:31:12.22ID:Bom3LCGb
担当が代わったんじゃね
2018/07/10(火) 16:08:06.16ID:Whumi4Kc
99%の凡人は可能な限り独自の書き方は避けて
優秀な人間の考えたフレームワークやライブラリのコーディング規約に倣うべし

過去の財産に倣うというのはプログラマに必要な資質の1つ
2018/07/11(水) 12:24:36.51ID:vjHTXSsq
過去の財産に倣うというフレーズに資質とゆう単語を繋げてしまうと
この人は抽象化して考えるくせがないんやなと思われてしまうで
プログラマーに重要な資質の一つが欠けとるな、と
2018/07/11(水) 18:22:34.72ID:g/mYMck9
ノンプログラミングのBIツールを700万で導入
GUIで作れる優れもの

入れた奴はプログラマの人件費が浮くから長期的に安いと息巻いてた

でも現在管理してるのは派遣プログラマの俺
VBAと違ってネットに情報無いから詰んでる
2018/07/11(水) 20:03:46.10ID:qnsu50U+
>>869
よかったな
めっちゃ費用浮いてるやん!

会社が
2018/07/11(水) 20:08:11.14ID:qnsu50U+
ノンプログラミングツールだからってプログラムの技量が低くていいってことにはならない
やっぱり知識も注意力もいる

ノンプログラミングツールのいいところは
それに従事した人間が、汎用的な知識を得ることなく
そのツール以外のことができない役立たずになることだ
その会社とその仕事に依存せざるを得ないからずっと安くこきつかえる

やったね!
2018/07/13(金) 07:24:12.48ID:DDbEgWas
>>871
汎用的な知識を持って初めてノンプログラミングツールだよな

知らない人間がやったらソフトウェア開発失敗の歴史を一通り体験することになる
2018/07/13(金) 07:25:12.25ID:DDbEgWas
でも知ってる人間はプログラム組めるという虚しさ
2018/07/13(金) 12:23:22.47ID:dFcdk+zb
フレームワークとかでも一緒
フレームワークの使い方は少し知ってても
言語の仕様をろくにしてない馬鹿とかザラにいる

潰しがきかないというか、お前は一生そのフレームワークで食っていくつもりなのかとw
そりゃIT土方にもなりますわ
2018/07/13(金) 22:02:32.65ID:o297Rvos
プログラマになった時点で
なんぼ汎用的でも所詮は人のつくったオモチャの知識で
頭埋め尽くされてるんやで…
2018/07/14(土) 09:00:00.17ID:IpCsX+RG
>>875
コンピュータサイエンスの研究して提案してる側でないとそうなるよね
2018/07/14(土) 09:26:23.70ID:Rke0wYi7
>>874
それでもフレームワークはコミュニティが存在して詰まるポイントは情報交換してるから良い

弱小ベンダが作った独自ノンプログラミングツールはサポートも含め使い方解らない
878デフォルトの名無しさん
垢版 |
2018/07/14(土) 10:28:38.58ID:v4Gtt50J
>>875
2018/07/14(土) 15:34:32.10ID:emjHoWOe
某一部上場企業に出向してた時がcobolをラップした日本語でプログラミングする企業だったな。
もう史上最低レベルでわからんかった。それで皆やってたから俺の応用力がないんだろうけど。
プログラミングじゃなくてコピペで作る積み木をやってる感覚だった。ベースのソースファイルなんか1つで100万行超えてたからな・・・
880デフォルトの名無しさん
垢版 |
2018/07/14(土) 15:37:32.14ID:/tfnebNh
>>879
それ地獄の所業だな
2018/07/14(土) 15:54:39.16ID:emjHoWOe
>>880
しかも単体テストが出来ないから結合テストの時まで目視。作った段階じゃ動くかどうかもわからない。
本番環境じゃなくてテスト環境なのに、テストする為だけにプロセスコンパイル申請して(自分で勝手にコンパイル出来ない)
リンカが動いてる時はなんと100人近いプログラマが一切動けない。だからバグ頻発させる案件担当は恨まれる。

1箇所でも変数やバグ修正する度に、修正した変数が使われてる関数全ソースを「紙に出力」して案件担当に報告する。
無論その関数も二段組で10枚を超えるようなものもザラ。

ソースも絶望だったが会社そのものも絶望だった・・・これで一部上場企業でISO取得してるってんだから
世の中狂ってると思ったわ。今もあんなんやってんだろうか・・・
2018/07/14(土) 16:13:46.94ID:FpRN5ZR0
ISOなんてソフトに関しちゃダメな証でしかない。
2018/07/14(土) 23:35:54.44ID:TeU19955
ある有名大学を卒業した若手女子プログラマーが書いていたもの

if
 for
if
else
if
else
   if >>4
else
//上書き
      result
2018/07/14(土) 23:48:20.01ID:C/4HyVCo
それがどうした?
2018/07/15(日) 00:05:51.22ID:WkgjesJQ
再帰n個まで対応として同じ処理をネストで内部にたくさん継ぎ足すのはなかなか
2018/07/15(日) 14:23:36.32ID:hJBIKok3
しょうもねえ
2018/07/17(火) 15:33:56.20ID:7HO9UDJa
ネストが4階層以上あるコードが頻出してるかどうかで
プログラマとしてのセンスの9割以上が分かると思う
888デフォルトの名無しさん
垢版 |
2018/07/18(水) 12:19:37.23ID:/ZX5NzfB
センスのない経験則やなw
2018/07/18(水) 13:59:31.91ID:FzU0QTYV
ネストの4階層はよく言われてる事だろ
ネストの深さは闇の深さってな
890デフォルトの名無しさん
垢版 |
2018/07/19(木) 21:56:52.07ID:vNM0RZQs
ネストの深さで分かるのは無能である事だけやぞ?
センス関係ないやんw
てか無能はコード見るまでもなく一言話せば分かるしw
迸っとるからな無能がwおまえらみたいにw
2018/07/19(木) 22:48:50.17ID:9MpINeJL
だいぶ仕上がってますね
2018/07/19(木) 22:56:52.61ID:zpCf8yuT
ネスト取っ払うのなんてセンスいるか?
2018/07/19(木) 23:03:03.88ID:f+n36xTV
メソッドに抽出したりcontinue,break,returnで浅くする工夫なら普通はやるわな
2018/07/20(金) 13:13:13.22ID:LdIsG+oi
>>890
おっと自己紹介はそこまでだ
2018/07/20(金) 16:09:29.36ID:xRxkFDHW
もうさぁ・・・一般的に言われてるソースじゃなくて、実際の仕事で見たソースの話してくんない?
本でよく見るような話いらんわ。しょうもない。
2018/07/20(金) 20:33:44.27ID:1Qoi51WN
実際あるから本のネタになるんだよ
897デフォルトの名無しさん
垢版 |
2018/07/20(金) 23:12:22.02ID:Bp0BPmn2
底辺の話を一般論のようにする馬鹿
2018/07/20(金) 23:52:33.01ID:WFn/Bh7m
どのレスに対してなのか安価ぐらい付けなさいよ馬鹿
899デフォルトの名無しさん
垢版 |
2018/07/21(土) 07:46:57.20ID:o84eWw0G
自覚があるけどあえて名指ししてほしい馬鹿
2018/07/23(月) 13:56:06.67ID:dzfMKL/P
こんな3年以上前にあるスレでお前ら元気だなw
2018/07/23(月) 16:44:38.45ID:Lk4y5zZB
褒めてもクソコードしか出せんぞ
2018/07/23(月) 20:32:42.08ID:2ez6F7EW
最近糞コードより糞メールに心を痛める毎日
2018/07/24(火) 14:06:33.45ID:HRVbYe1/
中国やアメリカで仕事して日本に帰ってくると
未だにメールでやり取りしてて心を痛める毎日
904デフォルトの名無しさん
垢版 |
2018/07/24(火) 15:37:09.77ID:WBO96fmU
ほんそれ
2018/07/24(火) 20:50:50.75ID:5PAxBe9J
むこうは何つかってるん
2018/07/24(火) 22:01:57.77ID:pAzLnnVR
すらっくやろ
2018/08/06(月) 19:05:58.90ID:933yDlcJ
>>905
アメリカはSlack
中国はQQとWeChat(日本のLINEみたいなやつ)

中国は一般人でもメールはほとんど使わない
あとは何でもQRコードで電子決済
道路の両脇に並んでる崩れ落ちそうな肉まん屋ですら電子決済に対応してる
自転車乗るのはスマホ3タッチするだけ

深センあたりに行けば分かるがもう日本は完全手遅れ
2018/08/08(水) 20:23:17.99ID:bSSLrH09
そんなにちがうものだろうか
国は嬉しいかもしれんが個人は
2018/08/23(木) 09:04:38.91ID:NPcuqlt3
履歴書手書きもうやだ
910デフォルトの名無しさん
垢版 |
2018/08/23(木) 09:43:28.39ID:29gBK1aD
1000人以上水増し
2018/08/28(火) 22:37:03.51ID:Nb4zQWFO
methodという名前のクラスを見つけた
912デフォルトの名無しさん
垢版 |
2018/08/28(火) 22:46:56.46ID:EM1Qb6Tt
>>911
www
2018/08/29(水) 01:03:25.64ID:+pRcq4Dh
Methodオブジェクトパターンかメタプログラミング文脈ならありえる
914デフォルトの名無しさん
垢版 |
2018/08/29(水) 19:19:49.93ID:lmwWHcLE
>>911-913←なかなかの絶望的なコーダーwwww
2018/10/10(水) 01:27:15.56ID:+GhPUDy2
深いネストを隠蔽するために関数化。
916デフォルトの名無しさん
垢版 |
2018/10/13(土) 13:54:10.63ID:KAvgvbU+
バクレポ「機能しない 」

中身
{
;//ここに実装する
}
2018/10/13(土) 16:31:33.86ID:/Sv6qn96
>>916
それみて思い出したのがあったw

BOOL xxx(xxx)
{
// なんかコンパイル通らないのでコメントアウト
/*
:
*/
return TRUE;
}
918デフォルトの名無しさん
垢版 |
2018/10/14(日) 12:49:48.40ID:G4e8iFcg
予定として工事中のまま残しとくのはあるな
2018/10/14(日) 13:11:12.33ID:CcpM1t8g
int func(prm1,prm2, …中略…,prmN)
{

//
// 色々処理する(見通し悪い1400ライン)
//
return 0;
}
2018/10/14(日) 20:13:14.41ID:dYWyiuYC
修正に修正を重ねて稼働し続けてきたリソース。
ソース分析しろ言われて開いたらネストが13以上…
921デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:13:04.73ID:WLfX4fFS
解けない因数分解ω
2018/10/14(日) 21:14:53.44ID:TkD6W0eM
>>920
まずユニットテスト書いてリファクタ
2018/10/14(日) 21:20:05.33ID:b97yHnkE
古いコードを延々と残しておくのをやめてほしいな。
ソースコードの半分以上が使われてないコードだったりして見通しが悪いったらありゃしない。
その割に修正履歴はクソの役にも立たないコメントが付いてる。
924デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:21:59.05ID:SE0u9ZQa
>>923
使われとらんのやったら消せばいいやろ
消さないおまえが悪い
925デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:25:39.07ID:WLfX4fFS
めっちゃ長いネストをプリントアウトして一生懸命読んでたら
コメントだったでござる
926デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:29:08.49ID:SE0u9ZQa
未だに紙出ししてコード読むおじいちゃん居るんかよw
2018/10/14(日) 21:35:16.62ID:TkD6W0eM
画面に収まりきらないとかメモ書き込んだりするならやるけどな

それだけ元がひどいんだろ
928デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:41:26.50ID:SE0u9ZQa
画面に収まりきるコードてHello, Worldかなw
2018/10/14(日) 21:50:49.34ID:TkD6W0eM
ずいぶん狭い画面だね
930デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:55:26.77ID:SE0u9ZQa
>>929
画面に収まるコードて25行以下のことやぞw
今どきのディスプレイにあわせて制約ゆるく解釈てんじゃねーよタコwww
2018/10/14(日) 21:57:38.53ID:TkD6W0eM
それ何か面白いの?
932デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:58:28.19ID:SE0u9ZQa
>>931
おまえの無知がおもろいんやけどw
2018/10/14(日) 21:58:53.76ID:TkD6W0eM
よかったね
レス数が900を超えています。1000を超えると表示できなくなるよ。