今までみた絶望的なソースコードat TECH
今までみた絶望的なソースコード - 暇つぶし2ch1:デフォルトの名無しさん
15/04/17 23:00:30.63 55USvuES.net
今井氏:ソースコード公開は、社長のティム(*2)の意向です。彼はバリバリのプログラマーで、初期の「Unreal Engine 1」を
1人で書いた人ですが、若い時に雑誌に載っていたコードを書き写して勉強したそうです。それで今の若い人にも、プロのソー
コードとはこういうものだというのを見せたいという願いがあって、ソースコードを公開しています。本当に今のゲーム業界の
事情を憂いてる1人だと思います。(*2)Epic Gamesの創業者兼CEOであるTim Sweeney氏
出村氏:読みやすいコードですよ。「C++」というのは、黒魔術(高度な計算)が多くなりがちな言語ですが、
そういうこともなく、すっきりしていて目的の機能も探しやすい。解読しやすいコードなので、確かにお手本になると思います。
僕は初代のゲームボーイからプレイステーション 2の頃くらいまでゲームプログラマーだったのですが、ゲームプログラミングでは
必ず数学が出てきます。行列とか三角関数とか。もちろん今でもまったく不要になったわけではありませんが、そういう知識の
重要性は薄れてきていると思います。「Unreal Engine」では特にそうです。
URLリンク(game.watch.impress.co.jp)
初級者から中級者へ昇格する時期は、ほぼどのようなソースコードでも読める程度にプログラミング言語に精通し、
また偉いプログラマーの提唱したデザインパターンも一通り理解したくらいの時期である。
すると、プログラミング言語の持つあらゆる機能と、偉いプログラマーの提唱するあらゆる技術を使わねばならない
という思い込みが発生する。そしてHello Worldにまで崇高なオブジェクト指向や壮大なデザインパターンを
適用しようとしだすのである。
その結果、
* 大量のクラス
* 迷路のような変数渡し
* 底なしに深いネスト
などといった凄いものが生まれる。また、条件分岐に三項演算子を乱用するなどの症状も多く見受けられる。
最終的には第三者にとって読みにくい保守性の悪いスパゲッティコードが生成されることになる。
URLリンク(monobook.org)

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


3:デフォルトの名無しさん
15/04/17 23:09:53.52 UDbFCugu.net
>>2
知ってる。
見ればわかるw

4:デフォルトの名無しさん
15/04/17 23:16:09.05 2QruBEl7.net
最強は迷路のような循環参照だろ

5:デフォルトの名無しさん
15/04/17 23:20:08.61 eE8aPdvb.net
言語の構文はわずかに例外が有るにしろ、
コードをシンプルで分かりやすく書くことが出来るように
作られたもので、バージョンが上がると追加される機能っていうのは
それを更に良くするもの。
という当たり前のことから考えると、
問題ない機能を「俺が知らないから」「馬鹿が知らないから」という
理由で禁止する行為は、コードをクソコードに仕上げることになる。
もっと最悪なのが、俺がこれ以上勉強したくないから
他の人も使うの禁止!と言い出すリーダー。

6:デフォルトの名無しさん
15/04/17 23:26:55.79 ooZObC6M.net
>>2
かなり事実じゃね?

7:デフォルトの名無しさん
15/04/17 23:29:30.64 eE8aPdvb.net
>>6
クソスレたてるな

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

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

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

11:デフォルトの名無しさん
15/04/19 14:31:13.67 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:デフォルトの名無しさん
15/04/19 14:48:21.22 nqxUSETS.net
>>11
変数宣言先頭に書くな
たかだか7バイトmallocするな
ポインタのインクリメント使え
終端文字抜けてるぞ

13:デフォルトの名無しさん
15/04/19 14:54:48.57 B0V38sso.net
>>12
終端ぬけてねーよ
よくみろはハゲ

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

15:デフォルトの名無しさん
15/04/19 14:59:48.34 nqxUSETS.net
>>13
マジだw
あと一個
charは一バイトでもsizeof使え
Unicode対応の時に泣く
出れば指定要素を指定数分だけメモリ確保する方があったはずだからあっちの方が安全

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

17:デフォルトの名無しさん
15/04/19 15:01:51.42 S//ZaxIU.net
>>11
ガッ

18:デフォルトの名無しさん
15/04/19 15:36:02.22 oJmhIRRr.net
>>11
くだらねぇ

19:デフォルトの名無しさん
15/04/19 16:05:31.47 dhzBOV6W.net
絶望的な人間が沸いてるな

20:デフォルトの名無しさん
15/04/19 16:12:46.60 FgPTbLQc.net
なんだこのスレw

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

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

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

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

25:デフォルトの名無しさん
15/04/19 17:53:27.13 xPXQDkXX.net
英語がわからないから日本語で書くという
アプローチは200%失敗する。
あー、そういやコードから日本語の仕様書を
作り出すとか言うソフトがあったな。
ね? 見事に失敗したでしょ?

26:デフォルトの名無しさん
15/04/19 18:29:17.86 dhzBOV6W.net
Interdevelop Desginerは売れたのか
売れたんなら買った企業の評判を聞いてみたいところ
今のところ俺はステップ実行設計書にご縁がない
幸せだ

27:デフォルトの名無しさん
15/04/19 19:04:55.40 Rt7hjrl3.net
日本語プログラムじゃないけど、ruby で6000行のプログラムなら見た事がある。
オブジェクト指向?何それ?っていう感じのコードだったw

28:デフォルトの名無しさん
15/04/20 07:31:46.14 l0+b2pIW.net
>>22
FileMakerで作られた信じられないくらい巨大な社内システムの
スクリプト部分が全部日本語だった。
あまりにも酷いので某○ECにリプレイスの見積をとったら、
「30億円くらいじゃないですかね」という回答だった。
いまでも絶賛稼働中

29:デフォルトの名無しさん
15/04/20 12:22:22.82 Mmn5Ftfg.net
>>22
むしろ、日本語のほうが便利
変な先入観を捨てて使ってみるとわかる
どんな簡単なプログラムでも下手が作ればスパゲティ

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

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

32:デフォルトの名無しさん
15/04/20 13:53:08.80 SsAC3a+p.net
ガラパってるな

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

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

35:デフォルトの名無しさん
15/04/21 08:08:57.40 cRXNE3Zt.net
>>34
ダブルだけに二段屋根?

36:デフォルトの名無しさん
15/04/21 08:34:59.52 cJvjjAde.net
仕事選べない立場ってやっぱクズですね
同情します

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

38:デフォルトの名無しさん
15/04/21 12:33:47.15 5PzRDxP4.net
> 10分はかからないと思うが。馬鹿なの?
そんなにかかったらだめだろ。
せいぜい10秒程度だろ。
処理は読まないといけないからもう少しかかるが
定義は辞書を調べるようなものなんだから
grepとかfindなんか使わずに、単語を選択して
「定義場所を表示」ぐらいの調べられないとだめ。
この程度で分レベルの時間がかかってしまったら
調べている間に、何してたんだっけ?ってなるよ。
思考を中断させる原因となってしまう。

39:デフォルトの名無しさん
15/04/22 20:53:51.72 NZ8QzlQ5.net
☆ 日本の核ブ装は絶対に必須ですわ。☆
URLリンク(www.soumu.go.jp)
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると改憲が実現します。皆様方、必ず投票に自ら足を運んでください。
私たちの『日本国憲法』を絶対に改正しましょう。☆

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

41:デフォルトの名無しさん
15/04/23 14:29:59.79 z8bFtkdX.net
>>38
それくらいで止まるとかw

42:デフォルトの名無しさん
15/04/23 16:20:02.46 wgFAW8nP.net
お前たちは真の絶望を知らない

43:デフォルトの名無しさん
15/04/24 13:08:16.02 E5oc/4Vu.net
昔だがUNIX C使いがMSDOS Cで作ったソフト
auto変数でサイズ10000バイトとか普通にやってる上に子プロセスも同じだから全見直し
もっと酷かったのがC言語で書かれた移動体の基地局側ファームウェア
処理毎に移動体の数だけフラグ分けとif文の羅列で設計から全見直し

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

45:デフォルトの名無しさん
15/04/26 08:28:01.28 pIcJs2te.net
シングルスレッドの組み込みなら常識的なコードだが

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

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

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

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

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

51:デフォルトの名無しさん
15/04/29 20:54:30.77 ni+OWwPH.net
Windowsはスタックが1MBだったかな

52:デフォルトの名無しさん
15/04/29 21:02:54.96 a9t0k9yT.net
>>50
UNIXはそうかもしれないけど、LinuxもBSDもWindowsも違うよ。

53:デフォルトの名無しさん
15/04/29 21:24:24.10 zWk0Y6jT.net
>>52
気になってlinuxのメモリモデル確認したら
テキスト(コード)、初期化、非初期化、(モート)、スタック
になってるじゃん。
ヒープが非初期化領域の末端に来て、反対側からスタックが衝突方向
だからLinuxもやっぱりUNIXと同じモデル。
ユーザーランドから見た論理モデルは変わってないじゃん。

54:デフォルトの名無しさん
15/04/29 21:34:48.30 a9t0k9yT.net
>>53
どこを見たのか知らないけど、違うよ。

55:デフォルトの名無しさん
15/04/29 21:45:11.23 BTL1OO/O.net
そもそも実装依存過ぎて話にならねえ

56:デフォルトの名無しさん
15/04/29 22:01:22.35 zWk0Y6jT.net
わかった今確認した。
カーネル2.6では
text, data, (moat?), heap, bss
になってる。
sbrk()にゼロを渡すと dataと heapの間の数値になるから
初期化データに対してヒープが衝突方向に成長し、
ヒープの後ろに非初期化データが続く。
ただ、ドキュメントによれば2.4ではUNIXと同じはず。

57:デフォルトの名無しさん
15/04/29 22:33:43.39 jSKM1nC6.net
ほーん、で?いちいち書き込むなカス

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

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

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

61:デフォルトの名無しさん
15/05/05 22:49:52.71 bz0m6DRq.net
CRubyでは、compile.c 内の、iseq_compile_each 関数で、
AST(抽象構文木)を、Ruby仮想マシン用の中間コードに、
コンパイルするのだが、
ASTノードの種類によって分岐する、
switch文は数千行もある
switch (ASTノードの種類){ }
「Rubyのしくみ」という本を参照

62:デフォルトの名無しさん
15/05/06 04:06:56.31 cCF2kAXu.net
rubyのソースが糞ってのは同意
中身見て驚いたわ

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

64:デフォルトの名無しさん
15/05/06 17:23:42.32 qhtEqerx.net
htmlとかも滅びてしまうが

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

66:デフォルトの名無しさん
15/05/10 11:59:03.70 x043ivF3.net
#本当はうごかないはず

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

68:デフォルトの名無しさん
15/05/14 20:03:23.27 I7g8lu0W.net
なんだそれ

69:デフォルトの名無しさん
15/05/15 19:31:56.50 WZ+HCGJP.net
どうみても間違っているソースだな
明らかに昨日要件とは違う実装
数週間前に別のやつが触っているのに誰も申告しない
後から知ったが、彼奴にあてがえば、そこも直した上で機能変更も設計変更もやってくれる
と考えた仕打ちだそうです。
安くて真面目に仕事して、能力あると思われると、死ぬまで仕事が降ってくる。

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

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

72:デフォルトの名無しさん
15/05/16 01:51:37.25 +UC07Y5W.net
>>70
ロジックが同じかどうかでまとめるのではなくて、
役割で考えないとダメだよ。
同じロジックであってもまとめるべきではないこともたまにある。
例えばTwitter APIとAWS APIの内部で同じ処理をやっていたとしても、
役割はそれぞれ別なので分けるべきだろう。
もちろん汎用モジュールに分けられるようなものであれば
分けた方がいい。

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

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

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

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

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

78:デフォルトの名無しさん
15/05/16 13:13:51.56 RLs2q5hO.net
コードは自分以外が読むものとして書くべき。

79:デフォルトの名無しさん
15/05/16 15:16:33.13 cD0zsv9F.net
>>72>>74と仕事すると大変だろうな

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

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

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

83:デフォルトの名無しさん
15/05/16 16:13:02.95 EsD9+D7Y.net
結果的に同じものができたから、一つにするという考えは間違っている。
共通モジュールは設計段階で考えることで、実装段階で考えることではない。
ましてや他の機能やシステムとの間で共通化することなどありえない。
汎用モジュールとして使うとしてもパッケージソフトくらいにしか適用できない。

84:デフォルトの名無しさん
15/05/16 17:41:36.12 atT3KGbX.net
>>82
禿同w
>>76見ると日付毎言うてるから相当悲惨と思われる
俺はオブジェクトのシリアライズでバージョン毎に完全に分けられてて泣いた
どうせフィールド追加しただけなのに全部コピーするから一万行超えてたwww
差分だけ追加するようにしたら200行…

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

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

87:デフォルトの名無しさん
15/05/16 19:03:32.28 0p3VeBPS.net
同じ処理が複数箇所に書いてあるなんぞあり得ない。

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

89:デフォルトの名無しさん
15/05/16 20:18:53.90 O24SflU+.net
そこでOOPですよ

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

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

92:デフォルトの名無しさん
15/05/16 21:03:55.92 /LBMRGuE.net
その理屈でいうとforで0から順にインクリメントするものも関数化しないとな。
DoForZero2(100,print)
おー、短くなった。
流石プロですねー

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

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

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

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

97:デフォルトの名無しさん
15/05/16 22:42:32.71 pszRfElg.net
>>82

98:デフォルトの名無しさん
15/05/17 02:35:55.03 c3gAm3/x.net
>>85
>このスレの誰と仕事すると大変か、という問いに関しては
>「土曜の昼日中に2chやってる奴」が答え
18:21:40.06 ID:UflOEuuo
書き込めるまで我慢してたんだろな~www

99:デフォルトの名無しさん
15/05/17 04:53:31.15 gpE1Sl6q.net
>>86
>>71 だと実装の継承しようとしてるので、OOP 的には >>72 >>74>>83 みたいな反論は普通出てくる
ただ >>76 見るに相当ひどいみたいだし、何か特別な理由があるんじゃないかと
頻繁に特定の日付時の状態にバイナリ互換で戻すとか?あるかそんな事

100:デフォルトの名無しさん
15/05/17 09:05:05.05 5hOzuN4k.net
例えばヤフーのようなIDでログインさせるAPIを他社に提供することを考える
この場合ログイン処理をクラスとして切り出ししそのインスタンスのログイン処理をコールしてもらえるように設計するだろう
つまりヤフーも他社も同じクラスのインスタンスを持ちそのログイン処理を共有する
他社がヤフーのログイン処理を実装したりヤフーが提供先ごとにログイン処理を実装することがあるだろうか?
1つの処理もまた1つのオブジェクトだよ

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

102:デフォルトの名無しさん
15/05/17 09:56:39.55 CzRQDZeG.net
>>100
>つまりヤフーも他社も同じクラスのインスタンスを持ちそのログイン処理を共有する
そのやり方だとセキュリティがザルになるけどね。

103:デフォルトの名無しさん
15/05/17 09:59:30.81 eUJr406l.net
コピペするに足る理由がある時はいいんだよね?
例えばFlashがリテンションしてプログラムの一部が読めなくなった時でも
最低限人が死なない程度に制御するためにバイナリレベルで多重化するような場合とか

104:デフォルトの名無しさん
15/05/17 10:30:23.26 CzRQDZeG.net
>>99
一昔前のCOBOLでなら、聞いたことはある。

105:デフォルトの名無しさん
15/05/17 11:57:01.86 c3gAm3/x.net
>>103
それをソースコードのコピペと呼ぶのか

106:デフォルトの名無しさん
15/05/17 12:12:04.44 nE1QdxB9.net
>>61
逆にこういう例ってどうするのが正解なの?

107:デフォルトの名無しさん
15/05/17 15:27:46.20 wvzPz3Ba.net
絶望を与えるのに間違ってる必要性はないんだ

108:デフォルトの名無しさん
15/05/17 16:14:09.30 nE1QdxB9.net
すごく納得した

109:デフォルトの名無しさん
15/05/17 20:54:56.74 8eviomzT.net
変数の取り違えに気づき、途中で値の交換を行ってたコード

110:デフォルトの名無しさん
15/05/17 20:58:00.05 8eviomzT.net
if文でどんどん分岐し、重複ロジックを大量に書いてあったプログラム。

111:デフォルトの名無しさん
15/05/17 23:28:50.20 c3gAm3/x.net
>>107
≫≫110とリンクするな(笑)

112:デフォルトの名無しさん
15/05/18 00:27:44.33 R6qIQaEG.net
派遣先で部下というか新しいメンバーにコード書かせたら恐ろしいコードよこしやがった。
ifのネストじゃなくて、同じifの判定をこれでもかってくらい繰り返してんの。
もうそこやめるからテスト通して放置。

113:デフォルトの名無しさん
15/05/18 00:59:25.35 92QLSF+E.net
てーへんっすね
(大変ですねと、そんなレベルの低い人間と働かなきゃいけないなんて
あなたもやはり底辺の住人ですね、を掛けている)

114:デフォルトの名無しさん
15/05/18 04:23:14.79 eg26D6LT.net
>>112
飛ぶ鳥跡を濁さず
知ってて放置は良くないぞ
>>113
同じ会社でも個々の能力はピンキリだろ
とくに大きい会社になるほど色んな奴と出会う

115:デフォルトの名無しさん
15/05/18 06:10:30.81 2t3/vjAH.net
コードソムリエ。

116:デフォルトの名無しさん
15/05/18 06:12:37.96 ezOKhhiH.net
>>114
> 飛ぶ鳥跡を濁さず
濁してるのは、飛ぶ鳥の方じゃないですからw

117:デフォルトの名無しさん
15/05/18 06:44:46.92 2t3/vjAH.net
飛ぶ鳥を落とすため、最高のライフルをご用意いたしました。

118:デフォルトの名無しさん
15/05/18 07:08:35.97 hxINsIbc.net
>>114
ことわざ間違えるのは恥ずかしいから

119:デフォルトの名無しさん
15/05/18 12:17:01.94 NlgV+Pgh.net
同じifの判定ってどういうこと?
if(a == 1) print "1";
if(a == 1) print "1";
if(a == 1) print "1";
なわけないよな?
if(a == 1) print "1";
if(a == 2) print "2";
if(a == 3) print "3";
って感じか?

120:デフォルトの名無しさん
15/05/18 12:21:28.58 ndOcmHbS.net
>>118
知って飛び去るのはよくないっていうことでは?逃げるが勝ちの方がふさわしいと思うが。

121:デフォルトの名無しさん
15/05/18 14:17:46.16 oJXHJ+WI.net
>>120
URLリンク(kotowaza-allguide.com)

122:デフォルトの名無しさん
15/05/19 20:48:19.66 goeUU+n9.net
お前らが管理しているソースで一番古いのっていつ頃のソース?
俺は1997年作成って言うソースが一番古い(C++)
かなりいろんな人がバグ修正、機能追加していて3K程のソース。
それ以外にも2004年以前のソースが20本位ある(これもC++)
仕様書もソースも追加修正だらけで、作り直したいけど、動いているソースなんで勝手に修正するなって
言われていて作り直すわけにもいかなくて困ったもんだ状態だわ

123:デフォルトの名無しさん
15/05/20 00:15:49.66 mFPTvTAh.net
>>122
ボトルネックなんかが明確なら再作成ありだが、ただコードを綺麗にしたいってのはただのマスターベーションだしな

124:デフォルトの名無しさん
15/05/20 07:37:13.08 VJuVsJlg.net
まあ動作実績のあるコードは触らないのが鉄則だからな
仕様変更を待つしかないね

125:デフォルトの名無しさん
15/05/20 08:43:49.75 do2GoB8K.net
>>122
そのコードが今でも頻繁にメンテされているならありだが、特に問題がなく、今後も大きな拡張が見込めないなら何もしないほうがいい。きもちは痛いほど分かるけどね。

126:デフォルトの名無しさん
15/05/20 17:56:58.18 qzEPJuIN.net
念の為に言っておくと、開発効率が悪いから
不具合が発生するリスクが高いから
という理由でコードを綺麗するのは重要なこと

127:デフォルトの名無しさん
15/05/20 18:25:43.60 zgEA4FV1.net
開発側の100%負担なら誰も反対しないだろうが、オナニしたいから開発費用を払って!
と言われて金を出す奴がいるとすれば、ただの鴨と鵜飼

128:デフォルトの名無しさん
15/05/20 18:41:48.75 qzEPJuIN.net
ムダに高い金を払っているってことを
知らせない、知らないほうがお互い幸せだからなw
金を払う方は金を払って、作る方は残業して。
こんなに苦しい物が実は無駄なんてw

129:デフォルトの名無しさん
15/05/21 00:32:12.22 l4RR4WuM.net
この手の議論は請負系と自社開発とで考え方が変わってくるな。

130:デフォルトの名無しさん
15/05/21 08:11:01.01 Tg0bXDwp.net
請負なら検収さえ通ればゴミ納品してもいいしな

131:デフォルトの名無しさん
15/05/22 00:19:08.23 vgLs0WMP.net
>>125
ボトルネックがあると書いとるだろw

132:デフォルトの名無しさん
15/05/22 00:43:49.77 2YhMDzu7.net
>>131
どこに?

133:デフォルトの名無しさん
15/05/26 17:31:46.23 /aaRFu7k.net
>>130
空のCD-Rで納品したことあるわ

134:デフォルトの名無しさん
15/05/27 22:40:06.08 nLndRoUd.net
プログラムできないけど、上司に取り入る事だけ
上手い営業みたいなサーバ管理者が、
プログラマの俺が居るのに、
「ノンプログラミングでデータベースを自在に閲覧出来る
BIツールを買えば、見える化が促進できる!
プログラマをリストラすれば十分ペイ出来る」と、
偉い人に取り入って、システムを導入したんだ。
蓋を開けたら、データ取り込みから定義作成まで
BIツール謹製のSQLやロジックを書かないといけない
絶望的な代物だった。
結局、俺が書いてる。。。

135:デフォルトの名無しさん
15/05/27 22:41:00.34 nLndRoUd.net
簡単なサンプルは、ドラッグアンドドロップで
ポンポン作れるんだけど、いざ実務に即したものを
作ろうとすると、その単純さが仇となって、
猛烈に長いコードを書く羽目になった。
さらに、デバッグなんて機能が無いから、
結果が想定と違っていても、原因の切り分け方法が
無いときてる。
もう、苦行としか言いようが無い。

136:デフォルトの名無しさん
15/05/27 22:42:28.66 1SVgoR5i.net
クビにならなくて良かったろw

137:デフォルトの名無しさん
15/05/27 22:45:36.49 nLndRoUd.net
>>136
XAMPPで簡単に出来ることが
根本的に無理になったり、激ムズになったりしてる。
単純な四則演算で変な結果が出た時には
固まった。
そんなドマイナーなノンプログラムのプログラムなんて
身にならないし、もう辞めたい。
俺が辞めたら、確実に死蔵されるだろうな。アレ。

138:デフォルトの名無しさん
15/05/27 22:48:33.04 nLndRoUd.net
絶像的なノンプログラミングのプログラマになれば、
長い間、飯の種になるかも知れない。
求人かけても、ドマイナーなシステムのプログラムなんて、
誰も解らんだろうし。。。

139:デフォルトの名無しさん
15/05/27 22:59:10.90 nLndRoUd.net
BIツールの特性を知った上で使うなら、
効果的に使えると思う。
でも、高いシステムを買ったんだからと、
複雑な要件を盛り込むと、途端に破たんする。
そして、専門外の偉い人は、
複雑な要件を盛り込みたがる。
世の中、そんなもんだって感じで、
達観するしか無い状態。

140:デフォルトの名無しさん
15/05/27 23:04:37.21 lx8cNW16.net
BIツールってコンサルタントのただの商品だからな。

141:デフォルトの名無しさん
15/05/28 00:33:54.59 odZ+ejWb.net
銀行系SEをリストラされた親戚がマイナーなサーバー管理ツールを使ってたな
本人はapacheのマニュアルすら読んだことないんだと

142:デフォルトの名無しさん
15/05/28 07:17:10.11 4DphScwy.net
>>141
なんか可愛そうだよね。
多くの時間を、他の会社では使えない知識を
学ぶのに使ってしまうのって。

143:デフォルトの名無しさん
15/05/28 08:38:16.04 nbjUOWor.net
目的と観点を明確に使っているかだろ
ツールのいいなりじゃどうしようもないが、そこがわかっていれば他のツールも直ぐに使いこなせる。

問題は、そういう機能も出力もないツールを掴まされて使う必要があるとき
ワンオフのシステムによくある、

144:デフォルトの名無しさん
15/05/28 14:04:48.55 +z3HE+1N.net
パフォーマンスの点から見て絶望的なのに無理やり二分木を使ったプログラム
頭が湧いてるんじゃないかと思う

145:デフォルトの名無しさん
15/05/28 14:59:54.71 xfxVVPCq.net
>>141
さすがにサーバー管理をやっているなら自分でapacheくらい勉強するだろう。リストラされても仕方がない。

146:デフォルトの名無しさん
15/05/28 17:13:30.69 lDPgwgfB.net
>>145
元銀行のSEだぞ?

147:デフォルトの名無しさん
15/05/28 18:11:36.01 QUSVe/9V.net
cobol製webサーバーとかあんのかな
俺は業界門外漢だから知らね

148:デフォルトの名無しさん
15/05/28 18:30:03.55 BS3T4776.net
銀行系専門がOSSなんてさわったらジンマシンに襲われるんじゃね

149:デフォルトの名無しさん
15/05/28 19:37:07.34 UEKaugFR.net
>>145
ないない、そもそも銀行で apache なんて使わない
Oracle Application Server とか IBM Http Server とかだよ
まあ、中身は... だけどね w

150:デフォルトの名無しさん
15/05/28 20:25:43.64 +ywrUonY.net
>>149
Apacheがないところなんてないと思うが。

151:デフォルトの名無しさん
15/05/28 20:52:15.94 6zahNw0I.net
>>150
> まあ、中身は... だけどね w
の意味わかってないのか?
極論すれば中身なんてどうでもいいんだよ、なんかあった時に Oracle とか IBM の名前が出せることが重要
マジで OSS なんて使ったら死ぬぞ w

152:デフォルトの名無しさん
15/05/28 21:06:20.31 +ywrUonY.net
>>151
おまえの立場が分からん。

153:デフォルトの名無しさん
15/05/28 21:13:13.15 gPuaPwC0.net
銀行のWebサーバなんて9割IISだぞ。
apacheなんて趣味用のサーバ使うわけがないだろ。

154:デフォルトの名無しさん
15/05/28 21:40:46.65 6zahNw0I.net
>>152
金融機関に納入したことあるベンダーなら誰でも知ってることだよ

155:デフォルトの名無しさん
15/05/28 21:44:24.23 pwrXSWWR.net
>>147
汎用機のウェブサーバはあるけどな。

156:デフォルトの名無しさん
15/05/28 22:04:08.01 +ywrUonY.net
>>154
おまえプログラマじゃないじゃんw

157:デフォルトの名無しさん
15/05/28 22:18:52.11 6zahNw0I.net
>>156
なにを根拠に言ってるのかわからん w

158:デフォルトの名無しさん
15/05/28 22:20:00.42 xfxVVPCq.net
>>146
銀行だからとか関係ない。

159:デフォルトの名無しさん
15/05/29 00:06:10.68 9CwBFM33.net
プロなら普通、日立のミドルウェアで揃えるよな

160:デフォルトの名無しさん
15/05/29 08:50:56.33 93alEFrQ.net
自分のいる現場が標準だと言ってるやつは何なの?

161:デフォルトの名無しさん
15/05/29 09:03:15.45 KVqhIdpV.net
今までみた絶望的なスレの流れ

162:デフォルトの名無しさん
15/05/29 09:08:21.83 1xJgnWA+.net
ここだと言いたいのかテメェはよ

163:デフォルトの名無しさん
15/05/29 12:58:09.22 08TmNpAe.net
>>158
それは銀行系を知らなすぎる

164:デフォルトの名無しさん
15/05/29 13:05:36.51 eZjwWKWh.net
銀行系と勘定系って違うの?

165:デフォルトの名無しさん
15/05/29 15:43:25.62 psnfn6m+.net
>>163
銀行系だからとか関係ない。そんな銀行しかわからん技術者だからリストラされるんだよ。それが嫌なら常に独学でも学び続けるか、管理する側に回るしかない。IT系では特に重要なこと。

166:デフォルトの名無しさん
15/05/29 21:18:39.98 H91kCqGL.net
>>164
銀行の中に勘定系と情報系がある
厳しいのは当然金を扱う勘定系
下手すると新聞沙汰になる
ただし情報系が甘いわけじゃないので、OSS なんて入れるアホは滅多にいないと思う
まあ、地方の信金とかは知らんけど w
>>165
銀行だけとは言ってない
銀行(メガバン)ではって話だよ

167:デフォルトの名無しさん
15/05/29 21:35:12.07 Wut4Rhve.net
>>166
たくさんシステムがあるのに皆無と言い切れるあなたさエスパーですか?

168:デフォルトの名無しさん
15/05/29 21:35:32.81 AM+afDIM.net
ぐぐったらUFJが採用してたけど・・・

169:デフォルトの名無しさん
15/05/29 22:19:09.92 H91kCqGL.net
>>166
アホが噛みつくからわざわざ滅多にって書いてるのに... w
>>168
ああ、すまん
Redhat Linux でしょ、一応サポートあるしね
と言うか IBM が zServevr で動作保証してるから
サポートのない OSS をベンダーが勝手に入れるのとは訳が違うよ

170:デフォルトの名無しさん
15/05/29 22:20:19.22 H91kCqGL.net
アンカー間違えたわ
>>166>>167

171:デフォルトの名無しさん
15/05/29 22:30:12.86 NC9x2l2n.net
>>169
> サポートのない OSS をベンダーが勝手に入れるのとは訳が違うよ
サポートがある OSS をベンダーが説明してから入れるなら
何の問題もないでしょ?
つまり短く言うとOSSは問題ない。

172:デフォルトの名無しさん
15/05/29 22:47:26.35 Wut4Rhve.net
オープンソースがダメという理屈がわからん。

173:デフォルトの名無しさん
15/05/29 22:54:32.43 XkG9lmPe.net
毟り取れるなら、そこからケツの毛まで毟り取ってやればいいじゃん
全部がOSSになったりしたら、その有り難みがなくなっちゃうよ

174:デフォルトの名無しさん
15/05/29 23:11:05.04 2X83fotM.net
>>171
> サポートがある OSS をベンダーが説明してから入れるなら
> 何の問題もないでしょ?
うん
> つまり短く言うとOSSは問題ない。
バカなの? w

175:デフォルトの名無しさん
15/05/30 00:19:49.69 SYHYR5qB.net
サポート=バグがでたら修正しまーす ではなく
実際の損害を金銭で補償します だべ
ソフト屋の浮世離れした常識は通用しないべ

176:デフォルトの名無しさん
15/05/30 04:53:30.49 mWvJuAGp.net
実際の損害って、逸失利益とかも含まれるの?
含まれるとしたら太っ腹だな

177:デフォルトの名無しさん
15/05/30 09:56:32.74 TSHvBVv0.net
契約次第に決まってんじゃん
仕事したことないのバレバレ

178:デフォルトの名無しさん
15/05/30 10:22:34.30 nksCNU9d.net
よっぽどアホな企業とか特殊な場合でない限り、上限を契約の金額にするのは常識だと思うが

179:デフォルトの名無しさん
15/05/30 11:57:42.43 BVpXxfcf.net
>>150
そうか?
ランプとかが流行ったが、所詮は安物買いの銭失いが大半
銀行はJSPばかりだよ

180:デフォルトの名無しさん
15/05/30 12:58:56.25 mWvJuAGp.net
>>175でOSS使わない理由が損害補償なのかと思ったから
>>176って書いたんだけど、OSS全然関係なさそうだな

181:デフォルトの名無しさん
15/05/30 14:36:46.82 ebcCMrL3.net
だって実態を知らないで
想像で言ってるだけだもん
見ればわかるよw

182:デフォルトの名無しさん
15/05/30 22:57:48.60 ptIP/4nN.net
>>179
jspはWebサーバー、アプリケーションサーバー、OSが全部オープンソースの場合もあるが?

183:デフォルトの名無しさん
15/05/30 23:01:36.15 ptIP/4nN.net
サポートがあるかどうかなんて格好だけってことも多いからな。
マイナーな機能だと、サポートに聞いても使い方すら分からないことなんてザラ。

184:デフォルトの名無しさん
15/05/30 23:08:00.65 GbYkPqTc.net
コメントが無く、関数・変数の名前がいい加減な文字列操作関数

185:デフォルトの名無しさん
15/05/31 13:15:34.98 aaI4+yOw.net
正規表現なら何をやりたいか、書いて欲しい。みんながみんな頭の中で正規表現できるとは限らんので。

186:デフォルトの名無しさん
15/05/31 15:41:07.63 vCKs7HZr.net
>>182
どこの事例?
>>180
損害保証なんてまあ関係ない
そもそも国内でそんな事態になるケースなんて滅多にない

187:デフォルトの名無しさん
15/05/31 17:11:33.36 nCZZum25.net
>>186
jspがなんだと思ってんだよ?

188:デフォルトの名無しさん
15/05/31 17:30:33.86 vCKs7HZr.net
>>187
JSP が何かを知りたかったら Wikipedia でも見とけよ

189:デフォルトの名無しさん
15/05/31 17:38:39.32 LTxgNM08.net
JSPだとむしろオープンソースと絡むぞ。
ASPと言っておけばいいものを。

190:デフォルトの名無しさん
15/06/01 19:42:40.39 e+Q3qVuq.net
jsp?ずいぶんとダサいコードを書いてるのね。

191:デフォルトの名無しさん
15/06/02 21:01:27.10 80AN9G/c.net
>>190
帯をパクるな。キモヲタってバレバレだぞw
関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間
URLリンク(www.amazon.co.jp)

192:デフォルトの名無しさん
15/06/02 21:11:09.51 y/vvSKhg.net
排水溝の髪の毛なんて持ってくんな
汚い

193:デフォルトの名無しさん
15/06/03 00:18:56.27 fWOFbe2S.net
>>191
なかなかの低評価ですね。

194:東京女子医科大学病院プロポフォール大量投与
15/06/08 23:39:32.28 Fqp3awmG.net
マスゴミ・売国奴・医療業界が隠そうとする真実---------------------安楽死---------------------奴隷に勝手に死なれては困る
安楽死旅行企画が大人気|竹田恒泰チャンネル
URLリンク(www.youtube.com)

武田邦彦:安楽死と大麻、そして売春・・・オランダに学ぶ
URLリンク(www.youtube.com)

安楽死党
URLリンク(www.youtube.com)
自殺は後遺症が怖い!だから-----------------------------------安楽死制度-------------------------------------安心して生きるために

195:デフォルトの名無しさん
15/06/15 16:16:30.52 APmJNnuF.net
安楽死って、ただの自殺教唆。

196:デフォルトの名無しさん
15/06/25 08:29:08.25 3LKwgapt.net
アングラ牧場?

197:デフォルトの名無しさん
15/06/25 08:34:36.81 ni30MNzk.net
話題のニトリは絶望するほどじゃないけど面白い

198:デフォルトの名無しさん
15/06/25 14:09:47.98 0TJc5kfL.net
俺もっと酷い所にいたことあるよ
こんなの修羅場でも何でもない(奴隷自慢
が始まると思っていたのにがっかりだぜお前ら

199:デフォルトの名無しさん
15/06/29 10:01:52.20 uRgKjkQ2.net
そういうのはプログラマー板じゃね?

200:デフォルトの名無しさん
15/06/29 13:05:59.79 ZG8WYZZ5.net
プログラ魔?(´・ω・`)

201:デフォルトの名無しさん
15/06/29 13:14:48.97 QITtNM5B.net
プロ グラマー

202:デフォルトの名無しさん
15/07/04 21:24:58.98 i6tiuRGk.net
スパゲッティでもなんでもない、超綺麗なコードなんだけど
引き継いだプロジェクトのソースファイルがすべて空だったことがあったな

203:デフォルトの名無しさん
15/07/05 00:11:02.21 SYjfN7FW.net
>>202
「 不射之射 」ってやつかな?(すっとぼけ)

204:デフォルトの名無しさん
15/07/18 16:41:57.48 Elmadk8a.net
他人の書いたソースを解析する時は
全部まとめて1ファイルにした方が検索で一発で飛べて分かりやすい

205:デフォルトの名無しさん
15/07/18 16:49:11.39 ClZy0R3/.net
串刺し検索できないとか無能すぎる

206:デフォルトの名無しさん
15/07/18 17:07:50.05 Elmadk8a.net
会社PCでメモ帳しか使えないからな

207:デフォルトの名無しさん
15/07/18 17:33:22.11 ClZy0R3/.net
そんなPCでプログラミングするの?どんな糞企業だろうな

208:デフォルトの名無しさん
15/07/18 17:33:36.46 kyfBrlqO.net
Windows なら findstr
Linux なら grep

209:デフォルトの名無しさん
15/07/19 15:10:05.90 05eNFjFO.net
とりあえず話はソースをEclipse CDTにぶち込んでからだ

210:デフォルトの名無しさん
15/07/19 16:02:36.84 A8XocGVA.net
メモリが足らなくてEclipseが起動しないでござる

211:デフォルトの名無しさん
15/07/19 17:15:04.84 hehkSm21.net
emacs使えばいいんじゃね
それすら動かないならedでも使っとけ

212:デフォルトの名無しさん
15/07/19 17:51:34.68 yGfbtuav.net
メモリ512MBのatomなんだすまない

213:デフォルトの名無しさん
15/07/20 07:30:50.84 7UJk40NA.net
窓から投げ捨てろ

214:デフォルトの名無しさん
15/07/20 10:15:18.72 gcbmkQzq.net
鯖用にいいだろ
512もあればnginx+MariaDBでwordpressでもできるでしょ

215:デフォルトの名無しさん
15/07/23 11:22:55.43 Jym5rlVM.net
>>212
9800円のWindows8タブレットですら1GBは積んでる

216:デフォルトの名無しさん
15/07/23 13:25:18.90 mmfWdiQl.net
atom で余分な部品をカットして省電力ならそれが正しい

217:デフォルトの名無しさん
15/07/23 13:44:48.25 WUAvzM35.net
用途の選択ミス

218:デフォルトの名無しさん
15/07/23 22:37:03.81 DlgtK7Z2.net
メモリ2GBの安タブにBTのキーボードとマウスを繋げりゃそこそこ使える

219:デフォルトの名無しさん
15/07/24 00:31:36.00 epV3Dcoh.net
>>218
中古のNexus7にUbuntuいれてそれやると最強

220:デフォルトの名無しさん
15/07/24 07:28:40.25 30gYvqyq.net
SDカード使える機種でオススメある?

221:デフォルトの名無しさん
15/07/25 10:07:29.97 fFQ7wKxw.net
jQueryのソースが見ると吐気する。javascriptの方がよほど簡単と思えるのは子供の頃からプログラムしてるせい?
ほんとにあれノンプログラマは見て分かりやすいの?

222:デフォルトの名無しさん
15/07/25 11:53:37.22 AbBoos+r.net
> jQuery(を使ったサイト)のソースが見ると吐気する。
> (プレーンな)javascriptの方がよほど簡単と思えるのは子供の頃からプログラムしてるせい?
> ほんとにあれノンプログラマは見て分かりやすいの?
で、あってる?
もちろんjQueryを持ち上げるための方便か
全体でせいぜい100行、かつテストなしのコード
しか書いたことがない人が言ってるんじゃないかな
数行で目的を注入するという目的に限れば確かに容易い

223:デフォルトの名無しさん
15/07/25 18:23:12.23 A3Ss5+fR.net
ノンプログラマがまともにjQueryなんて使うの?
プログラマの俺はjQueryで助かってるけど

224:デフォルトの名無しさん
15/07/25 20:20:37.51 Q65ZCebZ.net
>>221
病院に行ったほうがいいよw
jQueryのソースコードは機能毎に小さくモジュール化されていて、
長いファイルでも500行前後ぐらいしかない。
ほとんどは100行前後。
.jshintrcや.jscsrcもあるから
当然品質も保たれていると考えていいだろう。
当然テストコードも有る。
良いプロジェクトの見本のようなもんなんだが。

225:デフォルトの名無しさん
15/07/25 20:54:47.06 o6XQJ+h/.net
>>224
お前だろ病院行った方がいいのは。
誰がjqueryの中身の話なんてしてんだよ?

226:デフォルトの名無しさん
15/07/25 20:55:34.26 paoVPCKX.net
jQueryのソースが見ると
jQueryのソースが見ると
jQueryのソースが見ると
jQueryのソースが見ると 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


227:デフォルトの名無しさん
15/07/25 20:57:56.19 5BpE4UJW.net
構文の話してるのに何行あるかなんて始めて馬鹿じゃないの?
いきなり病院いったほうがいいとかキチガイでしょ?

228:デフォルトの名無しさん
15/07/25 21:02:26.92 paoVPCKX.net
構文? jQueryはJavaScriptの構文そのまんまなんだが?
トランスパイラと言って、別の構文から
JavaScriptに変換する仕組みが今は流行ってるが
jQueryはそんなもの使わない純粋なJavaScript
どこか変な構文でもあったか?
その構文を御前が知らないだけでは?

229:デフォルトの名無しさん
15/07/25 21:04:51.82 M9EIeKKB.net
ソースコードのことより自分の日本語でも見直しとけってのスカタン

230:デフォルトの名無しさん
15/07/25 21:08:14.29 M9EIeKKB.net
いや、失礼した
「子供の頃からプログラミングをしてるせい」(で言語能力が的に育たなかった)
って書いてあったね

231:デフォルトの名無しさん
15/07/25 21:09:32.45 paoVPCKX.net
子供の頃の知識で止まってるんだろーなーw
どうせBASICだろう

232:デフォルトの名無しさん
15/07/25 21:16:42.87 aUQYbDBF.net
質問主の言葉が足りないってのは分かるけどー、
読んだら分かるよねー。
いわゆる信者っていうの?
批判的なことに条件反射しちゃうんだよね。分かる分かるー
っていーかぁ、そもそもスレチだしw?
両方消えてw

233:デフォルトの名無しさん
15/07/25 21:20:01.43 paoVPCKX.net
質問主の言葉が足りないんだろ。
それが全てだろ。
何言ってるんだか。

234:デフォルトの名無しさん
15/07/25 21:23:52.55 aUQYbDBF.net
プログラマーって定義されてないと怒るよねwww
10言わなきゃわかんねーのかw小学生かwww

235:デフォルトの名無しさん
15/07/25 21:59:39.64 paoVPCKX.net
>>234
言葉が足りないのなら補えばいいが、
言葉が間違ってるからな。
お前Underscore.jsのソースコード見たこと有る?
この質問に答えてみるといいよ。

236:デフォルトの名無しさん
15/07/25 23:47:54.23 BtkcRlE5.net
用語じゃないけどさ、
前に似たようなjQuery信者が煽ってたのでソース読んだが、
同じ変数に別の意味の再代入とか平気でしててはっきり言って汚かったよ
ソースすべてを読んだわけではないが、その部分出したら綺麗とのたまってたね…
こういうのとは絶対一緒に仕事したくないわ

237:デフォルトの名無しさん
15/07/25 23:49:07.03 BtkcRlE5.net
用語 -> 擁護

238:デフォルトの名無しさん
15/07/25 23:58:07.11 o6XQJ+h/.net
>>235
>>222
が正しい文に直してくれているし、思い込みをしなければ、正しい意図を紐解けるというのはすでに立証されているんだがw
だから、質問がクソであり、それを思い込みで解釈したやつもクソだなと思うんだけど、俺にどう考えを直して欲しいのかなwww?

239:デフォルトの名無しさん
15/07/26 00:46:52.14 Nu2ySp1+.net
webアプリの伝票を表示する画面のHTMLで、テーブルタグでエクセル方眼紙作ってあった
列とか必要以上に多くて無駄にセルの結合してあった

240:デフォルトの名無しさん
15/07/26 01:31:08.71 Q7ZjjhPq.net
方眼紙便利なのに、なぜ方眼紙アプリが売っていないのか。

241:デフォルトの名無しさん
15/07/26 08:33:31.95 Lmm8STAE.net
>>236
どのファイルだよ?
言ってみ。

242:デフォルトの名無しさん
15/07/26 14:59:14.63 p/433SX/.net
>>241
URLリンク(github.com)
bulkの型がめちゃくちゃ
後ろでは関数として呼び出し、別の意味になってる
URLリンク(github.com)
tmpなどの使い回し
変数宣言を先に行う規定があるのか、全体的に読みにくい

243:デフォルトの名無しさん
15/07/26 15:22:58.35 p/433SX/.net
他も見たが、基本的に短い変数名ばかりだし、やっぱり読みにくいよ
決してvimほど汚くはないが、これを綺麗とか言っちゃうのは信者だけ

244:デフォルトの名無しさん
15/07/26 18:16:05.04 7EBqSyeY.net
短い変数名だから読みにくいっていうのは
間違った考え方だな。
スコープが十分小さいなら
長い名前にする必要がない。

245:デフォルトの名無しさん
15/07/26 18:27:45.85 7EBqSyeY.net
>>242
> bulkの型がめちゃくちゃ
なるほど。
君は動的型付け言語における
オーバーロードの書き方を知らないようだ。
オーバーロードっていうのはね。
関数の引数(シグネチャ)が違う同じ名前の関数を複数作成できる機能
呼び出すときに、引数から適切な関数を判断する。
だけど動的型付け言語ではそれが出来ないから、
関数の内部で、引数が省略されたかどうかやその型を見て処理を変える。
このコードはそれをやってるんだよ。

246:デフォルトの名無しさん
15/07/26 18:57:52.47 p/433SX/.net
>>245
反論の内容には同意するが、ほぼ無関係だな
まず問題の変数は引数ではないので、根本的に間違えてる
宣言時にbooleanで初期化した後、分岐して関数入れてる
また、短いスコープであれば問題にならない事が多いのも同意するが、
特定ブロックで使う物を、関数全体スコープで宣言してるので該当しないな
何より、オーバーロードをしようが、通常は実装は汚くはならない
普通は最初に適切に分けるからな

247:デフォルトの名無しさん
15/07/26 19:06:24.32 7EBqSyeY.net
> まず問題の変数は引数ではないので、根本的に間違えてる
引数でないから間違えというのは短絡的だな。
コード見ればわかるようにkey(引数)がnullかどうかによる処理だ
> 特定ブロックで使う物を、関数全体スコープで宣言してるので該当しないな
JavaScriptにブロックはない。だからスコープを重視するならば
先頭に書くのが正しい。(俺はスコープ無視するけどなw)
> 普通は最初に適切に分けるからな
最初に分けるのが必ずしも正しい訳じゃない。
コード短いんだし、直してみれば?

248:デフォルトの名無しさん
15/07/26 19:08:06.07 7EBqSyeY.net
> JavaScriptにブロックはない。
一応訂正しておくか、ECMAScript5の範囲においてはだ。

249:デフォルトの名無しさん
15/07/26 19:33:15.94 p/433SX/.net
>>247
>引数でないから間違えというのは短絡的だな。
>コード見ればわかるようにkey(引数)がnullかどうかによる処理だ
だから何なんだとしか
引数でないのだから、オーバーロードの実装のためという言い訳はできない
他の型を意図的に代入し、使い回した時点で汚い
>JavaScriptにブロックはない
function、if、switch...ときちんとブロックはある上に、
スコープもライフタイムも違う
なんか前絡んできた人と同じ人っぽいからもう止めるよ
不毛だし

250:デフォルトの名無しさん
15/07/26 19:49:23.12 EHWerROz.net
bulkの使いまわしはコミットログを見たけど理由がよくわからん
先頭にvarを固めているのはhoistingを理解していたからだろう

251:デフォルトの名無しさん
15/07/26 20:21:13.01 7EBqSyeY.net
>>249
ん? 帰れ帰れw

252:デフォルトの名無しさん
15/07/26 20:22:00.95 7EBqSyeY.net
>>250
> 先頭にvarを固めているのはhoistingを理解していたからだろう
この人は、hoistingを理解できないんだろうねw

253:デフォルトの名無しさん
15/07/26 20:26:36.68 k1EUM6QH.net
なんでJQueryの実装をそんなにマンセーしたいのか理解できない。
ライブラリなんて小規模で作るもんだから、読みやすさという基準は自分の主観で決めるもんだし。
後付けの解釈を止めろよ。

254:デフォルトの名無しさん
15/07/26 20:59:57.20 7EBqSyeY.net
逆でしょ?
読みやすさという基準は自分の主観で決めるもんなのに
jQueryの実装をそんなに馬鹿にしたいのか理解できない。

255:デフォルトの名無しさん
15/07/26 21:26:25.41 p/433SX/.net
>>250
hoistingはコード規約で予防しているという事かな?
それでも、宣言はブロックの先頭と制約するだけで十分な気がする
関数スコープに広げて宣言する理由がわからない

256:デフォルトの名無しさん
15/07/26 21:31:57.10 p/433SX/.net
ああ、意味がわかった
関数スコープで使用していた上に、ブロック内でも使用した場合か
それならバグになる可能性あるな

257:デフォルトの名無しさん
15/07/29 01:58:34.13 CRqVMe5R.net
やっぱVBの配列(0)で1要素あるってバグの元だろ
引継いだコード前任者が全員間違えたまま使ってて戦慄した

258:デフォルトの名無しさん
15/07/29 09:27:40.97 7C0TLIvw.net
まあ、多い分にはいいんじゃないの?
行番号付きだった頃から配列は1要素を予備とすることが多かったからねー。
C とかから入ると気になるだろうけど。
自分も今は気になるけどw

259:デフォルトの名無しさん
15/07/30 11:48:36.63 kCCSv6BW.net
DBに予備項目を作って空を保つのならわかるけど
配列の予備って意味若ランナー

260:デフォルトの名無しさん
15/07/30 21:27:47.71 kTMnRdAz.net
配列変数を空の状態またはその逆にするのが面倒なので0番目は使わずに取っておく

261:デフォルトの名無しさん
15/07/31 16:17:53.20 Dkg4afbG.net
動的配列の扱いが内蔵とVariantに代入する配列(Variant配列ではなく)で挙動が違うから
Variantで統一するとvbsと扱い同じにできて捗る

262:デフォルトの名無しさん
15/07/31 21:11:17.11 D+nD3a7O.net
絶望的なプログラマたち

263:デフォルトの名無しさん
15/07/31 21:48:20.19 17HtGFaS.net
main(){
int* p=1;
...

264:群馬大学病院腹腔鏡手術後8人死亡事故
15/08/01 01:03:34.01 djTLO4cBo
                                                    .

【速報】「生きるのに向いていないから」健康な24歳女性の安楽死が認められる!!


URLリンク(news.biglobe.ne.jp)

265:デフォルトの名無しさん
15/08/01 14:23:13.10 aojbSuUF.net
*(int*)0=0;

266:デフォルトの名無しさん
15/08/01 14:44:38.33 zTfC3ItF.net
printf("AとBの積は593です");
もうアホかとなんのためのCなんだか

267: ◆QZaw55cn4c
15/08/01 19:29:40.69 KBiDhOrm.net
593 は素数なんだが‥

268:デフォルトの名無しさん
15/08/01 21:31:08.62 cZ9y3hcR.net
そうすっうすね。

269:デフォルトの名無しさん
15/08/01 21:39:39.36 5DNs6h6K.net
1*593

270:デフォルトの名無しさん
15/08/01 22:19:25.72 zTfC3ItF.net
>>267
掛け算作ってみろって言ったらこれが出てきた

271:デフォルトの名無しさん
15/08/02 00:25:01.79 2p0cp8/y.net
>>270
最適化出来てる
100点

272:デフォルトの名無しさん
15/08/02 01:45:42.48 MF9TQU9s.net
掛け算作ってみろってのもおかしな物言いだな
そんなコミュ力だからおかしな物が出てくる

273:デフォルトの名無しさん
15/08/02 02:10:40.49 u7Ju2wRn.net
>>271
あれだと最適化しないコード作るほうが頭いるだろ
一文字づつあたらしいプロセス作って動かしてくとか?

274:デフォルトの名無しさん
15/08/02 07:33:48.36 AHQOj1TU.net
>>270
模範解答じゃん

275:デフォルトの名無しさん
15/08/02 17:23:58.64 MF9TQU9s.net
絶望って程でもない

276:デフォルトの名無しさん
15/08/02 18:37:05.66 sH3CMGQ2.net
無駄な計算してないとか優秀賞だな

277:デフォルトの名無しさん
15/08/31 12:38:09.95 B5sJg2ZW.net
>>12
なんで先頭じゃダメなの?
蟹飯本では当たり前のように先頭でまとめて宣言してるからそれに倣って先頭で宣言してるけど

278:デフォルトの名無しさん
15/08/31 13:10:34.00 KuTL4jkJ.net
>>277
変数は使用する直前で初期化して使うべきだから
初期化と宣言が別だと必ず未初期化で使うバグが出る
また関数が長く分岐が多くなると初期化されてるか判断が難しくなる
変数のスコープは小さければ小さいほどいい
関数先頭に宣言するのは昔のC言語の制約だったと記憶してるが今は上記理由からやめるべき

279:デフォルトの名無しさん
15/08/31 15:56:13.40 UXpAKMEr.net
>>278
なるほどサンクス

280:デフォルトの名無しさん
15/09/01 20:57:53.90 D3JacxmQ.net
>>278
どこの説?

281:めんどいから@sc
15/09/02 12:55:43.93 Xv52dDV3z
>>278
> 初期化と宣言が別だと必ず未初期化で使うバグが出る
今時未初期化で warning 出ないコンパイラなんてあるのか?

コーディング規約で宣言時に必ず初期化しろなんてもんもあるが、
こんなことやると、コンパイラが発見できなくて、逆にバグにつながる気がするんだがな。

他の部分は「べき」じゃなくて「したほうがよい」程度ならば賛同する。

282:デフォルトの名無しさん
15/09/02 21:35:45.23 SIr+PlfYs
「どこでも宣言」は反対だ、かえって行儀の悪いコードを助長する

// どうでもいいが、switch文の中で変数宣言するのは危険だよなぁ

283:sc とはめずらしい
15/09/03 08:44:26.92 pCZUcMZ1/
>>281
> コーディング規約で宣言時に必ず初期化しろなんてもんもあるが、
> こんなことやると、コンパイラが発見できなくて、逆にバグにつながる気がするんだがな。
スコープを十分小さくできていることが前提なんじゃないかな。
あと初期化ってのは、やたらと 0 とかを入れるんじゃなくて、後々の Assert に引っかかるような
値を入れるべきではないかと。

284:めんどいから@sc
15/09/03 12:34:59.37 c6LlyVFnO
>>283
assert に引っかかるような値を入れるのも正しいとは思うが場合によるはな。
void *a = NULL; // 使い回しなんて無い変数
a = malloc(1);
なんてコードを見る。しかも連続行でだぜ。なぜ、
void *a = malloc(1);
と書けないんだと。

初期値はちゃんと考えて、その場に応じた「正しい値」をセットしろと。

ぐち...
unsigned char *img = NULL; // 1200dpiのA3イメージ
img = (unsigned char*)malloc(size);
memset(img, 0, size);
memcpy(img, orgImage, size);
で、msec単位で処理速度あげるのに必死になってミドル作ってるやつのところに、
処理が遅いって文句言ってくるやつ ヽ(゜Д゜)ノ
結局アプリをレビューして、いらん memset() 削除させて、内製の memcpy() に置き換えさせたら、
そもそもミドル側のチューニングなしでもスペック満たせそうな。
(ドタキャンした1週間分の旅行代金穴埋めとまとめて休める期間作れと交渉中)

285:デフォルトの名無しさん
15/09/12 03:17:33.09 k25bT+vJ.net
for ループから条件でgotoでforの外に飛んで帰ってもこないプログラム

286:デフォルトの名無しさん
15/09/12 04:01:54.66 XAqQ9sMD.net
それ普通ですが
breakがまさにそういう動作だし、breakはgotoの一種と言われているわけだが
二重のforを一気に抜けるのにgoto使うとか普通のテクニック
return出来るならそっちのがいいけど
むしろforからgotoで抜けてまたgotoで戻ってくる方が恐ろしいが
そういうサブルーチン的な動作にgoto使われるとかなり鬱陶しいし
それでgotoが禁止されたわけだが

287:デフォルトの名無しさん
15/09/12 08:00:00.87 TErXHjBS.net
for使ってるの?甘いね
プロは全部gotoしか使わないよ

288:デフォルトの名無しさん
15/09/12 09:09:13.39 lTmP7o65.net
柔軟に環境に合わせられるのがプロ

289:デフォルトの名無しさん
15/09/12 09:59:18.43 o99yCw3m.net
真のプロには、製品の方が合わせてくる。
企画原案に意見を求められるし、監修を頼まれる。

290:デフォルトの名無しさん
15/09/12 10:01:01.89 /tgR015i.net
>>289
それで真のプロのプログラマだと
どうなるわけ?

291:デフォルトの名無しさん
15/09/12 10:11:11.52 o99yCw3m.net
>>290
その問題については既に解いてあるんだが、2chは数式を張り付けられないからなあ。

292:デフォルトの名無しさん
15/09/12 10:11:50.87 /tgR015i.net
>>291
つまり解いてないってことかw

293:デフォルトの名無しさん
15/09/12 10:56:04.07 8SKz5ytR.net
>>291
ほれ
URLリンク(formula.s21g.com)

294:デフォルトの名無しさん
15/09/12 11:30:03.64 LQnjc3KY.net
一休「虎が屏風から出てくれば捕まえられるのにな~ああ~残念だなあ~」
将軍「出したよ」
って状況?

295:デフォルトの名無しさん
15/09/12 11:38:50.74 Xol1TNVu.net
>>290
達人ともなれば、むしろタンスが小指に恐れをなし、というアレだよ。

296:デフォルトの名無しさん
15/09/12 12:07:10.77 1pxDFhfx.net
>>291
zipでくれ

297:デフォルトの名無しさん
15/09/12 18:16:31.99 8SKz5ytR.net
>>294
URLリンク(www.youtube.com)

298:デフォルトの名無しさん
15/09/12 22:51:55.44 QkMrh2wn.net
971 名前:名無しさん@七周年[] 投稿日:2006/11/11(土) 00:56:10 ID:M8+ahUZV0
自称スーパープログラマー某
強烈加齢臭
メール見ない メール無視
ドキュメント見ない ドキュメント無視
説明聞かない 説明無視
話聞かない 話無視
ガム→むっちゃー むっちゃー むっちゃー むっちゃー
煎餅→バリバリバリバリバリバリ
菓子パン→モグモグモグモグモグモグモグモグモグモグ
カップアイス→むっちゃー むっちゃー ペロペロペロペロ
フロアすべてに響き渡る ばかでかいくしゃみ 当然手でおさえない
半径10mで耳鳴り、ひどいと頭痛誘発
異音と異振動
ドスーン!ドスーン!ドカーン!ドカーン!
バコーン!バコーン!ズドン!  ズドン!
机が近いとマウスポインターが飛ぶ
誤操作誘発
書類だしたりしまうだけでドカンドカン
口と鼻から異音
ふんっっ
ふんっーーーーー  
マジでうっとおしい30秒ごと
備品破壊 貸与P C 破壊 他人のもの破壊
奴の作ったスクリプトとプログラムは使えない
バグりすぎ

299:デフォルトの名無しさん
15/09/13 00:10:23.04 xBi8Z0XU.net
ストレス貯まるなそれは


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch