[表示 : 全て 最新50 1-99 101- 201- 301- 2ch.scのread.cgiへ]
Update time : 09/27 15:08 / Filesize : 71 KB / Number-of Response : 300
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

今までみた絶望的なソースコード



1 名前:デフォルトの名無しさん [2015/04/17(金) 23:00:30.63 ID:55USvuES.net]
今井氏:ソースコード公開は、社長のティム(*2)の意向です。彼はバリバリのプログラマーで、初期の「Unreal Engine 1」を
1人で書いた人ですが、若い時に雑誌に載っていたコードを書き写して勉強したそうです。それで今の若い人にも、プロのソー
コードとはこういうものだというのを見せたいという願いがあって、ソースコードを公開しています。本当に今のゲーム業界の
事情を憂いてる1人だと思います。(*2)Epic Gamesの創業者兼CEOであるTim Sweeney氏

出村氏:読みやすいコードですよ。「C++」というのは、黒魔術(高度な計算)が多くなりがちな言語ですが、
そういうこともなく、すっきりしていて目的の機能も探しやすい。解読しやすいコードなので、確かにお手本になると思います。

僕は初代のゲームボーイからプレイステーション 2の頃くらいまでゲームプログラマーだったのですが、ゲームプログラミングでは
必ず数学が出てきます。行列とか三角関数とか。もちろん今でもまったく不要になったわけではありませんが、そういう知識の
重要性は薄れてきていると思います。「Unreal Engine」では特にそうです。
game.watch.impress.co.jp/docs/interview/20150417_698349.html

初級者から中級者へ昇格する時期は、ほぼどのようなソースコードでも読める程度にプログラミング言語に精通し、
また偉いプログラマーの提唱したデザインパターンも一通り理解したくらいの時期である。

すると、プログラミング言語の持つあらゆる機能と、偉いプログラマーの提唱するあらゆる技術を使わねばならない
という思い込みが発生する。そしてHello Worldにまで崇高なオブジェクト指向や壮大なデザインパターンを
適用しようとしだすのである。

その結果、
* 大量のクラス
* 迷路のような変数渡し
* 底なしに深いネスト
などといった凄いものが生まれる。また、条件分岐に三項演算子を乱用するなどの症状も多く見受けられる。
最終的には第三者にとって読みにくい保守性の悪いスパゲッティコードが生成されることになる。
monobook.org/wiki/%E4%B8%AD%E7%B4%9A%E8%80%85%E7%97%85

2 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 23:07:42.31 ID:UHVCP2Vk.net]
★★★★★★★★★★★★★★★★★★★★★★★★★★
注意 この部分は、ゴミカスが書いたでたらめな文章です。
★★★★★★★★★★★★★★★★★★★★★★★★★★

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


3 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 23:09:53.52 ID:UDbFCugu.net]
>>2
知ってる。
見ればわかるw

4 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 23:16:09.05 ID:2QruBEl7.net]
最強は迷路のような循環参照だろ

5 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 23:20:08.61 ID:eE8aPdvb.net]
言語の構文はわずかに例外が有るにしろ、
コードをシンプルで分かりやすく書くことが出来るように
作られたもので、バージョンが上がると追加される機能っていうのは
それを更に良くするもの。

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

もっと最悪なのが、俺がこれ以上勉強したくないから
他の人も使うの禁止!と言い出すリーダー。

6 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 23:26:55.79 ID:ooZObC6M.net]
>>2
かなり事実じゃね?

7 名前:デフォルトの名無しさん mailto:sage [2015/04/17(金) 23:29:30.64 ID:eE8aPdvb.net]
>>6
クソスレたてるな

8 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 00:50:42.52 ID:dyiDxr2Z.net]
たしかに見に覚えがあるがプログラム書いてて一番楽しい時期でもある

9 名前:デフォルトの名無しさん mailto:sage [2015/04/18(土) 11:31:06.97 ID:rVGwSU9K.net]
確かに2の通りだな
俺が見た絶望は、15全下の種類を持つフラグ変数が5つある奴だな
相互に挙動が干渉し、中で呼び出しが積まれたあとに突然最初のエントリーポイントを再帰しやがった

10 名前:デフォルトの名無しさん [2015/04/19(日) 13:46:48.22 ID:ESsvP1kn.net]
1000行を超えるswitchを見たときは痺れた



11 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 14:31:13.67 ID:3NsiJz07.net]
#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;
}

12 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 14:48:21.22 ID:nqxUSETS.net]
>>11
変数宣言先頭に書くな
たかだか7バイトmallocするな
ポインタのインクリメント使え
終端文字抜けてるぞ

13 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 14:54:48.57 ID:B0V38sso.net]
>>12
終端ぬけてねーよ
よくみろはハゲ

14 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 14:59:17.52 ID:YPSI+AI0.net]
     彡⌒ ミ
     (´・ω・彡⌒ ミ
   彡⌒ ミつ(´・ω・`) ))ハゲで何が悪い!!
(( (´・ω・`) ( つ  )
   ( つ  ヽ  とノ  
    〉 とノ )^(_)
   (__ノ⌒(_)

15 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 14:59:48.34 ID:nqxUSETS.net]
>>13
マジだw

あと一個
charは一バイトでもsizeof使え
Unicode対応の時に泣く
出れば指定要素を指定数分だけメモリ確保する方があったはずだからあっちの方が安全

16 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 14:59:48.62 ID:yTHXbUfS.net]
>>12
ネタにマジレスするバカ(笑)
ぬるぽ
って書いてるだけじゃん

17 名前:デフォルトの名無しさん [2015/04/19(日) 15:01:51.42 ID:S//ZaxIU.net]
>>11
ガッ

18 名前:デフォルトの名無しさん [2015/04/19(日) 15:36:02.22 ID:oJmhIRRr.net]
>>11
くだらねぇ

19 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 16:05:31.47 ID:dhzBOV6W.net]
絶望的な人間が沸いてるな

20 名前:デフォルトの名無しさん [2015/04/19(日) 16:12:46.60 ID:FgPTbLQc.net]
なんだこのスレw



21 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 16:54:41.99 ID:H3AnyW4d.net]
某一部上場企業で使われてる言語が日本語プログラミングのソースで吐きそうになったな
しかも1ファイル3万行とか普通にありやがるしそれこそ分岐しかしてねえ

22 名前:デフォルトの名無しさん [2015/04/19(日) 17:04:27.02 ID:A/MgNyGP.net]
日本語ブロクラミングって実務で使う場所あんのか!
需要なんて絶対無いと思ってたけどw

23 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 17:10:13.35 ID:H3AnyW4d.net]
あるんだななこれがしかも日本でも半端ない規模の会社よw
中身はcobolを日本語でラップしたような感じで。
「a=1」 というのを 「aを1に代入」って感じで組んでいく。脳が腐ると思ったわ。

24 名前:デフォルトの名無しさん [2015/04/19(日) 17:32:24.76 ID:A/MgNyGP.net]
誰得だなw
当初は誰でも保守できるようにしたかったのだろうか?
結果誰も保守できなくなった的な?

25 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 17:53:27.13 ID:xPXQDkXX.net]
英語がわからないから日本語で書くという
アプローチは200%失敗する。

あー、そういやコードから日本語の仕様書を
作り出すとか言うソフトがあったな。
ね? 見事に失敗したでしょ?

26 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 18:29:17.86 ID:dhzBOV6W.net]
Interdevelop Desginerは売れたのか
売れたんなら買った企業の評判を聞いてみたいところ

今のところ俺はステップ実行設計書にご縁がない
幸せだ

27 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 19:04:55.40 ID:Rt7hjrl3.net]
日本語プログラムじゃないけど、ruby で6000行のプログラムなら見た事がある。

オブジェクト指向?何それ?っていう感じのコードだったw

28 名前:デフォルトの名無しさん [2015/04/20(月) 07:31:46.14 ID:l0+b2pIW.net]
>>22
FileMakerで作られた信じられないくらい巨大な社内システムの
スクリプト部分が全部日本語だった。

あまりにも酷いので某○ECにリプレイスの見積をとったら、
「30億円くらいじゃないですかね」という回答だった。

いまでも絶賛稼働中

29 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 12:22:22.82 ID:Mmn5Ftfg.net]
>>22
むしろ、日本語のほうが便利
変な先入観を捨てて使ってみるとわかる

どんな簡単なプログラムでも下手が作ればスパゲティ

30 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 12:48:14.68 ID:HTLIXLfD.net]
などと下手糞が一丁前に語っちゃってます



31 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 13:47:35.36 ID:lH6fvovP.net]
変数名が日本語ならまだわかるが、演算子まで日本語にしたらかえってわけわからん。

32 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 13:53:08.80 ID:SsAC3a+p.net]
ガラパってるな

33 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 16:31:22.14 ID:EfJAKFWG.net]
大企業に限ってソースはダメなテンプレだよ。1ファイル5万行に及ぶクソコードと
分岐ネスト&goto乱発の超絶スパゲッティで某携帯会社のシステムは稼働している。
この会社で働いてた時は一時期プログラミング出来なくなって鬱で休職したわ。俺の知ってるプログラミングじゃなかった。

34 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 18:40:19.36 ID:USn+NwOK.net]
RoofRaised って何だと思って、長い時間をかけてヘッダーファイルを調べてみたら、ただの double だった、なんてことがよくあったでしょ。
大規模なプロジェクトのすべてのクラスで暗黙の typedef を見つけ出すのにどれくらい時間がかかると思う?

35 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 08:08:57.40 ID:cRXNE3Zt.net]
>>34
ダブルだけに二段屋根?

36 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 08:34:59.52 ID:cJvjjAde.net]
仕事選べない立場ってやっぱクズですね
同情します

37 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 10:01:54.00 ID:P8FOHws6.net]
>>34
findとgrep組み合わせるだけで、どんなに大きな大規模プロジェクトでも
10分はかからないと思うが。馬鹿なの?

38 名前:デフォルトの名無しさん mailto:sage [2015/04/21(火) 12:33:47.15 ID:5PzRDxP4.net]
> 10分はかからないと思うが。馬鹿なの?
そんなにかかったらだめだろ。
せいぜい10秒程度だろ。

処理は読まないといけないからもう少しかかるが
定義は辞書を調べるようなものなんだから
grepとかfindなんか使わずに、単語を選択して
「定義場所を表示」ぐらいの調べられないとだめ。

この程度で分レベルの時間がかかってしまったら
調べている間に、何してたんだっけ?ってなるよ。
思考を中断させる原因となってしまう。

39 名前:デフォルトの名無しさん [2015/04/22(水) 20:53:51.72 ID:NZ8QzlQ5.net]
☆ 日本の核ブ装は絶対に必須ですわ。☆
www.soumu.go.jp/senkyo/kokumin_touhyou/index.html

☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると改憲が実現します。皆様方、必ず投票に自ら足を運んでください。
私たちの『日本国憲法』を絶対に改正しましょう。☆

40 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 22:45:32.37 ID:+mudGifq.net]
増改築を繰り返せばどんなシステムでもスパゲティになる



41 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 14:29:59.79 ID:z8bFtkdX.net]
>>38
それくらいで止まるとかw

42 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 16:20:02.46 ID:wgFAW8nP.net]
お前たちは真の絶望を知らない

43 名前:デフォルトの名無しさん mailto:sage [2015/04/24(金) 13:08:16.02 ID:E5oc/4Vu.net]
昔だがUNIX C使いがMSDOS Cで作ったソフト
auto変数でサイズ10000バイトとか普通にやってる上に子プロセスも同じだから全見直し

もっと酷かったのがC言語で書かれた移動体の基地局側ファームウェア
処理毎に移動体の数だけフラグ分けとif文の羅列で設計から全見直し

44 名前:デフォルトの名無しさん mailto:sage [2015/04/24(金) 14:39:36.66 ID:TFN7oaD8.net]
>>43
その「auto変数でサイズ10000バイトとか普通にやってる」ところが
全部staticに直されていてスレッドで排他されていないコードも
みたことある。絶望的だ。

45 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 08:28:01.28 ID:pIcJs2te.net]
シングルスレッドの組み込みなら常識的なコードだが

46 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 13:23:54.32 ID:3kjvd8px.net]
昔のMSDOS環境はメモリ利用領域500KBほどだよ
stackでガバガバ取ったら、あっという間にエラーで落ちるからさw

47 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 16:19:44.76 ID:T8rMi6ps.net]
ロートルの何の価値もないXMS講座が始まるからDOSの話は止めろ

48 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 16:40:53.05 ID:zBsfufMM.net]
>>46
ほう。じゃあ今はガバガバの2000倍は
使わないといけないから、
あっという間の2000倍かかるなw

49 名前:デフォルトの名無しさん mailto:sage [2015/04/26(日) 19:38:09.53 ID:3kjvd8px.net]
>>48
環境を考慮できないお前みたいな馬鹿ならできんじゃねw

50 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 20:48:46.78 ID:zWk0Y6jT.net]
んと、UNIXではmallocの領域とスタックの領域は重なった四角形の上辺と下辺から衝突する方向で成長する。
だから、どちらが大きな領域を取れるかというと対等であるのだけれど
ヒープの側はfreeした場合、管理領域に虫食い穴ができてしまう。
そうした事情があるので、仮想記憶領域をムダに成長させたくなければ
可能な限り大きなメモリーはスタックに確保したほうが合理的なの。



51 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 20:54:30.77 ID:ni+OWwPH.net]
Windowsはスタックが1MBだったかな

52 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 21:02:54.96 ID:a9t0k9yT.net]
>>50
UNIXはそうかもしれないけど、LinuxもBSDもWindowsも違うよ。

53 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 21:24:24.10 ID:zWk0Y6jT.net]
>>52

気になってlinuxのメモリモデル確認したら

テキスト(コード)、初期化、非初期化、(モート)、スタック

になってるじゃん。
ヒープが非初期化領域の末端に来て、反対側からスタックが衝突方向
だからLinuxもやっぱりUNIXと同じモデル。
ユーザーランドから見た論理モデルは変わってないじゃん。

54 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 21:34:48.30 ID:a9t0k9yT.net]
>>53
どこを見たのか知らないけど、違うよ。

55 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 21:45:11.23 ID:BTL1OO/O.net]
そもそも実装依存過ぎて話にならねえ

56 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 22:01:22.35 ID:zWk0Y6jT.net]
わかった今確認した。
カーネル2.6では
text, data, (moat?), heap, bss
になってる。
sbrk()にゼロを渡すと dataと heapの間の数値になるから
初期化データに対してヒープが衝突方向に成長し、
ヒープの後ろに非初期化データが続く。

ただ、ドキュメントによれば2.4ではUNIXと同じはず。

57 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 22:33:43.39 ID:jSKM1nC6.net]
ほーん、で?いちいち書き込むなカス

58 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 14:37:22.70 ID:xD347L3p.net]
>>28
正直な経験で言うと、社内システムを開発外注して業務改善てのがゆとりな神経だと思う。
成功した会社を一つたりとも見たことがない

59 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 14:43:12.43 ID:xD347L3p.net]
switch分岐が5段連なった奴は絶望感が酷かったな
そのなかにたらたら転写、フラグ操作した上で、サブルーチンを呼び、サブルーチンでもまた分岐
調べると同じコードでフラグの設定値だけ違う

某地デジ

60 名前:聖マリアンナ医大病院20人資格取り消し [2015/05/05(火) 20:23:24.18 ID:Xm1AWE57.net]
【神回】美人ニコ生主えりぃがFME切り忘れで公開オナニー!?【電マ】

https://www.youtube.com/watch?v=0U15dDLipOw



61 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 22:49:52.71 ID:bz0m6DRq.net]
CRubyでは、compile.c 内の、iseq_compile_each 関数で、
AST(抽象構文木)を、Ruby仮想マシン用の中間コードに、
コンパイルするのだが、

ASTノードの種類によって分岐する、
switch文は数千行もある

switch (ASTノードの種類){ }

「Rubyのしくみ」という本を参照

62 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 04:06:56.31 ID:cCF2kAXu.net]
rubyのソースが糞ってのは同意
中身見て驚いたわ

63 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 16:44:48.96 ID:+jUiP52g.net]
変数の頭に$をつけなきゃならん言語は全てゴミ扱いでいいと思うの
というかC++以外滅びろ

64 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 17:23:42.32 ID:qhtEqerx.net]
htmlとかも滅びてしまうが

65 名前:聖マリアンナ医大病院20人資格取り消し [2015/05/10(日) 03:27:12.77 ID:d7SjFAGD.net]
【海外】「さすが日本だな」 自衛隊の国産ヘリ「OH−1」の性能に外国人衝撃!! やはり日本は世界一だった【大和】

https://www.youtube.com/watch?v=kDfbXZZ15s4

66 名前:デフォルトの名無しさん [2015/05/10(日) 11:59:03.70 ID:x043ivF3.net]
#本当はうごかないはず

67 名前:デフォルトの名無しさん [2015/05/14(木) 19:48:56.69 ID:KwWkhxua.net]
行数が多すぎてコンパイルできない。

68 名前:デフォルトの名無しさん mailto:sage [2015/05/14(木) 20:03:23.27 ID:I7g8lu0W.net]
なんだそれ

69 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 19:31:56.50 ID:WZ+HCGJP.net]
どうみても間違っているソースだな
明らかに昨日要件とは違う実装
数週間前に別のやつが触っているのに誰も申告しない

後から知ったが、彼奴にあてがえば、そこも直した上で機能変更も設計変更もやってくれる
と考えた仕打ちだそうです。

安くて真面目に仕事して、能力あると思われると、死ぬまで仕事が降ってくる。

70 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 00:20:16.24 ID:cD0zsv9F.net]
今悩まされてるのが同じロジック別モジュール
作成者が統一化に猛反対
馬鹿は本当に死んでくれ



71 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 01:05:34.17 ID:atT3KGbX.net]
>>70
既存に似たものあるから統合するって感じ?
作成者は少々いじられるのも嫌と?
可能な限り共通化して分離必要な箇所はインターフェース化して個別実装だな
ソースコピペとかは技術者を名乗ってはいけない

72 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 01:51:37.25 ID:+UC07Y5W.net]
>>70
ロジックが同じかどうかでまとめるのではなくて、
役割で考えないとダメだよ。

同じロジックであってもまとめるべきではないこともたまにある。

例えばTwitter APIとAWS APIの内部で同じ処理をやっていたとしても、
役割はそれぞれ別なので分けるべきだろう。

もちろん汎用モジュールに分けられるようなものであれば
分けた方がいい。

73 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 06:32:17.99 ID:y0uxq7/N.net]
自動車の大規模リコール騒ぎを見てれば
なんでも共通化すればいいってもんじゃない
ということは言える

74 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 09:42:11.75 ID:T8dXcHE3.net]
同じロジックでも制御対象が別ならコピペして分けておく
現在たまたま同じロジックで済むだけだから

75 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 10:51:43.92 ID:atT3KGbX.net]
>>74
分ける必要が出た時に差分を個別実装すればいいだけ
コピペされたコードなんて誰もメンテしないぞ
特に他社のコード引っ張って来たら絶対触れない
不具合出ても一方は修正されたのに一方は修正されない
客からしたら不具合治ってないとクレーム
それが続けば信用問題にもなりかねない
月日が経てばもはやどっちがオリジナルか判別不明

76 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 11:56:34.39 ID:cD0zsv9F.net]
>>71が正解
日付け事にコピペしてんだよ!!
モジュール統一化してパラメーター渡しにしたらえらく御立腹w

77 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 12:13:54.92 ID:SZ2m/aFp.net]
要するに自分の管理外にコードが出ていくのが嫌なのね
気持ちは分からんでもないけど、そいつテスト書いてないだろ

78 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 13:13:51.56 ID:RLs2q5hO.net]
コードは自分以外が読むものとして書くべき。

79 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 15:16:33.13 ID:cD0zsv9F.net]
>>72>>74と仕事すると大変だろうな

80 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 15:20:46.44 ID:CnFMKOW2.net]
>>79と仕事するほうが大変だろw
理由はわかっている人には明らかだらあえて言うまでもないが。



81 名前:デフォルトの名無しさん [2015/05/16(土) 15:32:07.60 ID:/LBMRGuE.net]
同じコードだからって領域が違うものをまとめるのはアホ。
コピペの方がまだマシ

82 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 15:57:15.01 ID:SZ2m/aFp.net]
たぶんここから濃厚な罵倒合戦の火蓋が切って落とされると思うんですけど

83 名前:デフォルトの名無しさん [2015/05/16(土) 16:13:02.95 ID:EsD9+D7Y.net]
結果的に同じものができたから、一つにするという考えは間違っている。

共通モジュールは設計段階で考えることで、実装段階で考えることではない。

ましてや他の機能やシステムとの間で共通化することなどありえない。

汎用モジュールとして使うとしてもパッケージソフトくらいにしか適用できない。

84 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 17:41:36.12 ID:atT3KGbX.net]
>>82
禿同w

>>76見ると日付毎言うてるから相当悲惨と思われる
俺はオブジェクトのシリアライズでバージョン毎に完全に分けられてて泣いた
どうせフィールド追加しただけなのに全部コピーするから一万行超えてたwww
差分だけ追加するようにしたら200行…

85 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 18:21:40.06 ID:UflOEuuo.net]
このスレの誰と仕事すると大変か、という問いに関しては
「土曜の昼日中に2chやってる奴」が答え

86 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 18:30:16.32 ID:cD0zsv9F.net]
ソースのコピペを肯定する人多いのか
>>84状態なんだがw

87 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 19:03:32.28 ID:0p3VeBPS.net]
同じ処理が複数箇所に書いてあるなんぞあり得ない。

88 名前:デフォルトの名無しさん [2015/05/16(土) 20:12:39.41 ID:sArM/Yx9.net]
>>87
アフリカの猿とアマゾンの猿は、同じに見えるかもしれませんが、別物です。
初心者にはわからないかもしれませんが。

89 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 20:18:53.90 ID:O24SflU+.net]
そこでOOPですよ

90 名前:デフォルトの名無しさん [2015/05/16(土) 20:31:58.78 ID:/LBMRGuE.net]
oop厨ってアホだな。
共通化してはいけないものをなんとか共通化したいのならアスペクトだから。



91 名前:デフォルトの名無しさん [2015/05/16(土) 20:54:20.49 ID:0p3VeBPS.net]
>>88
「同じに見える」んじゃなくて「同じもの」なら共通化して当たり前。

92 名前:デフォルトの名無しさん [2015/05/16(土) 21:03:55.92 ID:/LBMRGuE.net]
その理屈でいうとforで0から順にインクリメントするものも関数化しないとな。
DoForZero2(100,print)

おー、短くなった。
流石プロですねー

93 名前:デフォルトの名無しさん [2015/05/16(土) 21:13:10.81 ID:0p3VeBPS.net]
つーか毎回同じコードコピペしてんの? まじで?

94 名前:デフォルトの名無しさん [2015/05/16(土) 21:18:26.81 ID:0p3VeBPS.net]
それ、IT業界の中でも特定の業種だよね。
メーカーの内製でそんなことしないだろ?

95 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 21:19:35.97 ID:UflOEuuo.net]
>>92
アホは喋るの止めた方がいいよ
帯域も容量も地球の資源ももったいない

96 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 21:23:40.37 ID:SZ2m/aFp.net]
というか、pythonのrangeをmapで使おうとすると
まさにそんな感じのコードですわ。
視野の狭い人ね。

97 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 22:42:32.71 ID:pszRfElg.net]
>>82

98 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 02:35:55.03 ID:c3gAm3/x.net]
>>85
>このスレの誰と仕事すると大変か、という問いに関しては
>「土曜の昼日中に2chやってる奴」が答え

18:21:40.06 ID:UflOEuuo

書き込めるまで我慢してたんだろな〜www

99 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 04:53:31.15 ID:gpE1Sl6q.net]
>>86
>>71 だと実装の継承しようとしてるので、OOP 的には >>72 >>74>>83 みたいな反論は普通出てくる
ただ >>76 見るに相当ひどいみたいだし、何か特別な理由があるんじゃないかと

頻繁に特定の日付時の状態にバイナリ互換で戻すとか?あるかそんな事

100 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 09:05:05.05 ID:5hOzuN4k.net]
例えばヤフーのようなIDでログインさせるAPIを他社に提供することを考える
この場合ログイン処理をクラスとして切り出ししそのインスタンスのログイン処理をコールしてもらえるように設計するだろう
つまりヤフーも他社も同じクラスのインスタンスを持ちそのログイン処理を共有する

他社がヤフーのログイン処理を実装したりヤフーが提供先ごとにログイン処理を実装することがあるだろうか?
1つの処理もまた1つのオブジェクトだよ



101 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 09:18:21.06 ID:c3gAm3/x.net]
>>99
スレタイ嫁
特別な理由はそういうコード書く人物が存在する事だろ

102 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 09:56:39.55 ID:CzRQDZeG.net]
>>100
>つまりヤフーも他社も同じクラスのインスタンスを持ちそのログイン処理を共有する

そのやり方だとセキュリティがザルになるけどね。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<71KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef