■ このスレッドは過去ログ倉庫に格納されています
スパゲッティコーダーについて語ろう
- 1 :仕様書無しさん:2012/07/07(土) 13:43:17.91 .net
- -スパゲッティコード、スパゲッティコーダーとは
-スパゲッティなコードはどうやったら回避できる
-こんなスパゲッティーなコード書いてるマがいた
-マが考えるおいしいスパゲッティの作り方
-何が原因で人はスパゲッティなコードを生み出してしまうのか
-スパゲッティを解くときのコツ
みたいな、スパゲッティに関することを話すスレがなさそうなのでたてました。
スパゲッティに関する持論や、職場での体験談などお聞かせください。
- 2 :仕様書無しさん:2012/07/07(土) 13:45:19.57 .net
- んでとりあえず自分から
この間スパゲッティを履き違えてる人いたんだ
自分が理解できないコードは全部スパゲッティらしい
だから、自分が理解できる自分のコードはスパゲッティじゃないと思っているらしい
この人に、どうやって真実を伝えれば、事を穏便に済ませられ、みんなハッピーになれると思う?
- 3 :仕様書無しさん:2012/07/07(土) 14:01:17.87 .net
- 1メソッドに処理つめこんであったら、
コメントとかで処理概要な意図などしっかり書かれててもスパゲッティと呼べる
どうみてもマに向いてないタイプの糞コーダーはだいたいこのタイプ
新しいクラス作るときでも、まず似たようなクラス全体をコピペしてきて、処理を削る作業からコーディングに取り掛かる
無駄な手打ちをしろとは言わん
だが、まず最初に他のソースコピペからはじめる奴は、ほぼスパゲッティ職人の素質あると思うわ
メソッド呼ぶコストとか意識しないといけないような環境なら1本道処理も意味ある場合もあんのかもしらんが、
少なくともうちの職場でやってる仕事にそういうのはねーしな
- 4 :仕様書無しさん:2012/07/07(土) 14:19:57.01 .net
- http://www.codeodor.com/About.cfm
- 5 :仕様書無しさん:2012/07/07(土) 14:55:56.83 .net
- 麺は少し塩を多めにいれ、茹でるだけ。ソースと同時並行でやるのがいい。
ソースはオイルソースがお手軽で簡単。
芯をとって縦に薄くスライスしたにんにくと、オリーブオイルを50cc〜くらいを、適当なパンに入れて弱火で加熱し、
種とった唐辛子を適当にちぎって入れる。(辛いほうが好みな人は、唐辛子の種も入れちゃってもいい)
にんにくに薄く色がつくくらいまで、じっくり香りと唐辛子の辛味をオイルに移したら、
一度オイルとにんにく唐辛子をパンから出して、ベーコン、セロリ(具は割と何でも合う)なんかを炒めて、
白ワインをちょっと加え(なくてもいいけど個人的にオススメ)、火が通るまで軽く炒める。
オイルと唐辛子、にんにくを戻して、麺の茹で汁をお玉一杯分くらい加えてソース完成。
味付けが足りないときは、軽く塩なんかを足して調整するといい。
同時作業は2口コンロないと鍋変えながら並行作業とかになって結構面倒だけど、
お手軽でおいしい、ペペロンチーノの完成です。
- 6 :仕様書無しさん:2012/07/07(土) 18:07:12.18 .net
- スパゲッティなら解けるが、お団子は解けない
- 7 :仕様書無しさん:2012/07/07(土) 21:54:19.57 .net
- 既存メソッドにフラグ引数追加すんなや!!
- 8 :仕様書無しさん:2012/07/07(土) 22:41:48.94 .net
- コピペを繋ぎ合わせてたら、絡まっちゃったw (テヘペロ
- 9 :仕様書無しさん:2012/07/08(日) 02:21:49.15 .net
- 疎結合だった所をいくつもまとめて密結合にしないで下さい
あんただけレビューに時間かかるし手戻りも多いんだから自覚してるだろうに
- 10 :仕様書無しさん:2012/07/08(日) 09:41:22.56 .net
- コピペコーダーはスパゲッティ職人でもある
- 11 :仕様書無しさん:2012/07/08(日) 13:41:54.21 .net
- スパゲットーニコーダーやスパゲッティーニコーダーは?
フェデリーニコーダーやカッペリーニコーダーも。
マカロニコーダーとかはまた別?
- 12 :仕様書無しさん:2012/07/08(日) 14:12:37.60 .net
- むしろ、仕様変更繰り返すと、簡単にスパゲティになるよ。
- 13 :仕様書無しさん:2012/07/08(日) 16:38:49.05 .net
- マカロニって見た目だけで中身はスカスカってことか?
- 14 :仕様書無しさん:2012/07/08(日) 18:53:39.70 .net
- コンキリエコーダーとかなんかKHTMLとそれの派生関連の開発してそう。
- 15 :仕様書無しさん:2012/07/08(日) 19:16:27.84 .net
- パスタ全般の話してたら、きりがない
- 16 :仕様書無しさん:2012/07/08(日) 19:28:37.95 .net
- ここはいっそうどんコーダーで。
- 17 :仕様書無しさん:2012/07/08(日) 20:28:04.40 .net
- スパゲッティコードの修正頼まれたらさらに意味不明なフラグを用意してジャンプ先でさらにフラグをセットして
そのフラグを元にジャンプしたりさせてさらに難解にする
- 18 :仕様書無しさん:2012/07/08(日) 22:54:56.88 .net
- >>12
要求者のクセを先読みしないと無理だよな。
毎回リリース間際にスペシャルifを要求してくるし。
- 19 :仕様書無しさん:2012/07/10(火) 01:47:44.13 .net
- スパゲッティ食べたくなってきたぞどうしてくれる
- 20 :仕様書無しさん:2012/07/10(火) 07:07:01.29 .net
- >>19
スパゲッティを食べたいのならスパゲッティを食べればいいと思います。
- 21 :仕様書無しさん:2012/07/11(水) 19:08:37.44 .net
- >>2にもあるけど、スパゲッティの定義も人それぞれだから、何を持ってスパゲッティというかは微妙なとこだな
馬鹿の考えるスパゲッティは、実は保守しやすく見通しがいい、クラスがきちんと作られてるいい実装だったりもするしww
- 22 :仕様書無しさん:2012/07/11(水) 19:50:43.36 .net
- 賢いフリしてる馬鹿の文章そのままなんだよなぁ
- 23 :仕様書無しさん:2012/07/12(木) 15:26:41.06 .net
- >>21
そういうのはスパゲットーニと言って、ミートソースのような重いソースでも比較的ほぐれやすい。
- 24 :仕様書無しさん:2012/07/12(木) 19:15:06.66 .net
- 具体的に、どういうのがスパゲッティだと思う?
- 25 :仕様書無しさん:2012/07/12(木) 19:44:20.25 .net
- >>24
メソッドが入り組んでる
aの中でb
bの中でc
cのなかでd
特に理由もなく
- 26 :仕様書無しさん:2012/07/12(木) 19:57:48.89 .net
- >>25
それじゃ、a->b->c->dの一本道じゃないか。
せめてdからbを呼ばないと。
- 27 :仕様書無しさん:2012/07/12(木) 20:34:17.96 .net
- 一メソッドに20行超とか、アホみたいに機能詰め込んでるやつは、
そのメソッドのなかがこんがらがっててとてもスパゲッティ
- 28 :仕様書無しさん:2012/07/12(木) 21:03:20.95 .net
- ・公開されてるメソッド名やフィールドが俺々略語。
・1メソッドが無駄に長かったり、内部処理が全く分割されてない多機能メソッド。
・似た処理をコピペしたコードが点在している(仕様変更が入ると、修正箇所が増大するのでスパゲティ)。
・リテラルのハードコーディング'(同上)。
・インナークラスや匿名クラスの多用。
・他所の参照を持ちすぎ。
・temp/tmp/hoge/moge/hage のような汎用名の多用。
最後の派、1メソッドが長くなければローカル変数名は何でもいいと思うけど、
一本糞メソッド作る奴はローカル変数もこういうのばっかり使うしな
とにかく後の事何も考えてないあほ実装は、糞コードでとてもスパゲッティだと思ってる
あちこちに依存しててこんがらがってたり、コピペ量産しまくってたり
>>25
メソッド多いってだけじゃ読み解く側の理解力不足ってだけな事もあるだろうから、
入り組んでるかどうかは、実際のコード見てみないと判断つかない希ガス
メソッド名も理解しようとしなければ、IDEもろくすっぽ使えなくて
スクロールしまくってメソッド参照さがしたりしながら、複雑だーって言ってたりする奴うちにいるしw
- 29 :仕様書無しさん:2012/07/13(金) 00:37:09.66 .net
- >コピペ量産しまくってたり
ネットで拾った大量のコピペを繋ぎ合わせて、コンパイルが通っただけで俺スゲェ
1日にコピペした「ステップ数」が俺スゲェ
…そんな文系脳の偽プログラマを混ぜないで下さい、本当に。
- 30 :仕様書無しさん:2012/07/13(金) 00:46:55.37 .net
- スパを書き他人のスパを紐解くところから修行は始まるのじゃよ
- 31 :仕様書無しさん:2012/07/13(金) 03:32:29.95 .net
- リゾットを分けるとリゾットごとにやってることが分かりやすくなるけど、
リゾットを呼ぶごとにかかるペナルティがわりとシャレにならないこともある。
- 32 :仕様書無しさん:2012/07/13(金) 13:26:24.15 .net
- やっぱスパゲッティとリゾットは一人暮らしの料理として最適だよな
すぐできるし、ごはんたかなくてもいいし
- 33 :仕様書無しさん:2012/07/13(金) 13:29:03.18 .net
- >>31
メソッドコールの負荷なんかも考えないといけないようなアレな環境だったらそうだけど、
今日日そうじゃないほうが多いからなー
コンパイラーさんのおぷちまいざーがやってくれるくらいで十分だったりする
微々たる差を埋めるより、あとで見返したとき考えないですぐ作業できるようなのが望ましい
- 34 :仕様書無しさん:2012/07/13(金) 13:53:44.83 .net
- 「オブジェクト指向」と「オブジェクト指向プログラミング」と「オブジェクト指向プログラミング言語」
http://engawa.2ch.net/test/read.cgi/poverty/1342142253/
- 35 :仕様書無しさん:2012/07/13(金) 15:35:09.42 .net
- スパゲッティだと女性うけしないからパスタにしよ
- 36 :仕様書無しさん:2012/07/13(金) 16:06:06.03 .net
- つってもスパゲッティ以外を食う機会なんてそんなに多くないけどなw
- 37 :仕様書無しさん:2012/07/13(金) 16:11:45.14 .net
- 日本人なら蕎麦コードだろ。
いや、たれ流し的に作っていくから、流しそうめんコードか?
流した後は俺シラネって意味でもしっくり来るな。
- 38 :仕様書無しさん:2012/07/13(金) 18:10:49.76 .net
- トコロテンもあるでー
- 39 :仕様書無しさん:2012/07/13(金) 22:29:06.46 .net
- 納豆コード
- 40 :仕様書無しさん:2012/07/13(金) 22:49:17.17 .net
- 当たり前なんだけど、 obfuscatiin したコードは強烈なスパゲッティで全く読めなかった
- 41 :仕様書無しさん:2012/07/14(土) 01:19:15.48 .net
- >>37
盆栽コードと呼びたいね
意図不明に捻じ曲がって何処と繋がっているかよくよく目を凝らさないと判らないようなところなんか特にね
- 42 :仕様書無しさん:2012/07/15(日) 08:45:33.69 .net
- >>40
ウィルスの(検出を逃れる為の)変種って単に obfuscation 追加してるだけらしいね
スパゲッティにもプロダクトとしての実用性がある例だね
- 43 :仕様書無しさん:2012/07/19(木) 21:45:36.90 .net
- 「なんで、このクラスにその関数や変数を突っ込んじゃったんですか!(ありえないっしょ・・・)」
「そこに、クラスがあったから」
マロリーかお前は
- 44 :仕様書無しさん:2012/07/19(木) 21:53:33.24 .net
- 何をどのクラスやネームスペースに入れるかは熟練した人でも結構悩む設計に直結するから
ましてや新人やスパゲッティストにわかるわけがない
- 45 :仕様書無しさん:2012/07/19(木) 22:28:04.84 .net
- とりあえず動くし
- 46 :仕様書無しさん:2012/07/19(木) 23:22:35.55 .net
- 明日までにとりあえず動くサンプルを用意して
元凶は客に良いかっこ見せたいアホのこんな一言の積み重ねにある
- 47 :仕様書無しさん:2012/07/19(木) 23:56:13.44 .net
- しかも「朝イチまでに」
- 48 :仕様書無しさん:2012/07/20(金) 06:51:55.78 .net
- 「とりあえず動くし」をやめれば、デバッグの工数が激減すると思うのだが、
あくまでも思うだけなんだよな・・・・実際はどうなんだろう・・・・・?
- 49 :仕様書無しさん:2012/07/20(金) 16:11:53.22 .net
- 生産性が下がります
- 50 :仕様書無しさん:2012/07/21(土) 03:07:26.43 .net
- クラス設計、テストの実装がきちんと出来ていればデバッグ工数は格段に減るよ
改修コストもかなりかるいし、UTあるとリファクタリングしやすいからいかようにも出来る
Excelチェックシートのテストとか頭悪い事この上ないって思うようになるよ
- 51 :仕様書無しさん:2012/07/21(土) 06:53:00.02 .net
- 曜日と時間から漂う絵に書いた餅感が尋常じゃない件
- 52 :仕様書無しさん:2012/07/21(土) 08:43:35.19 .net
- >>51
こういうのは恨み節というんだよ
実感こもっている
- 53 :50:2012/07/21(土) 10:57:26.96 .net
- >>51
週末は早寝しなくていいからなw
普段は朝6時起き、8時半始業〜の5時定時だから、その反動で夜更かししたくなるんだ
ああでも絵に描いたもちなのは確かにそうだ
最近やってるのはずっとそういうのが全くない環境で、頭の悪い仕事ばっかやってて気が狂いそう
腐ったスパゲッティをどうほどくのが今後楽になるか、ってことばっか考えてる
ほどく蕎麦からバグ出てくるし…
- 54 :仕様書無しさん:2012/07/21(土) 11:15:35.45 .net
- >>53
麺類好きだな
- 55 :仕様書無しさん:2012/07/21(土) 11:27:12.92 .net
- いま一つなSEの仕様書や設計書内容も、顧客が示す受け入れテストの内容も、開発工数には影響するけど、
アレな人が自分のアイディアで編み込むスパゲティーの原因にはならない。
当然、スパゲティーによって後日の改修工数が膨れる事の予防にもならない。
- 56 :仕様書無しさん:2012/07/21(土) 15:03:59.53 .net
- 貸し借り無しの、20年前に戻してあげよう。
- 57 :仕様書無しさん:2012/07/21(土) 21:35:40.72 .net
- >>50
そもそも後でリファクタリングしないといけないようなものなんて・・・・・・
- 58 :仕様書無しさん:2012/07/22(日) 02:20:50.51 .net
- ソフトウェアの開発能力:アメリカ、韓国、台湾産>>>>>>越えられない壁>>>>>>日本
国産スマホ期待の星 富士通ARROWSがカクカク・誤タッチ
http://ggsoku.com/2011/11/arrows-x-lte-f-05d/
181:名無しさん@涙目です。(dion軍):2011/11/30(水) 01:17:58.93:ID:zDKGRYD00
アメリカ、韓国、台湾産>>>>>>越えられない壁>>>>>>>>>>>>国産
なんでこんなに差つけられてんの?ほんと終わってるわ
192:名無しさん@涙目です。(茸):2011/11/30(水) 01:21:24.29:ID:79rmmTkM0
>>181
根本的にはソフトウェアの技術者を育成しなかったから
ただし賃金に見合うスペックの技術者を育てられたかというと難しい
205:名無しさん@涙目です。(アラバマ州):2011/11/30(水) 01:25:04.49:ID:6LGomvLY0
GALAXY Sとか1年半前の端末に負けるって終わりすぎてるだろ
327:名無しさん@涙目です。(長崎県):2011/11/30(水) 02:33:08.04:ID:bE6U4pHC0
本当にソフトウェアの開発能力がないんだな、日本は…どうすんだ、これ…
ガジェ大好き名無しさん 投稿日:2011年11月30日 15:53 返信
日本の開発環境→二次三次四次下請けへ丸投げ人員ピンはね業
実際にコードを書いてるのは五次下請けあたり
派遣まみれでプログラミングなんて知らない人達が書いてます
ガジェ大好き名無しさん 投稿日:2011年12月2日 09:47 返信
プログラミングを知ってるのは逆に一番下請の人たちだけど
何故か設計は元請けのプログラム知らない自称SEが設計してますwww
そりゃ日本の端末はダメだわwww
ガジェ大好き名無しさん 投稿日:2011年12月2日 12:30 返信
だってプログラミングのプの字も知らない奴らがポンチ絵描いて下請けに投げてるだけだもん
日本の産業糞すぎ
- 59 :仕様書無しさん:2012/07/22(日) 08:01:51.13 .net
- >>58
いつも思うんだけど、日本ができていないのは
個々の技術者のスキルを一定水準に持ち上げることじゃなく
開発設計フローの組織化と最適化じゃないのか
さらに言えば、「ものづくり神話」(←勘違い!)のせいで
メカ>>>>>>エレキ>>>>>>ソフト
の順で技術者の「エラさ」が固定されているから
マイクロソフトやアップルのような企業は日本では出現しない
「昔の家電がiPhoneひとつに収まっちゃいました(電機業界が儲からないわけだよね)」って
画像を見たことがあるけど、まさにそれ
- 60 :仕様書無しさん:2012/07/22(日) 08:33:02.05 .net
- 日本のソフトウエア技術者と掛けて原子力保安院と解く。
その心は、
おまえら全員素人じゃないか!
(記者会見でブチ切れた記者のヤジ)
- 61 :仕様書無しさん:2012/07/22(日) 13:31:28.78 .net
- うぉーたーふぉーるで縦に割れまくってるくせに出来上がるものはスパゲッティ
流すなら素麺みたいにもっとつるっとおいしく頂きたいもんだわ
ソフト系の業界はほんとアレだよな
何がダメって、大手が技術力を持たなさ過ぎ軽視しすぎでアレ
伸びっこないわ
- 62 :仕様書無しさん:2012/07/22(日) 15:23:03.04 .net
- 日本のIT産業の失敗には次の2つの理由がある
他産業への従属化に舵をきったこと
利益を重視してヒトやモノへの投資より消費を優先させたとこ
これのおかげで使い捨て奴隷ばかりが増し人材を作る環境が潰え
知識や技能の向上を人任せにさせ人材を作ろうという風潮まで潰えた
- 63 :仕様書無しさん:2012/07/22(日) 18:00:27.69 .net
- ジョブスのスピーチを有難がって買い求めるサラリーマンとか笑えるwwwww
笑える・・・
- 64 :仕様書無しさん:2012/07/22(日) 19:30:11.89 .net
- ジョブズに限った話じゃないだろ
- 65 :仕様書無しさん:2012/07/22(日) 20:45:41.86 .net
- カッコいいところだけ一流の経営者のまねをしたいだなんてどんだけ小児的なんだよ
まるで現政権の首脳陣だよ
- 66 :仕様書無しさん:2012/07/22(日) 22:35:14.59 .net
- ジョブズのスピーチって全部ゴーストライターが書いてて、本人は教養もなくゲスなアホだったらしい。
ジョブズが本当にドヤ顔で言ってた言葉としてAppleの幹部が非公式に認めているのは
ゲイツのチンコはマイクロでソフト
事あるごとにこのオヤジネタ繰り返して悦に至ってたらしいね
- 67 :仕様書無しさん:2012/07/22(日) 22:48:11.87 .net
- >>66
wwwwwwwwwwwwwww
グッジョブw
- 68 :仕様書無しさん:2012/07/23(月) 02:54:22.59 .net
- ジョブスも一応半田付けくらいはやったぞ。ほとんど肝心なところはウォズが作ったけど。
- 69 :仕様書無しさん:2012/07/23(月) 15:10:20.67 .net
- 自分の作った会社から追い出だされるような人だしな
- 70 :仕様書無しさん:2012/07/23(月) 16:18:11.69 .net
- ジョブスは偉大だ
- 71 :仕様書無しさん:2012/07/24(火) 01:30:53.15 .net
- N-BASICあたりでは、サブルーチンなし、条件比較分とGOTOだけのプログラム書いてたよ。
いまみたらさっぱり解らん、当時の俺は天才かもと思ってしまう。
- 72 :仕様書無しさん:2012/07/24(火) 10:48:21.71 .net
- >>71
しかも、DAT文でマシン語だからね。
- 73 :仕様書無しさん:2012/08/06(月) 22:15:07.18 .net
- >>66
”自分はアホ”と自分で認識していたんで優秀なゴーストライターを雇った
ってところが賢いと思うんだが
- 74 :仕様書無しさん:2012/08/06(月) 22:48:45.12 .net
- 引継ぎさせられると素人PHPerのスパゲティソースがマジでむかつく
更地にしてやりたくなる
- 75 :仕様書無しさん:2012/08/08(水) 10:40:11.12 .net
- >>74
フレームワークの使い方わかってなくて、めちゃくちゃなことしてたりするよな。
- 76 :仕様書無しさん:2012/08/10(金) 00:26:31.38 .net
- あるあるすぎる
こっちは納品後のソースに対し客が内部で開発してぶち壊した挙句
バグだってこっちに障害報告あげてきててマジはげそうだわ
内部開発自体もう数年繰り返してるんだから、少しくらい言語仕様学べよ…
- 77 :仕様書無しさん:2012/08/11(土) 17:19:09.73 .net
- 納品先が中身いじったんなら当然追加費用取れるだろ?
なら、別によくね?
- 78 :仕様書無しさん:2012/08/11(土) 17:46:42.99 .net
- いや金の問題じゃなくて、いつまでたっても成長しない相手を嘆いてるんじゃまいかと
- 79 :仕様書無しさん:2012/08/11(土) 17:49:40.15 .net
- 最初なら丁寧に説明して対応する
二回目でも次からガンバレの気持ちで普通に対応する
でもそれが三度四度と続くと、お前等いい加減に汁!と怒りたくもなる
- 80 :仕様書無しさん:2012/08/11(土) 19:55:46.13 .net
- いや、最初に譲歩しちゃダメ
ビジネスなんだから
そこ納得してくださいってことは丁重に説明するけど譲歩はダメだ客がつけあがる
- 81 :仕様書無しさん:2012/08/12(日) 10:11:46.60 .net
- >>77
大手だから、客とやり取りしてる立場じゃないからなぁ
コード自体全て向こうの持ち物だっていう契約で、
渡されたコードに対して機能改修とかを加えるっていうアレなスタンスだから、どうにもならん
ぶっちゃけスパゲッティが量産されすぎてて、もう手に負えない
- 82 :仕様書無しさん:2012/08/12(日) 10:28:37.83 .net
- >>78
それもあるなー
自分なんて、今の仕事始めて1年半弱くらいだし、プログラミング言語経験もほぼ同じくらいしかないにわかマ
そこに入ってから勉強しただけだってのに、なんか気づいたら一番詳しい人みたいな扱いされてたりする
客で開発してる奴も、うちで開発してる奴も、そういうの勉強する意思みたいなのあんまないしなぁ
動けばいい、あとの事は知らんって感じ
>>80
直接相手したことはないけど、うちのとこもだいたいそんな感じになってるっぽいな
客の客が相当馬鹿なこと言ってるらしくて、客がそれを丸呑みする状況になってるくさい…
やっぱ水が落ちてくるような感じの仕事はもうだめだと思うわ
とてもておくれている
- 83 :仕様書無しさん:2012/08/13(月) 05:49:34.47 .net
- ウォーターフォールモデル、死すべし!
- 84 :仕様書無しさん:2012/08/13(月) 18:58:08.05 .net
- >>83
ちゃんと設計やレビューがあるなら良いと思うの。実際は分析者なり設計者が思い付いたことだけ書き付けて、責任は後工程になすりつけるのが問題かと。
途中参加で仕様確認したら、何となくわかるやろとか、いい感じでと言われたよ。しかし、作り上げたもの見て思ったのと違うと言う。
- 85 :仕様書無しさん:2012/08/13(月) 19:20:10.85 .net
- 本当にほしいと思ってる人間と、作る人間の間に無駄に人が挟まりすぎるのが問題
- 86 :仕様書無しさん:2012/08/13(月) 21:46:50.43 .net
- 更に、仕様変更と言う名の手戻りが頻発するしな。
元の落水教授の論文では、それは全く別案件として新規料金が発生する
としてるが、現実問題としてIBMでも無い単なる派遣SIerの営業がそんな
交渉力持ってるはずもなく…
パンダは、タイヤブランコにブラ下がってれば良いと思うよ。
- 87 :仕様書無しさん:2012/08/14(火) 13:20:52.17 .net
- あって当然の機能だから仕様にはないがあるものと思ってた。
なんのための仕様確認だよ。
- 88 :仕様書無しさん:2012/08/14(火) 21:35:17.52 .net
- <?php
function();
?>
HTMLタグ
<?php
require(・・・);
?>
HTMLタグ
<?php
$・・・=new xxx();
・・・
?>
こういうソースがマジで嫌い。
javascriptとHTMLでスパゲティなのに、更にPHPでスパゲティw
しかもクライアントからコメントつけんな、引継ぎ前のソースそのままにしろとか、そういう仕事が回ってきたときの頭痛がハンパない
- 89 :仕様書無しさん:2012/08/14(火) 21:41:31.91 .net
- >>88
アクセスカウンター埋め込むだけとかなら、そういう方が楽だけどな。大きくなってきたら変えるとか言うけど、大きくなってくると変えるの大変とか言い出すんだよな。
- 90 :仕様書無しさん:2012/08/14(火) 22:08:20.76 .net
- そんな人達のためにRailsがある
というか、PHPでもMVCベースのフレームワークがあるんじゃねえの?
- 91 :仕様書無しさん:2012/08/14(火) 22:35:45.78 .net
- >>90
その導入コストの話です。
- 92 :仕様書無しさん:2012/08/14(火) 22:45:45.56 .net
- 変えたくなくても、セキュリティの為にRubyを上げたらRailsも上げないといけなくて、
そして非互換性に泣かされる。
>>88
>引継ぎ前のソースそのままにしろとか
これ、どこのクライアントも言うよね。変更箇所は最小限にしろ、とか。
かえって大変なんですけど。それも凄く…。
そんなソースコードに限って、600万行も有って、初期は16bit MS-DOSコーダが
書いてたりして、intをshortに#defineしてたり…。それを64bit環境で元のソースを残せだと??
- 93 :仕様書無しさん:2012/08/14(火) 23:41:40.65 .net
- >>91,92
スパゲティは嫌、フレームワーク導入への意欲も無しもじゃあ単なる無能だろ
- 94 :仕様書無しさん:2012/08/14(火) 23:42:15.60 .net
- >>90
メジャーなものではCAKEPHPとかあるけど、デフォルトでソース汚いよ。
>>92
引継ぎ前のソースがスパゲティで統一感がないともうむちゃくちゃだよな。更にコメントが意味不明だったり無かったりする。
オブジェクト指向で書くのはいいんだけど、コーダーごとにルールが無茶苦茶だったりとか。
そのスパゲティソースを何万行、数百ファイル規模で現状維持と着たらもう皆こんな感じ
/\___/ヽ ?
/ --= 、_:::::\nn
.| (●),ン <(●) 、.:|..| |^n
| ,,ノ(、_, )ヽ、,, .:::::|.|..| |.|
.| _,ィェエヲ` .::::::|! : :|
\ `ー'´ .::::_人 :イ
/`ー‐--‐‐―´\| │
- 95 :仕様書無しさん:2012/08/14(火) 23:43:22.91 .net
- 変更箇所が少ない方が工数が少ないと勘違いしてるのか、
変更箇所が空くなければ管理工数が少なくて済む(=俺たちの仕事増やすな)
のどちらかだとおもうよ。
- 96 :仕様書無しさん:2012/08/15(水) 00:38:11.66 .net
- >>93
>>91でも言っているように、どこからスパゲティになるのかという話です。
スパゲティのおそろしいところは、あたたかいうちはマキマキできるが、時間が経って冷めるとマキマキしたときに全部くっついてくる依存関係。
- 97 :仕様書無しさん:2012/08/15(水) 02:16:13.65 .net
- >>96
だからここで愚痴ばかりたれていないで、スパゲティをからませない上手い方法が
ないかを真面目に考えよう、と言ってるんだが。
- 98 :仕様書無しさん:2012/08/15(水) 02:27:10.84 .net
- >>97
スパゲティなら茹で上がったら直ぐにオリーブオイルをからませば絡みません。
スパゲティは絡みやすいのでからまないパスタを使えば良いのです。
- 99 :仕様書無しさん:2012/08/15(水) 02:36:21.92 .net
- >>97
単なる無能だろうと蔑むと絡まなくなるの?
- 100 :仕様書無しさん:2012/08/15(水) 12:25:35.91 .net
- 鳩山と同じさね。
自分の無知無策を棚に上げて他人のアイディアにすがるだけ。
- 101 :仕様書無しさん:2012/08/15(水) 12:52:37.28 .net
- >>100
スパゲッティ茹でたの小泉だよ
- 102 :100:2012/08/15(水) 13:07:43.91 .net
- >>101
ごめんね、97のスタンスを書いたんだけどそれ何の話?
あと、茹でるだけなら絡まないよね。
- 103 :仕様書無しさん:2012/08/15(水) 13:20:58.48 .net
- 対話と圧力!
- 104 :仕様書無しさん:2012/08/15(水) 13:24:02.02 .net
- スパゲティじゃなくてマカロニを茹でさせればいいんだけどね。
コーディング規約で100ステップ以内と制限するとか。
キチガイがコーディング規約を守ってくれるという机上の空論ですが。
- 105 :仕様書無しさん:2012/08/15(水) 13:49:38.34 .net
- >>104
エディタのスクロールバーをとっちまえ。
>>100
対策が必要になる規模を見極めるというアイディアを出したのだが、読めなかったか?
- 106 :仕様書無しさん:2012/08/15(水) 13:58:59.33 .net
- >>97
スレ違いだろう。
必要だと思うなら、からまないようにするアイデアのためのスレを立てたらいい。
コーダーについて語りなよ。
- 107 :100:2012/08/15(水) 14:04:54.04 .net
- >>105
ごめんね、何番をどう解釈する前提なのか説明できる?難しい?
- 108 :仕様書無しさん:2012/08/15(水) 14:34:57.87 .net
- スパゲッティおいしいです
- 109 :仕様書無しさん:2012/08/15(水) 18:16:44.80 .net
- コードレビューできるくらいに知識のあるコーダーが足りてない
- 110 :仕様書無しさん:2012/08/15(水) 18:17:04.73 .net
- あとコードレビューするような時間も足りてない
明らかに見積もりが破綻してる
- 111 :仕様書無しさん:2012/08/15(水) 19:11:05.31 .net
- >>107
>>89を素直に解釈すればいいよ。
- 112 :仕様書無しさん:2012/08/24(金) 00:33:06.53 .net
- レビューするPMや顧客が、ソリテア爺。
プログラミング言語なんか分からないし、分かるつもりも無い。
配布資料の表紙や目次の構成、ページ番号の付け方やフォントwとか、
ソフトウェアの本質とは全く関係無い点にばっか注文。
そのくせ納品済んでから、現地テストの様子を背後から見て初めて
「何だ、これは!!」「こんなハズではなかった!!」「想定外!!」
を連発。何の為のレビューだよ…
- 113 :仕様書無しさん:2012/08/25(土) 00:07:55.47 .net
- あるあるw
スパゲッティなのはコードよりも体制とかおえらいさんの頭の中だった、って事が多いw
- 114 :仕様書無しさん:2012/08/25(土) 13:10:55.21 .net
- SEとかいう肩書きのメッセンジャーを外せば解決する。
- 115 :仕様書無しさん:2012/08/27(月) 01:15:25.20 .net
- >>112
うちも同じだわ。
レビューという名の資料体裁チェック会をメンバー集めて儀式のように執り行う。
以前、品保から来ている爺に、内容についてもキチンと精査してくれ!と言ったら
「体裁がキチンとしていない資料は読むに値しない」と一言。
確かに一理あるが、内容を精査しなくてもいい理由にはならんだろうに・・・
- 116 :仕様書無しさん:2012/08/27(月) 02:38:55.27 .net
- お役所関連は資料の厚さしか見ないから、ちょっと高級な厚い紙を使う。
- 117 :仕様書無しさん:2012/08/27(月) 09:49:56.40 .net
- コピー用紙なら安い紙のほうが厚いぞ
アスクルあたりで大安売りしてる外国製のやつとか
- 118 :仕様書無しさん:2012/08/27(月) 15:12:43.73 .net
- >「体裁がキチンとしていない資料は読むに値しない」と一言。
むしろ反比例してるのにな。
限られた時間とリソースの中で仕事するんだから、外見の体裁と内容に割く割合の問題。
- 119 :仕様書無しさん:2012/09/06(木) 00:46:35.46 .net
- 読むに価しない、という考え方が全くわからんわけではないが、
ゴールは体裁がきちんとした仕様書を作ってそれを眺めて満足することではなかろうにな
何が重要で、何処のクオリティを最優先すべきかの判断すら出来ないやつが、
上から指示してるってあたりがアレだわなw
まぁぶっちゃけ老害は内容を理解できないのを別の理由でごまかしてるだけなんだろうけど
- 120 :仕様書無しさん:2012/09/06(木) 03:16:13.92 .net
- まぁでも資料もろくに作れない奴じゃコードもたかが知れてるだろ
- 121 :仕様書無しさん:2012/09/06(木) 21:19:53.10 .net
- コード=資料
直接読めば済む話なのに。そもそもコードレビューなのに何故コード読まないの?
読めないの?
- 122 :仕様書無しさん:2012/09/07(金) 01:20:44.62 .net
- ちゃんと読める奴がレビューするなら、ここまでスパゲッティが氾濫するわけないじゃん
- 123 :仕様書無しさん:2012/09/07(金) 02:36:33.24 .net
- 少なくとも、どの現場でも誰かが誰かのコードの悪口を言ってるな。
つまりは、自分の書いたコード意外は誰しも
醜いコードに見えている、ということじゃないか?
- 124 :仕様書無しさん:2012/09/08(土) 13:54:55.87 .net
- 理解力が足りなくて複雑に感じてる奴と、
そういう理解力が足りなかった奴が書いた酷いコードをスパゲッティと読んでる奴の両方がいる
本質的なスパゲッティ職人は前者なんだが、前者からしたらちゃんとしたコードですらスパゲッティになる
- 125 :仕様書無しさん:2012/09/08(土) 14:14:44.81 .net
- モジュール間の依存関係が強いものをスパゲッティコードというんじゃないのか。絡まってるから、一箇所いじろうとすると全部ついてくる。
そもそも設計しないプログラマには依存関係なんて意識ないのか。
- 126 :仕様書無しさん:2012/09/08(土) 14:18:32.95 .net
- 最近は設計にかなり時間をかけるから昔みたいな本格的なスパゲッティは少なくなったお思う
残ってるのは零細がサクラエディタ一丁でいきなりコーディングはじめたサーバサイドJavaプロジェクトとかぐらいな気がする
- 127 :仕様書無しさん:2012/09/08(土) 14:43:33.54 .net
- サクラエディタ一丁でいきなりコーディングはじめたサーバサイドJavaプロジェクト
いまどき↑そんなのあるか。
- 128 :仕様書無しさん:2012/09/08(土) 15:14:48.94 .net
- メモ帳でperlいきなり書いてた頃が懐かしい。
- 129 :仕様書無しさん:2012/09/08(土) 15:19:26.53 .net
- >>127
Javaなんてフリーで高機能でリソース大量に食うIDEがあるのにいきなり
テキストエディタで始めるやつなんておらんやろ。ろくなIDEも無いスクリプト系の
プロジェクトならいざ知らず。
- 130 :仕様書無しさん:2012/09/08(土) 15:21:41.68 .net
- そうだ、とりあえずIDEのトラブル解決がメインだ。
- 131 :仕様書無しさん:2012/09/08(土) 16:37:12.13 .net
- 零細だとIDEすら使いこなせないのゴロゴロいるんだよ
- 132 :仕様書無しさん:2012/09/08(土) 17:07:00.47 .net
- IDEで書こうがスパゲティにするやつはする
- 133 :仕様書無しさん:2012/09/08(土) 17:43:42.71 .net
- IDEでしか開発できないやつって、トラブルに弱い。でかいチームの一部としてしか生きてけないな。
- 134 :仕様書無しさん:2012/09/08(土) 17:49:58.56 .net
- うちの会社、そもそもIDEっていって通じないんだけど。
- 135 :仕様書無しさん:2012/09/08(土) 17:53:32.65 .net
- らっきょ
- 136 :仕様書無しさん:2012/09/08(土) 17:53:36.91 .net
- >>134
"いで"とか言ってんじゃないの。
- 137 :仕様書無しさん:2012/09/09(日) 00:20:46.34 .net
- 今は、P-ATA
- 138 :仕様書無しさん:2012/09/09(日) 02:57:34.35 .net
- 普通にVSとかEclipseとか固有名詞しかしらなくて、IDEってのを知らないって事だと思う
コーディングとデバッグくらいは何とかできる人は多いけど、
プロジェクトの作成とか初期設定的なことは一切出来ないやつ多いと思うよ
ショートカットで呼べるような機能使えないどころか、
クラス探すのも一覧から名前を目視で探して…みたなのも結構いる
そしてそういう奴は大抵、フォーマッターなんかを嫌ってて、
俺々コーディングルールやフォーマットに心血注ぐのが得意な、スパゲッティ農家
- 139 :仕様書無しさん:2012/09/09(日) 07:45:49.87 .net
- 問答無用でCtrl+Shift+F
- 140 :仕様書無しさん:2012/09/30(日) 10:07:31.40 .net
- // 継ぎ足し継ぎ足した秘伝のソースです。よく絡めてお召し上がりください。
- 141 :仕様書無しさん:2012/09/30(日) 14:20:09.73 .net
- 濃厚な味わいすなぁ・・・・吐
- 142 :仕様書無しさん:2012/10/07(日) 16:27:49.31 .net
- 先生、141君がエラー吐きました。
- 143 :仕様書無しさん:2012/10/07(日) 22:56:38.49 .net
- , -- .、
,, - ´ `丶、
./ , -――- 、、 \、
//, ´ : : : : : : : : : : : : :\ハ丶
/∠ : : : : :./∧ : : : : :∧i : : :\ 丶
< / : : : : ,.i/ \:.:/ `!i: : : :,ヽ >
ヽi : : :/┴──`´──┴ : : : i/
. ゝイ| i∨ i
i( .|: | -━━ ━━- .i: i.):| ォオ゛エ゛ェ゛ェ゛ェェ゛エエ゛エェ…
|:ゝi:.| ′ |.: :|:.|
|: : |:ゝ. r------- ,イ.: .| :|
ソ:/ |. ||`丶||||||||||||||||イ .|||:.: |: ∨
. /:/.:.:| .|| . ヘ||||||||||||||||/ ‖|:.: |i:.:∨
/:./:.:.:| .YO |||||||||||||||| Y |:.: | i: :∨
. /: /|:.:.:.|./| 。.|||||||||||||||| .|ゝ|o:.| .i: :.∨
/: :/ |.:.:.:| >\||||||||||||||||/|. .|:.:.:| ゝ:.∨
. /: :/--- o.>`|||||||||||||||||||||||<、|:.ノ-. ゝ:.:∨
/:´/ ̄/。(三/|/\/\|\O三)\ ̄\`∨
./:/| \ ─___─────___─ / |:∨
.: | \_\ノノノ  ̄ ̄ ̄ ̄ ゝゝゝ/_/:./
- 144 :仕様書無しさん:2012/10/11(木) 01:00:56.96 .net
- イカ墨スパゲッティのコーダかw
- 145 :仕様書無しさん:2012/10/11(木) 01:08:50.76 .net
- すごく・・・黒いです・・・
- 146 :仕様書無しさん:2012/10/11(木) 20:48:31.64 .net
- 深いな。
- 147 :仕様書無しさん:2012/10/29(月) 20:19:57.32 .net
- ミートスパコーダーもあるらしい
- 148 :仕様書無しさん:2012/11/03(土) 03:57:37.28 .net
- コードレビュー仙人がいたらいいんだけど
- 149 :仕様書無しさん:2012/11/03(土) 17:04:33.50 .net
- コードレビューする奴が書いたソースがスパゲティだからお話にならない。
- 150 :仕様書無しさん:2012/11/03(土) 18:34:47.43 .net
- レビュアーという名の赤ペン先生
頼むから対等な立場でのコードレビューもさせてくれ・・・
- 151 :仕様書無しさん:2012/11/03(土) 19:40:26.89 .net
- 普通の設計できる人がいれば、どんな海鮮…タコプログラマでもそこまでスパゲッティにならない。
- 152 :仕様書無しさん:2012/11/03(土) 20:28:08.91 .net
- レビューする以前に、フォーマッターすらかけれない糞も多い
使わない理由が俺々コーディングスタイル保持のためだったりするし手に負えない
そういうスパゲッティーコーダー未満は個人開発だけやってて仕事でコーディングしないでほしいわー
- 153 :仕様書無しさん:2012/11/04(日) 09:51:49.61 .net
- >>152のコードこそがK&Rの伝統を無視したオレオレスタイル。晒しage
- 154 :仕様書無しさん:2012/11/04(日) 11:37:32.88 .net
- …などと意味不明な供述を繰り返しており…
- 155 :仕様書無しさん:2012/11/24(土) 11:41:33.32 .net
- これをご覧あれ。
http://www.columbia.edu/cu/computinghistory/plugboard.html
これはパンチド・カード・システム(PCS)のプログラム・ボード。
2枚目の写真のようにケーブルでジャックを繋いでプログラミングするのだが
要領が悪いとケーブルがぐちゃぐちゃになってまるでスパゲッティの
ようになる。
それでスパゲッティ・プログラムと呼ばれるようになったのだ。
- 156 :仕様書無しさん:2012/11/24(土) 12:30:46.86 .net
- >>155
スパゲッティこうだ!
アッー
- 157 :仕様書無しさん:2012/12/12(水) 21:47:02.80 .net
- スパゲティ!
- 158 :仕様書無しさん:2012/12/19(水) 04:07:44.70 .net
- すぱげりぃ
- 159 :仕様書無しさん:2012/12/21(金) 00:10:02.82 .net
- やっぱこれでしょう。
http://labaq.com/archives/51163885.html
- 160 :仕様書無しさん:2013/01/29(火) 01:55:34.48 .net
- 小汚いプログラムをスパゲッティに例えるのはスパゲッティに失礼
俺はナポリタンが好き
- 161 :仕様書無しさん:2013/01/30(水) 19:55:47.81 .net
- スパゲッティはおいしくいただけるけど、糞コードは不幸しか生み出さないもんな…
- 162 :仕様書無しさん:2013/02/01(金) 08:07:59.43 .net
- しかしスパゲティは糞となって出てくる。
- 163 :仕様書無しさん:2013/02/01(金) 10:27:22.09 .net
- マカロニは食べるときに非効率
- 164 :仕様書無しさん:2013/02/01(金) 21:33:06.88 .net
- マカロニウエスタンってホントはスパゲッティウエスタンって言うらしいな
- 165 :仕様書無しさん:2013/02/02(土) 01:32:59.75 .net
- 実際スパゲッティってさ、そんなに絡まってねーよな
- 166 :仕様書無しさん:2013/02/02(土) 15:24:11.96 .net
- アメリカのスパゲッティ缶詰を知らんのか
茹でた物を詰めているのでブヨブヨに膨れあがっている恐ろしい代物だぞ
- 167 :仕様書無しさん:2013/04/01(月) 23:50:36.86 .net
- UT実装できないような糞コード書く奴は全員スパゲッティに首しめられて息絶えて欲しい
- 168 :仕様書無しさん:2013/04/05(金) 01:48:07.62 .net
- クソコードをテストで表現して行くのって地味だけど楽しいよな
- 169 :仕様書無しさん:2013/04/06(土) 09:19:44.29 .net
- UTの実装に慣れてくると、どう実装するのがテストコード書きやすいか分かるようになって
結果的にスパゲッティしていない読みやすいコードになるよな
TDDは冗長なやり方だと思ってるけど、そういう意味ではTDDに近い開発やることの意味は大きいと思う
- 170 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- オブジェクト指向を理解してない人ほど機能を一箇所に実装しようとしてスパゲッティする感じ
今更だけど、オブジェクト指向わかってない人がめっちゃいる
- 171 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- Javaとかで機能単位で書いたことある人がオブジェクト指向余裕だぜって言っているだけでしょ。俺の周りでわかっている人は1割も居ない。
OMTとかRUP使わないと理解できなんじゃないか。
- 172 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- OMTやRUPはなぜ失敗したのかわかる?
- 173 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- 俺の中ではOMTは問題なく使えているが。君はなんで使いこなせなかったの?
- 174 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- お前が使いこなせるかどうかなんてどうでもいいよ。
嘘言っていたとしてもわからんのだから。
え? 俺の言ってることも信じられない?
じゃあ世間に問いましょう。
OMTやっててうまく言ってる事例、
ネットから探してください。
もちろん方法論提唱者の妄想以外で
- 175 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>174
別に自分の要件が満たせているなら他人がどうでもいいだろ。
というか構造化の開発手法の成功事例はネットに氾濫しているのか?
- 176 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- 失敗したのはスキルのない技術者モドキが増えすぎたことであって、開発手法自体が失敗ではないと思う。
- 177 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>174
そういうときはな、相手に成功例を求めるんじゃなく、相手の失敗例を提示するんだよ?
いつも他力本願で解決しようってスタンスじゃ、「わかりませんおしえてください><」って聞いて回って理解できず
コピペでスパゲッティを生み出していくゴミグラマと同レベルじゃないか。
- 178 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>172
OMTの成功があったからこそ、今のOOP/OOD/OOA全盛期が生まれたのではないの?
少なくとも書籍「オブジェクト指向方法論OMT」が国内出版された1992年当時、
Smalltalkや初期のC++は登場していたけど、一般のプログラマにとって遠い存在だった。
それがOMTというソフトウェア設計を視覚的に表現できる技法が紹介されたおかげで、
一般のプログラマにもOOP/OODが爆発的に普及したと記憶している。
>>172が何をもってOMTが失敗したとみなしてるのか、まったく分からんよ
- 179 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- どうせ 俺が理解できないから失敗 って奴でしょw
無駄会議と同じで続ける価値のある話題ですらない
スパゲッティコーダーがOOP理解してないってのは同意
まともな設計とかできないレベルのやつばっか
- 180 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- オブジェクト指向というのは
プログラミング言語のために作られたもの。
OODとかOOAとかいうのは、
OOPでOOが普及したからその名前を借りたに過ぎない。
OODやOOAはオブジェクト指向という名前をつける理由がない。
何処にもオブジェクト指向の要素がないのだから。
- 181 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- OMTによってOOP/OODが普及したというのなら、
OMTをだれだって知っているはずなんだが、
誰も知らんよ。
- 182 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>181
OMTはJ.ランボー氏が個人的に考案した設計法だ
そしてOMTや類似の設計法が大いに普及するにつれて、それらを標準化する動きが生まれた
それがUMLであり、UMLの登場によってOMTは役目を終えた
ただし、OMTが役目を終えたとはいえ、初期のOO普及に貢献した事実が消え去ることは無い
で、現在だけど、オブジェクト指向をやってる人でUMLを知らない人なんているの?
- 183 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>180
>何処にもオブジェクト指向の要素がないのだから。
継承(inheritance, インヘリタンス)も知らないの?
- 184 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>182
UMLは分析手法じゃない。
ただの図形。
OMT(分析手法)が消えて、UML(図形)のみが
残ってることから明らかじゃないか。
必要だったのはOOPを図式化する図形の標準
標準を使わなくても図形を書くことは出来る。
だが統一したという功績のみは認める。
でもそれだけだよ。分析手法は見事消えてなくなった。
- 185 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- 消えてなくなったってのは何処ソースだよ
自分の住んでる井戸の中だけの話じゃないか?
- 186 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>178
>少なくとも書籍「オブジェクト指向方法論OMT」が国内出版された1992年当時、
>Smalltalkや初期のC++は登場していたけど、一般のプログラマにとって遠い存在だった。
C++は1983年、smalltalkに至っては1970年代に登場していたわけで、オブジェクト
指向自体はかなり昔から存在しているんだよね。それでも使えない人の方が
圧倒的な現状では何を言っても説得力は無い。
- 187 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- 未経験歓迎うたって契約した奴隷を売りつける商売が賑わってるから、そりゃスパゲティコーダーだらけにもなるわなぁ
- 188 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- TDDでSOLID原則意識して作ったら、今までと大分違うコードが出来た
これは楽しい
- 189 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>180
お前が、OMT使ったことが無いということはわかった。
- 190 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>186
昔からあるのはオブジェクト指向言語、つまりOOP(OOPL)だけだな。
それ以外のものは、オブジェクト指向の人気にあやかって
作られただけ。
関係ないものに無理やり「オブジェクト」って頭につけたんだよ。
- 191 :仕様書無しさん:2013/07/28(日) NY:AN:NY.AN .net
- >>190
設計とかしたことないの?
- 192 :仕様書無しさん:2013/08/29(木) NY:AN:NY.AN .net
- 10: goto 100:
20: goto 200:
100: goto 20:
200: goto 10:
300: end;
- 193 :仕様書無しさん:2013/09/14(土) 15:11:02.53 .net
- UMLはいらないスレから出てくんな
- 194 :仕様書無しさん:2013/09/15(日) 13:51:29.58 .net
- メソッド名がいい加減でなにをやってるかがメソッドの実装を見ないとわからないタイプのスパゲッティと
メソッド分けすら出来ないタイプのスパゲッティの2種類がある。
- 195 :仕様書無しさん:2013/09/15(日) 19:30:56.39 .net
- 理解できないからスパゲッティってのにも、
読み手がクズの場合と書き手がクズの場合のスパゲッティの2種類がある。
- 196 :仕様書無しさん:2013/09/21(土) 13:11:24.21 .net
- うちの会社のVB.NETの画面のソースが3万行超えてた。
COBOLでも見たことない。
regionで折りたたんでいるが、頭悪いと思った
- 197 :仕様書無しさん:2013/09/21(土) 13:43:31.25 .net
- >>196
言葉の選び方が素人くさい
- 198 :仕様書無しさん:2013/09/21(土) 14:09:15.82 .net
- 1ファイルで10,000行のVB.Netなら見たことがあるぞ。
リファクタリングして6,000行になったが
- 199 :仕様書無しさん:2013/09/21(土) 15:00:59.60 .net
- >>198
自社製フレームワークにも問題あるし
利用する側もオブジェクト指向を全く理解出来てないのも問題だと思った。
まぁupdate文にwhere句つけないようなお嬢ちゃんが主力だから仕方ないわw
- 200 :仕様書無しさん:2013/09/28(土) 17:43:44.12 .net
- VB.NET使ったこと無いけど、普通は短くなるのか?
CとかC++ではアンロールでやたらと長いのはあるけど。
- 201 :仕様書無しさん:2013/10/15(火) 21:20:11.36 .net
- ソースもだが詳細な設計が悪い、もしくは詳細な設計がない
- 202 :仕様書無しさん:2013/10/15(火) 22:12:59.90 .net
- プログラム設計と言うべきレベルの詳細な設計は不要だけどな
フローチャートとかも
- 203 :仕様書無しさん:2013/10/17(木) 21:25:23.91 .net
- 設計が下手な奴って文才がないことが多いな。
だからと言って必ずしも逆は真ではないけど。
- 204 :仕様書無しさん:2013/10/20(日) 16:51:18.57 .net
- スパゲッティコーダーになろう
に見えたスレタイ
- 205 :仕様書無しさん:2013/10/22(火) 23:36:12.39 .net
- 今更・・やってるのか?
おもしろいか?
- 206 :仕様書無しさん:2013/11/04(月) 04:48:08.39 .net
- >>169 >>188
DI/AOP使って、正しいやり方でTDDすれば大抵の問題は防げる
ことに気づいた
俺もTDDでスパゲッティ卒業しました
- 207 :仕様書無しさん:2013/11/05(火) 17:24:04.76 .net
- 事前面接の事実をおさえて職安法44条で刑事告訴
http://wiki.algomon.com/wiki/%E4%BA%8B%E5%89%8D%E9%9D%A2%E6%8E%A5
- 208 :仕様書無しさん:2013/11/06(水) 04:24:21.60 .net
- 目的意識を高めてUNOTEでもホワイトボードでも買って仕様をまとめてからコード書く
- 209 :仕様書無しさん:2013/12/18(水) 15:07:27.03 .net
- インヘリタンスってヘリコプターの入ってるタンス?
- 210 :仕様書無しさん:2013/12/22(日) 10:45:09.81 .net
- 一つのメソッドといわない。ひとつの関数のコードが
画面に収まるぐらいにしとけば読むに楽、25行ぐらい。
またネストを深くしない。
一つの関数が長くなるのは、プログラマが集中力を高めて作業しているからで、
後で読み直す人は、テンションを上げなければ、ならないから。
面倒なのよ、長いコードは
俺の見たスパゲッティソースは状態遷移が幾重にも続くやつなんだけど、
しがし、見事だったのは、その時々に遷移の位置を監視変数に入れていることだった
それで、プログラムが実行している位置を外部に分かるようにしてあった。
- 211 :仕様書無しさん:2013/12/23(月) 17:02:02.44 .net
- 中国人が作ったコードを見るだけで吐き気がする。
一体同じコードがどれだけあるんだよ・・・
開発コストは安く済んだのかもしれんが、保守費は数倍かかるぞ・・・
ほんと、上の連中は目の前の利益だけ求めて先のことをまったく考えてないよ。
- 212 :仕様書無しさん:2014/02/04(火) 22:17:55.59 .net
- 先輩の鬱陶しいスパゲッティを茹で直そうとしたらより煩雑なゲッティが
- 213 :仕様書無しさん:2014/02/05(水) 11:06:41.49 .net
- >>212
一度ポイッしろよ( ´∀`)つ ミ
- 214 :仕様書無しさん:2014/02/08(土) 01:58:14.33 .net
- 構造化とか知らないのかな
古いプログラムに go toがいっぱい
- 215 :仕様書無しさん:2014/02/10(月) 09:51:41.93 .net
- call "A";
A:begin
call "A1":
end;
A1:begin
call "A11":
end;
だらけ・・・
- 216 :仕様書無しさん:2014/03/08(土) 22:20:46.78 .net
- スパゲッティになるのって、オブジェクト指向とか、
単体テストとか理解していない奴が陥りやすいよな。
特にテストを書かない奴は、変更とか機能追加とか
ひとつの関数に詰め込んで、肥大化していく。
他人が見たときはもうどうにも手が付けられない。
- 217 :仕様書無しさん:2014/03/09(日) 07:58:49.77 .net
- >>216
スパゲッティとかにならないように、オブジェクト指向が生まれたんだろ。
昔のやり方で品質だけ今時を求めるクライアントとか、馬鹿なんじゃないかと思う。
- 218 :仕様書無しさん:2014/03/09(日) 09:22:22.32 .net
- インタフェースでスパゲッチw
- 219 :仕様書無しさん:2014/03/09(日) 15:08:46.85 .net
- >>217
昔のやり方で品質だけを求めるのは元請のSE様じゃね?
- 220 :仕様書無しさん:2014/03/09(日) 15:17:51.61 .net
- >>219
元請けのSEより、ベンダーのIT部門の方が酷いイメージ。まあ、専業じゃないから知識がないのはいいが、それなら人の話を聞けと。
何にせよ途中まで決めたのなら、最後まで責任とれと。別に古いやり方で、生産性や品質が落ちるのは俺は構わない。その責任を取らされるのが困る。
- 221 :仕様書無しさん:2014/03/09(日) 17:48:20.02 .net
- 群馬にきたら「シャンゴ」な
そこかしこにあるローカルチェーン店だが
ガッツリいけるメニューも豊富で女子もOKなこじゃれた内装
- 222 :仕様書無しさん:2014/03/09(日) 18:04:00.13 .net
- >>220
開発から管理の方に回れば今時のツールやライブラリ、フレームワークのこととか
分からなくなっていくからね。開発プロセスはともかくツール類の進歩に着いて行け
ないような感じだな。現場の人間だってアンテナ広げてても追っつかない状態なのに
そうじゃない人だと余計に。 後は昔の成功体験とかが色々と邪魔をするね。
- 223 :仕様書無しさん:2014/03/09(日) 18:49:22.37 .net
- >>222
ついていけてないことを理解してて、どういうアウトプットが必要か考えるか聞いてくれればいいんだけどね。自分のやり方こそが唯一と思っているから、下流が無理矢理合わせて倍の工数かかる。
しかもそういうプロジェクトに限って言語やフレームワークが最初から決まっている。
- 224 :仕様書無しさん:2014/03/11(火) 22:59:29.52 .net
- >>223
C言語で標準ライブラリ無しとか
組み込みでは良くある話
- 225 :仕様書無しさん:2014/03/11(火) 23:32:09.10 .net
- >>224
組み込み限定の話にしたいのか?
- 226 :仕様書無しさん:2014/03/12(水) 06:41:06.68 .net
- ライブラリどころかコンパイラやOSすらないとか
- 227 :仕様書無しさん:2014/03/12(水) 08:30:43.94 .net
- >>225
組み込みも含めた話にしたいのさ
- 228 :仕様書無しさん:2014/03/12(水) 11:01:44.66 .net
- >>227
全ての分野で一貫して言える話なんてほとんどないだろ。
銀の弾丸はない。
- 229 :仕様書無しさん:2014/03/12(水) 16:04:36.09 .net
- じゃ一般論禁止で
- 230 :仕様書無しさん:2014/03/12(水) 16:17:22.38 .net
- 組み込みだと保守性より性能優先の場合も多いイメージ。
スパゲッティコードの話の主戦場はスペック気にしないサーバ、特にビジネスの影響を受けやすい業務系な気がするが、どうよ。
- 231 :仕様書無しさん:2014/03/12(水) 19:15:46.08 .net
- 組込みにひどいソースがあるのは、アセンブラ時代に習熟した人による部分が大きいかも。俺がいた現場はそうだった。
>>230
> 組み込みだと保守性より性能優先の場合も多いイメージ。
現場によるがどちらも優先されなくて、ずさんなテストで納期に突っ込む場合が多いイメージ。
- 232 :仕様書無しさん:2014/03/15(土) 15:01:01.61 .net
- 早飯とスパゲッティコードの早読みは芸のうちだよね
- 233 :仕様書無しさん:2014/03/16(日) 01:49:08.49 .net
- C++で書いているのに、5000行位のコードがmain.cppとheader.hて言うのがあったわ。超絶スパゲッティでメンテに苦労した。分割コンパイルも知らん用な奴はコードを書くなと言いたい。
- 234 :仕様書無しさん:2014/03/16(日) 22:01:37.56 .net
- >>233
コードの分割もセンスと力量で変わるよな
スコープの関係で#include "hoge.cpp"みたいなグレーゾーンなソースになっているのは良く見る
個人的には見づらい
- 235 :仕様書無しさん:2014/03/16(日) 22:13:29.17 .net
- パスタ板に出入りしてる俺が書くソースコード
- 236 :仕様書無しさん:2014/03/17(月) 01:09:42.05 .net
- ミートソース?
- 237 :仕様書無しさん:2014/03/17(月) 01:44:32.90 .net
- 最近はオイルソース
- 238 :仕様書無しさん:2014/03/17(月) 06:44:25.70 .net
- >>234
自動生成以外の .c/.cpp を include するのはグレーじゃなく真っ黒だろ。
- 239 :仕様書無しさん:2014/03/19(水) 20:49:51.51 .net
- 真っ黒って事は、イカ墨のスパゲッティか。
- 240 :仕様書無しさん:2014/03/20(木) 17:15:37.02 .net
- >>236
オレがパスタ屋で「カルボナーラ」と言ったら
同僚がかっこつけて「Me too!」と言ってミートスパが来たのを思い出したよ。
- 241 :仕様書無しさん:2014/03/20(木) 17:29:08.30 .net
- >>240
それがお前のすべらない話なの?
- 242 :仕様書無しさん:2014/03/20(木) 22:13:22.00 .net
- >>240
俺そういうの結構好きw
- 243 :仕様書無しさん:2014/03/21(金) 03:23:25.65 .net
- リファクタリングしろとか言うやついるけど、
わざわざリスク犯してまで次の人のために
綺麗なコードを書いてくれてごくろうなこったな。
無駄な仕事して何が嬉しいんだか。
スパゲティは更においしいスパゲティにするに限る。
- 244 :仕様書無しさん:2014/03/21(金) 08:36:28.58 .net
- 貴様イタリア人
- 245 :仕様書無しさん:2014/03/21(金) 09:58:05.29 .net
- >>243
リファクタリングは自分のためだろ。
- 246 :仕様書無しさん:2014/03/21(金) 10:39:55.17 .net
- >>243
はるか昔に自分で作ったスパゲティを食わされる可能性について
- 247 :仕様書無しさん:2014/03/21(金) 11:17:25.70 .net
- >>243
なんか変な形のものとか、間違ったものを見ると、正しい形になおしたくてその事が頭から離れなくならない?
なおしたいが優先して仕事はかどらなくて、ずっと吐き気になやまされない?
そうならないなら、お前には病気が足りない。
- 248 :仕様書無しさん:2014/03/21(金) 11:18:40.22 .net
- っていうか、カイゼンってそういうことだろ?
リスクないカイゼンなんてないしさ。
お前職場をより良くしようとか思わないの?
会社のためではなくて、自分のために。
- 249 :仕様書無しさん:2014/03/21(金) 11:34:48.56 .net
- >>247
それやって金になんの?
無駄なことしないで、さっさと終わらして空き時間で
好きに使ったほうが有意義じゃん。
スパゲッティなソフトは、きちんと見積もりできてなかったり、
設計理念を持たない技術力のない会社のクソプログラムなんだから
またスパゲティになるもんなんだよ。
長期的に関わりそうな案件ならやるよう提案するけどな。
状況を考えろってことだよ。
- 250 :仕様書無しさん:2014/03/21(金) 11:37:07.34 .net
- スパゲッティを書く奴は、時間がなかったとか、使用変更が入ったとか、いろいろと言い訳するけど、
結局は知識や技術、設計力がないだけなんだよ。
最後まで責任を持って自己完結するなら誰にも影響は無いが、誰かがそのコードをメンテなり拡張する必要がでで来るので、考えを改めて欲しいわ。
何が言いたいのかというと、スパゲッティコーダーは生産性を下げるガンでしかないので、早めに切った方がいい。
- 251 :仕様書無しさん:2014/03/21(金) 11:38:45.62 .net
- > 結局は知識や技術、設計力がないだけなんだよ
まったくもってその通り。
いい加減認めろと言いたい。
ソフトウェアの開発は、作ったものを元にして
次を作るのがほとんどだから、
最初が汚いと、どんどんあとにしわ寄せが来る。
最初に書いた奴が悪い。
- 252 :仕様書無しさん:2014/03/21(金) 11:42:24.65 .net
- 使えない仕様書や設計書は捨ててコード見ればいいから
どんなに汚いものであっても影響は大きくないんだよね。
どんなに悪くてもゼロより下にはならないという意味で(笑)
でもコードはマイナスになる。
コードが汚かったら新規開発の進捗を大幅に下げることになる
- 253 :仕様書無しさん:2014/03/21(金) 11:42:36.86 .net
- スパゲティでもいいからさっさと仕事終わらせる。
→仕事はやいねー いい人材でよかった
リファクタリングとか無駄なことを試みる
→仕事おそいねー あれ?なんかデグレってんだけど?なに勝手なことしてんの?
- 254 :仕様書無しさん:2014/03/21(金) 11:43:31.78 .net
- スパゲッティを書く人=デグレ起こす人だろw
- 255 :仕様書無しさん:2014/03/21(金) 11:44:10.65 .net
- リファクタリングをちゃんと知っている人は
技術力が高いからデグレ起こさないんだよね。
結局技術力がモノを言う訳で。
- 256 :仕様書無しさん:2014/03/21(金) 12:11:12.04 .net
- スパゲティは追加しかしないからデグレを引き起こさない。
デグレが起きたってことはリファクタリングしたってことなんだよね。
そうやっていつも無駄な仕事を増やすのはリファクタリングコーダー。
保守性が悪いのは折込済みで、
見積もりに将来性の考慮が入っていないなら
リファクタリングは望まれてない作業なんだよ。
- 257 :仕様書無しさん:2014/03/21(金) 12:16:53.92 .net
- 保守性の悪い原因ってスパゲティ書いたやつじゃなくて、
コードに対してレビューできないアホがプロジェクト仕切ってるからでしょ。
- 258 :仕様書無しさん:2014/03/21(金) 12:35:01.52 .net
- >>256
だから技術力が低いって
素直に認めなさいよw
- 259 :仕様書無しさん:2014/03/21(金) 12:50:46.54 .net
- こいつ一人でしかプログラム組んだことないのか。こいつの上の人間は大変だな。
- 260 :仕様書無しさん:2014/03/21(金) 12:51:44.97 .net
- いや、単なるニートか。
- 261 :仕様書無しさん:2014/03/21(金) 12:58:00.31 .net
- 他人に迷惑かけてるんだよな。
技術力が低い奴は。
なんで直さなきゃいけないほど汚いコードを書くのか?
それが汚いとわかってないんだよな。
- 262 :仕様書無しさん:2014/03/21(金) 16:44:51.68 .net
- このスレなんで急に盛り上がってるの?
- 263 :仕様書無しさん:2014/03/21(金) 17:00:29.61 .net
- 年度末の人事異動でヘボプログラムを引き継ぐことになったんじゃない?
- 264 :仕様書無しさん:2014/03/21(金) 17:08:36.60 .net
- メールアドレスが空なのは同一人物かね?
と思ってみると面白いw
- 265 :仕様書無しさん:2014/03/21(金) 17:26:19.67 .net
- >>252
本当にそう思うわ。
- 266 :仕様書無しさん:2014/03/21(金) 21:00:11.19 .net
- >>256
デグレは出ないだろうが
大抵その中に虫が紛れ込んでるんだよ
- 267 :仕様書無しさん:2014/03/21(金) 22:32:32.71 .net
- 汚いコードみたらむかつくよ。
だから俺もそのままにしておく。
出向先の技術レベルに合わせたコードを提供する。
保守しやすいように整理しましたからーなんてアピールするより、
綺麗な資料作った方がポイント高いし。
リファクタリングという概念を持たない現場で、
んなことしたって何も特にならんし、
俺がいなくなった後、そこで利益が出るような仕事は絶対にしない。
自分がいる時に利益を実感できるようにやるんだよ。
- 268 :仕様書無しさん:2014/03/21(金) 22:47:20.26 .net
- >>267
もったいないなぁ。
そこに格好の練習材料があるんだから
リファクタリングの練習に使えばいいだろう。
何事も自分を高めるために使わなきゃ損だよw
- 269 :仕様書無しさん:2014/03/22(土) 01:03:26.11 .net
- お前ら、プログラムは新規作成しかしないのな…
恐ろしいわ
- 270 :仕様書無しさん:2014/03/22(土) 01:04:15.28 .net
- そうそう、俺も昔はスパゲティしか書けなかったが、
リファクタリング本とデザパタ本を参考にリファクタリングしまくってたら、
最初からある程度リファクタリング済みwなコードが書けるまで上達したし。
- 271 :仕様書無しさん:2014/03/22(土) 01:05:44.86 .net
- それはリファクタリングじゃなくプログラム設計だ。
あらかじめ存在するプログラムを、機能を変更せずに構造を変更するのがリファクタリングな。
- 272 :仕様書無しさん:2014/03/22(土) 01:44:14.22 .net
- あたりまえだけど同じことしてても成長しない。
昔に書かれたコード(汚いという前提)を見て、
それを真似して書いた所で成長しない。
既存のコードがこういう風になっていたから
同じように書きました。とかやる奴いるけど
それは何も考えてないということでしかない。
既存のコードを放置するのも同じ。
放置しても何も改善されないし、真似して書いても
汚いコードが増えるだけ。
より良い方法を知っているのなら、より良い方法で書くべき。
今度はそれを見た人が真似をする。(もしくはもっと良いコードを書く)
- 273 :仕様書無しさん:2014/03/22(土) 01:45:50.57 .net
- >>271
いや、リファクタリングを通して
技術力が上がったから設計能力そのものも上がって
最初から良いコードがかけるようになったという話でしょう?
汚いコードを真似して書いても
技術力が上がるわけないんだから。
- 274 :仕様書無しさん:2014/03/22(土) 01:50:46.66 .net
- リファクタりたいけど工程が許してくれない
- 275 :仕様書無しさん:2014/03/22(土) 01:56:48.76 .net
- リファクタリングするのに一番多いケースって、誰かがお手上げしたコードを引き継いだ時だろ。
- 276 :仕様書無しさん:2014/03/22(土) 02:06:22.69 .net
- >>274
それはリファクタリングを開発工程と別にしてるからだろ。
リファクタリング=開発工程なんだよ。
だから開発工数に含めるのあたりまえじゃないか。
そんな当たり前のことがわかってないから、見積が大幅にずれるんだよ。
既存コードがどうなっているかを考慮せずに
追加部分だけで工数出すから予定よりも開発時間がかかる。
リファクタリングするべきコード = 解析と修正に時間がかかる = 開発時間。
誰かがお手上げしたコードとか、引き継いだ後”解析する時間”が必要だろ?
それこそがリファクタリングの時間そのものなんだよ。
解析して理解したことをコードに反映する(=リファクタリング)か
コードに反映しないで、後に修正する時に ”また” 解析するかの違い
後者(リファクタリングしない)だと、どんどん工数が増えるようになるからね。
- 277 :仕様書無しさん:2014/03/22(土) 04:15:26.57 .net
- テストハーネスを作るまでにある程度まとまった時間が必要で、その間は目に見えるアウトプットがない
これがリファクタリングの障壁だな
リファクタリングが必要なコードほど今すぐアウトプットを求められる皮肉
- 278 :仕様書無しさん:2014/03/22(土) 04:18:09.74 .net
- >>276
結局開発者側のジレンマと同じレベルの話が発注側にもあるわけだ
「技術的負債を俺が返す必要はない。ツケは将来の担当者に払わせることにして今回は買い叩こう」
- 279 :仕様書無しさん:2014/03/22(土) 04:20:02.80 .net
- >>277
それいっぺんに時間かけてリファクタリングしようとするからだよ。
リファクタリングは小さく少しづつやるもの。
目に見えるアウトプット=日々の開発に小さく加える。
リファクタリングと開発を分けて考えるのが根本的な問題。
- 280 :仕様書無しさん:2014/03/22(土) 04:22:14.13 .net
- その発注者の思惑どおり営業は平気で買い叩かれて受注する
開発者は「そんな工数じゃ今の糞コードに手を入れる時間なんかないだろ・・・」と糞コードを増やして納品する。これの繰り返し
どこかで「献身的な」開発者がプライベートを削って(=自腹で)直すか、炎上してすべてがぶち壊しになるか
結末はどっちかしかない
- 281 :仕様書無しさん:2014/03/22(土) 04:30:49.29 .net
- >>279
俺の経験だと、全体設計がそこそこマトモで問題がモジュールの内部実装なら、小さなリファクタリングの繰り返しで改善できる。
だが、そもそも全体に一貫したアーキテクチャのないシステムだと、ボトムアップのリファクタリングをいくら繰り返しても全体の改善には繋がらない。
そういうシステムの派生開発だと、担当者が各々スプラウトクラス、スプラウトメソッドを生やすことを繰り返して、
最終的により混沌となっていくというのがありがちな悪夢。
- 282 :仕様書無しさん:2014/03/22(土) 04:40:45.81 .net
- なんだ? 結局開発者の
技術力不足って話か?
- 283 :仕様書無しさん:2014/03/22(土) 09:12:50.85 .net
- というより、リファクタリング工数の捻出問題かな。
うちも10年以上メンテしてきたシステムが有るが、
ちょっとした変更でもドキュメントを大量に書いて客に承認を貰わないといけないんで、
リファクタリングでソースを変えるなんてそもそも認められる訳が無い環境。
だから、今は大規模に膨らんだソースが設計的にも実装的にもあらゆる階層でスパゲティ状態w
- 284 :仕様書無しさん:2014/03/22(土) 09:15:41.21 .net
- あえていうなら、マネジメント側の問題じゃない?
短納期とか客がアホだとか、
スパゲティはスパゲティになるべくしてなったもんだと思うけど。
自分の書く分はそれなりに綺麗にかくけど、
既存の部分は基本手を加えない。
大手とかのシステムだと無理できないし、
リーダーが改修に否定的な人間多いし。
話が分かる客、話をつけられるリーダー、
開発者が能力を発揮できる環境がなきゃな。
- 285 :仕様書無しさん:2014/03/22(土) 10:35:42.62 .net
- >>282
SI案件なんてなんのIT知識の無いまるなげ客とExcel方眼紙にお絵かきしか出来ないSEという
素人集団での開発だから仕方ないな。
- 286 :仕様書無しさん:2014/03/22(土) 12:19:38.57 .net
- >>283
あぁ、なるほどね。
諦めてるからダメなわけね。
交渉しようとしないからダメなわけね。
提案しようと思わないからダメなわけね。
説得できないからダメなわけね。
顧客の奴隷になってるからダメわけね。
- 287 :仕様書無しさん:2014/03/22(土) 12:20:56.58 .net
- 話が分かる客じゃないからだめなんだ。
話をつけられるリーダーがいないからだめなんだ。
開発者が能力を発揮できる環境がないからだめなんだ。
俺のせいじゃない。
みんな周りがダメだから悪いんだ。
- 288 :仕様書無しさん:2014/03/22(土) 12:30:24.43 .net
- 障らぬ神に祟りなし。皆リスクを負うのが嫌なんだよ。
ソース汚くても動いてりゃ問題ないしエンドユーザには見た目が全てだしwww
- 289 :仕様書無しさん:2014/03/22(土) 12:37:45.90 .net
- それで苦しむのは自分だけってこと?
Mなの?
- 290 :仕様書無しさん:2014/03/22(土) 12:53:39.68 .net
- いや、自分は辞めれば済む話だし
そこに掛けて頑張るのは仕事出す側の社員だろ
どうせ理解されないだろうし上からしたまで全ての人が諦めてるんだよ
- 291 :仕様書無しさん:2014/03/22(土) 13:07:30.67 .net
- >>284
>リーダーが改修に否定的な人間多いし。
まともな提案があれば勘案するだろうけど、たいがいは絵に描いた餅以前の
妄想を垂れ流すのが多いからな。 このツールクソですよ止めましょうとか
いうけど、じゃあどのツールを使えば今やっていることの代替が出来るのか、
教育コストや導入コストはどうなるのかまで詰めてるのを聞いたこと無いよ。
言い出しっぺの法則ってのはあんまり好きじゃないが、提案するのは私、
考えて実現するのはあなた、ってので言われても否定するしか無いじゃん?
それが権限のある上からならともかく、何の実績もない下から言われたら
余計そう思うでしょ。
- 292 :仕様書無しさん:2014/03/22(土) 13:15:28.05 .net
- >>290
じゃあ働いている人はMってこと?
今働いてないの?
- 293 :仕様書無しさん:2014/03/22(土) 13:54:12.81 .net
- >>291
下というか俺の場合は派遣される場合が多いのでな。
そりゃ、初対面の相手を信用しすぎるのも怖いだろう。
- 294 :仕様書無しさん:2014/03/22(土) 13:56:32.62 .net
- 普通に追加の開発(修正)するより、リファクタリングしてから行った方が両方足してもコストが安いからするだけ。
- 295 :仕様書無しさん:2014/03/22(土) 20:09:19.10 .net
- >>292
いや、誰のために働いてるのかって話だよ
請負う側がなんでそんなリスクおわなきゃいけないんだよ
- 296 :仕様書無しさん:2014/03/23(日) 01:27:31.14 .net
- リスクの無い改善はないから。
それとも改善をやらないとでも言うのか?
会社、潰れちゃうよ?
- 297 :仕様書無しさん:2014/03/23(日) 07:41:38.22 .net
- いや、俺の所有物、自社の所有物ならそうするって。
他社のリスクをわざわざ背負えないって話だ。
- 298 :仕様書無しさん:2014/03/23(日) 09:13:12.26 .net
- 請負の仕事で、単なるメンテフェーズならわざわざリファクタリングする必要も
ないけど、自社開発で今後も改善が予想されるものは確実にリファクタが必要。
騙し騙しスパゲッティに手をつけて行くと、何処かで手の施しようがないが無く
なるのだが、そうなった時は、「そのスパゲッティを茹でたのはお前」と輝かし
いレッテルが貼られるので、注意が必要。
- 299 :仕様書無しさん:2014/03/23(日) 09:48:50.01 .net
- 意識高い系の意見って実績の伴ってる奴が言わないとバカにされるだけだから匿名掲示板では通らないだろ
- 300 :仕様書無しさん:2014/03/23(日) 10:35:05.93 .net
- ここまでスパゲッティスレッド
- 301 :仕様書無しさん:2014/03/23(日) 10:51:09.42 .net
- 荒らしが暴れとるだけやん
- 302 :仕様書無しさん:2014/03/23(日) 11:37:27.46 .net
- GoTo文が消えても
スパゲティコードは消えないのであった
- 303 :仕様書無しさん:2014/03/23(日) 12:12:35.21 .net
- むしろこれからは、うどんコードが流行る!!
- 304 :仕様書無しさん:2014/03/23(日) 13:27:01.70 .net
- 渇水でもうどんを茹でる香川県のように
金と時間と人員が足りなくてもプログラムを作るのか
- 305 :仕様書無しさん:2014/03/23(日) 15:15:12.75 .net
- 処理があっちこっちベタベタ引っ付いて解析に苦労する納豆コード
- 306 :仕様書無しさん:2014/03/23(日) 19:04:01.65 .net
- コメントと実際の処理が異なる
クラス名関数名変数名と実際の処理が異なる
- 307 :仕様書無しさん:2014/03/24(月) 00:18:24.66 .net
- スパ、スパ、スパパパ、スパパ、スパ、スパ、スパパパパパパパパパパ
- 308 :仕様書無しさん:2014/03/24(月) 18:43:35.69 .net
- リファクタリングの余地がなくなるまでレビューで指摘を受けるってのは
恵まれた環境だってことか
- 309 :仕様書無しさん:2014/03/24(月) 22:19:17.18 .net
- >>308
意味はわかるんだけど、それ多分リファクタリングじゃないな。
コードの無駄がなくなるまでレビューで指摘をうけるって
言ったほうがいいと思う。
リファクタリングってのはコードの成長とともに継続的に
やるものだからリファクタリングの余地が無くなることはないよ。
またコードが短いのに将来必要になるかも?程度で過度にやるものでもないし。
コードを修正する時に、既存のコードをなるべくいじらないように無理やり追加するのではなくて、
複雑にならないように既存の関連部分を綺麗にするのがリファクタリング。
- 310 :仕様書無しさん:2014/03/24(月) 22:39:33.17 .net
- >>306
上の関数の説明と一緒とか。
コピペしただけとか。テンプレ使えよ。
- 311 :仕様書無しさん:2014/03/25(火) 23:16:47.09 .net
- スパゲティにコピペ、グローバル変数ははいかがですかw
- 312 :仕様書無しさん:2014/03/27(木) 17:18:15.99 .net
- 処理に名前、変数に名前を付けれない人間が書いたコードはスパゲってる
- 313 :仕様書無しさん:2014/03/28(金) 16:41:33.54 .net
- スパゲッティといってもタイプがあろうが。
ナポリタンとかカルボナーラとか。
- 314 :仕様書無しさん:2014/03/30(日) 03:42:58.74 .net
- 種類がどうこうというレベルではなく
虫の足が入っている
- 315 :仕様書無しさん:2014/03/30(日) 17:29:25.00 .net
- 昔おったな、なんでもGO TOで飛ばすやつが
そいつ2種の試験合格したと自慢しとった
構造化プログラミングを知らないかったそうだ
- 316 :仕様書無しさん:2014/03/30(日) 17:43:14.52 .net
- オブジェクト指向言語で継承しても、ここを通ってこうやったらこうなってと、GOTOとしか考えていない奴がいる。
設計を学べよ。
- 317 :仕様書無しさん:2014/03/30(日) 20:58:01.93 .net
- 理想は、ウェイディングケーキな。
構造をちゃんと設計して、カステラの焼き上げを
外注に任す。 我々は、クリームを練りに練ったり
飾り物の果物の調理をやる。
いよいよカステラにクリームを塗り、飾り物を並べ
さらにデコレーションの仕上げに念を入れる。
晴れの舞台でのケーキカットオーバーで
ソフトの完成だ!
- 318 :仕様書無しさん:2014/03/31(月) 00:07:19.52 .net
- 現実は、喫茶マウンテン
- 319 :仕様書無しさん:2014/04/01(火) 00:06:22.47 .net
- >>317
現実はケーキ職人の代わりに植木職人の見習いが間違ったレシピで作ってたりするけどな
- 320 :仕様書無しさん:2014/04/01(火) 06:57:03.60 .net
- おかんの作ったスパゲッティー
- 321 :仕様書無しさん:2014/04/02(水) 16:36:13.82 .net
- 半年ぶりにここ来たんだが、またサーバー名変わったのか?
2chはいつになったら板名をサブドメイン名にするんだ?
- 322 :仕様書無しさん:2014/04/02(水) 19:04:19.43 .net
- 何言ってんのこの馬鹿
- 323 :仕様書無しさん:2014/04/15(火) 09:12:10.05 .net
- 正直なんでスパゲッティなのかと。
フォークするからか?
よく絡むという意味ではむっちり太麺のラーメンでよくね?
- 324 :仕様書無しさん:2014/04/15(火) 10:43:50.73 .net
- お前、自分でスパゲティ茹でたことないだろ?
茹でたスパゲティを少しおくとゴテゴテに麺が絡みついて離れなくなるんだよ。
- 325 :仕様書無しさん:2014/04/15(火) 20:46:29.92 .net
- >>324
それコピペで継ぎ接ぎされたコードだな
- 326 :仕様書無しさん:2014/04/15(火) 22:21:47.12 ID:pUJE5jDQJ
- なぜ自分で選んだ職業に文句を言うのか
バカの発想はわかりかねる
- 327 :仕様書無しさん:2014/04/15(火) 21:49:36.64 .net
- >>324
そーめんもなかなか。
- 328 :仕様書無しさん:2014/04/15(火) 23:41:29.65 .net
- >>325
熟練のプログラマが一つ一つ手作業で生み出す、ナチュラルなスパゲティの味をお前はしらない!!
- 329 :仕様書無しさん:2014/04/16(水) 01:25:51.69 .net
- 1週間待ってください
本物のスパゲティを(ry
- 330 :仕様書無しさん:2014/04/16(水) 01:56:13.92 .net
- ラーメンも忘れないでね
- 331 :仕様書無しさん:2014/04/16(水) 03:23:58.93 .net
- ラーメンみたいにつるっとしてればいいんだが…
- 332 :仕様書無しさん:2014/04/16(水) 03:28:04.36 .net
- >>323
一つには、goto だらけのプログラムが良くある頃の話だ。
また、命名は欧米だ。
- 333 :仕様書無しさん:2014/04/16(水) 03:51:17.16 .net
- >>332
ネストが深い(複雑度が高い)。
そのネストの中にいろんな機能が分散して入り組んでる。
例外やifでジャンプ…
処理の共通化のための謎の継承関係、親子間に依存があって切り離せない継承関係
ジャンプがなくなった今でも、そんなスパゲティを食わされ続けているが
- 334 :仕様書無しさん:2014/04/16(水) 06:57:26.15 .net
- >>333
まるで横溝正史の探偵小説だね
- 335 :仕様書無しさん:2014/04/16(水) 09:30:37.93 .net
- >>155を読め
「スパゲッティ・プログラム」って言葉は戦前から使われてる
- 336 :仕様書無しさん:2014/04/16(水) 14:49:43.13 .net
- MFCをつかったVCのクラスの多さ
で、1クラスのステップが決まっていればいいのだが
何千とある行数。
つまりプログラマはマイクロソフトにスパゲッティということを
植えつけられている。まぁマイクロソフトは悪だね
- 337 :仕様書無しさん:2014/04/16(水) 18:49:41.96 .net
- >>324
そうならないようにオリーブ油を垂らして混ぜておくんだよ。
- 338 :仕様書無しさん:2014/04/17(木) 05:28:49.62 .net
- >>335
信じたの?
- 339 :仕様書無しさん:2014/04/17(木) 06:27:24.76 .net
- どうすればスパゲッターを脱出できるのだろうか
- 340 :仕様書無しさん:2014/04/17(木) 07:05:39.04 .net
- できるだけコードを書かない
- 341 :仕様書無しさん:2014/04/17(木) 07:48:27.57 .net
- PCのデスクトップやらフォルダやらを使いやすいように分類してみるとか、
日常的に身の回りを整理整頓するとか、
文章はアウトラインから考えて書くようにするとか、
トップダウンの考え方を憶えるとか、
こんな感じかな
- 342 :仕様書無しさん:2014/04/17(木) 10:06:36.65 .net
- >どうすればスパゲッターを脱出できるのだろうか
ソースコードの横に図があって、今はこの表示処理をやっているとか
入力処理のコードの横に、または人とPCのインターフェースが図にあるという具合にすれば。
- 343 :仕様書無しさん:2014/04/17(木) 21:18:18.03 .net
- >>339
設計の勉強しなよ。
>>340
ホントそれに尽きるよな。
達人プログラマー読むとスパゲッターはかなり削減できると思う。
- 344 :仕様書無しさん:2014/04/18(金) 13:50:00.55 .net
- プロトタイプとして
A->B->C->D->判定という処理
があったとしよう
で、ユーザから「A->B->D->Cという順番で判定できるようにしてほしい」
というのがあったとき
A->B->D->C->判定
|
->C->D->判定
といように書くときスパゲッティになる
- 345 :仕様書無しさん:2014/04/18(金) 14:04:05.09 .net
- 地獄はビールの気が抜けていてストリッパーが性病持ちであるという事以外天国と同じである
- 346 :仕様書無しさん:2014/04/18(金) 19:33:11.50 .net
- >>344
正解はこれでいいか?
@A→B→X→C→X→D→判定
AA→B→X→D→X→C→判定
>>345
嘘だ
地獄なら猫がいないはずだろ
- 347 :仕様書無しさん:2014/04/19(土) 01:12:56.75 .net
- スパモンか
- 348 :仕様書無しさん:2014/04/19(土) 09:38:40.65 .net
- >正解はこれでいいか?
いいよ
A->B->D->C->判定
|
->C->D->判定
動いているルーチンだからと貼り付けて処理を完成させる。同じコードが二箇所あるわけ
コードを増やさずswich文なんかで処理を分岐させるというのをやると、Cの関数(処理)、Dの関数(処理)
に手をいれなきゃならんから。動いているものをわざわざ壊すという。
- 349 :仕様書無しさん:2014/04/19(土) 10:10:05.53 .net
- 348の説明がいまいちだから
これでどうだろう
@の関数をつくる
A→B→X→C→X→D→判定
Aの関数をつくる
A→B→X→D→X→C→判定
とやるのがスパゲッティ
348の説明は
A->Bとやってから
{
switch
case C:
C処理
↓
D処理
break;
case D:
D処理
↓
C処理
}
というもの。
- 350 :仕様書無しさん:2014/04/19(土) 15:35:42.53 .net
- モジュールを部品という考え方になればスッパラゲッチョにしたらまずいだろう
再利用できないじゃないか
- 351 :仕様書無しさん:2014/04/25(金) 07:48:05.95 .net
- 判定ロジックの順序入れ替えなんて要望が出てきた時点でABCDをそれぞれ関数オブジェクトにしてDIできるようにしとくのが普通では
- 352 :仕様書無しさん:2014/04/26(土) 08:35:59.66 .net
- まずDIという概念を知っている人間がどれだけいるかが問題だ
- 353 :仕様書無しさん:2014/04/26(土) 11:15:41.33 .net
- springだっけ
前にそんなコードを改修したことはあったがそれっきりで
もう殆ど忘れた
- 354 :仕様書無しさん:2014/04/29(火) 22:41:27.31 .net
- >>337
コードでいうオリーブオイルの役割ってなんだろう
- 355 :仕様書無しさん:2014/04/29(火) 22:49:41.76 .net
- >>354
/********************************************************/
とか
//////////////////////////////////////////////////////////
とか
//--------------------------------------------------------
よほど酷くない限り多少はマシになるかなと
- 356 :仕様書無しさん:2014/04/29(火) 23:17:41.47 .net
- >>354
構造化等の設計による疎結合。
後がけしたいなら、リファクタリング。
- 357 :仕様書無しさん:2014/04/30(水) 12:51:17.18 .net
- スパゲッティコーダーがよく言う言い訳で「時間がなかったから適当に作った」
というのが多いんだけど、コードを見ると時間をかけないで適当に作ったという
感じがしないんだよね。単に技術がないとか、先を見通す力がないだけなんだよ。
あと、自分の仕事が無くならないようにわざと汚いコード(本人は難しいコード
だと思っている)を書くと言っている奴がいるんだけど、見ていて痛々しい。実
際そいつには頼まなくなってきているんだよね。
- 358 :仕様書無しさん:2014/04/30(水) 19:40:35.20 .net
- >>357
汚いコード書くやつは1000倍時間があっても汚いんだよね。
綺麗なコードを書くやつはどんなに時間がなくてもそれなりに綺麗なコードになる
- 359 :仕様書無しさん:2014/04/30(水) 21:39:57.77 .net
- 時間をかけるほど汚くなっていく。
- 360 :仕様書無しさん:2014/04/30(水) 22:26:45.56 .net
- よしオリーブオイルだ
- 361 :仕様書無しさん:2014/05/01(木) 03:38:25.40 .net
- スパゲッティリコーダーって何ですか?
- 362 :仕様書無しさん:2014/05/01(木) 08:58:22.92 .net
- 本当に時間が無いときは根元からスプラウトするからむしろ綺麗になる説
- 363 :仕様書無しさん:2014/05/01(木) 09:34:54.89 .net
- >スパゲッティリコーダー
そういうのいは、一つの関数を一画面25行に収めるとやっているといい。
すこしはよくなる。またクラスを千行を目安にするというのもいい
描画クラス、判断クラス、ファイルの入出力クラスというようにわける
- 364 :仕様書無しさん:2014/05/01(木) 19:27:38.08 .net
- >>363
>そういうのいは、一つの関数を一画面25行に収めるとやっているといい。
そうすると、引数が25個あるかグローバル変数が25個になるかのどちらか。
センスの無いヤツにはクラス分割も関数分割も無理wwwwww
- 365 :仕様書無しさん:2014/05/01(木) 19:36:27.17 .net
- むしろ引数25個とかセンスを感じるわ
- 366 :仕様書無しさん:2014/05/01(木) 20:26:11.57 .net
- >>365
引数25個のコンストラクタを昨日見たばかりなのだが
- 367 :仕様書無しさん:2014/05/01(木) 20:47:37.84 .net
- きっとゲームプログラムだったんだよ
- 368 :仕様書無しさん:2014/05/02(金) 00:53:35.74 .net
- DelFlgとかやめてほしい。
Deletedのが分かりやすいし素直。
true/falseで意味のわかる名前にしろと。
- 369 :仕様書無しさん:2014/05/02(金) 20:16:25.83 .net
- >>368
DelFlg で十分わかりやすいと思うが
DelFlg == false が削除済みだったらクレイジーだけどなwww
- 370 :仕様書無しさん:2014/05/02(金) 20:31:33.08 .net
- 略語は読みにくいよ
他人も読むんだし、なるべく単語のままがいいさね
- 371 :仕様書無しさん:2014/05/02(金) 23:52:46.88 .net
- >>369
DelFlgぐらいならまぁ許せなくもないが、変数名からtrueかfalseか判断できるようにしないと。
- 372 :仕様書無しさん:2014/05/03(土) 10:43:22.30 .net
- >>371
if (DelFlg == '3') {
...とかあるともぉ何がなんなんだか
- 373 :仕様書無しさん:2014/05/03(土) 12:22:41.76 .net
- function isNumber(value, option){
if(option==false){
数値チェック
}else{
半角英数チェック
}
return 結果
}
isNumberという名前は何のため
- 374 :仕様書無しさん:2014/05/03(土) 12:27:11.51 .net
- そういうフラグ系の意味が増えた場合って数値じゃなく文字列にしたほうがよくね?
- 375 :仕様書無しさん:2014/05/03(土) 12:33:24.99 .net
- >>374
そう言うのは列挙体だろ
- 376 :仕様書無しさん:2014/05/03(土) 12:49:26.19 .net
- 列挙体ってはじめてきいたわ
これでも良さそうだけど、DB直接いじるのとか不便なんだよな
- 377 :仕様書無しさん:2014/05/03(土) 12:54:15.35 .net
- enum 知らんとか冗談だよな
- 378 :仕様書無しさん:2014/05/03(土) 15:34:28.65 .net
- 使い方自体はイメージできるし自分で似たようなの作ったりもしたぞ
言語に用意されてないから
- 379 :仕様書無しさん:2014/05/03(土) 17:45:10.79 .net
- 列挙型にはお世話になったな
文字列を考えている間が楽しい
- 380 :仕様書無しさん:2014/05/03(土) 20:53:43.25 .net
- >>372
修正でRDBMSの列使いまわすやつみたいな感じか。こうすれば動く的な。
- 381 :仕様書無しさん:2014/05/04(日) 00:01:22.90 .net
- >>375
昔なら列挙体でというところだが、最近の若いプログラマだと文字列でも
良いかもしれない。それも組み込みかGUIかでかなり違ってくるし、言語
にもよるからなあ。
しかし、列挙体や文字列にしないで数値直打ちはなんとかして貰いたい。
他人が見たらはっきり言って意味不明だし、書いた本人も後で見たらわか
らんだろう。
- 382 :仕様書無しさん:2014/05/04(日) 09:55:25.17 .net
- >しかし、列挙体や文字列にしないで数値直打ちはなんとかして貰いたい。
他人が見たらはっきり言って意味不明だし、書いた本人も後で見たらわか
らんだろう。
お前ら、俺が解説してやる
下記の構造体があるうとしよう
struct {
int a;
int b;
int c;
}hoge;
で、こういうのが列挙だな
enum {eA, eB, eC, eEnd};
#define HOGE_SIZE eEnd;
int a[HOGE_SIZE];
だめなのがこういう書き方
a[0] = hoge.a;
a[1] = hoge.b;
列挙型の使い方な
a[eA] = hoge.a;
a[eB] = hoge.b;
.
こうやるとエラーが出にくくなるのが大きい。hogeの変更があった場合の
影響を防げる。そして実際変更はしょっちゅうおきるよ
- 383 :仕様書無しさん:2014/05/04(日) 10:03:08.37 .net
- >>381
列挙体だとインテリセンスが効くからそっちのが便利
- 384 :仕様書無しさん:2014/05/04(日) 10:28:38.69 .net
- >列挙体だとインテリセンスが効くからそっちのが便利
プログラム書いていないのにはわからんだろうから、さっきの続きな
hoge構造体が変更になるわけ
struct {
int a0;
int a;
int b;
int c;
}hoge;
で、さっき配列はこう書き直される
a[0] = hoge.a0;
a[1] = hoge.a;
列挙型の使い方では配列は書き直されない
a[eA] = hoge.a;
a[eB] = hoge.b;
追加するだけ
a[eA0] = hoge.a0;
enum {eA0, eA, eB, eC, eEnd};
#define HOGE_SIZE eEnd;
HOGE_SIZEも書き直しがない
- 385 :仕様書無しさん:2014/05/04(日) 11:04:05.90 .net
- >>384
eEndで列挙体の要素数をあらわすのはc, c++では常套手段なのか?
c#プログラマ的には違和感ありまくりだが。
それなら、eEndじゃなくてeCount, eSizeの方が分かり易いと思う。
- 386 :仕様書無しさん:2014/05/04(日) 11:47:09.03 .net
- >それなら、eEndじゃなくてeCount, eSizeの方が分かり易いと思う。
状態遷移でもそれがつかわれる。だからend
おまえリファクタリングやったことあるのか?
命名の見直しなんかもある、意味づけが間違っているとか、命名の統一のためとか
初期の命名なんか関数名をTmpなどとやっているとこだらけだ、
またそれは、おまえのいうように違和感を消すという作業なわけだ
- 387 :仕様書無しさん:2014/05/04(日) 12:13:22.14 .net
- >>386
お前のようにちょっと指摘すると切れ気味になるやつが多いので
自分に火の粉が降ってこない限り指摘するのを止めたwww
それにダメプログラマー指摘しても応用が効かないので
指摘したことの適用範囲外なのに何にでも適用されて酷い事になる。
ダメプログラマーに付ける薬はないなwww
GW暇なので煽り入ってるw
- 388 :仕様書無しさん:2014/05/04(日) 14:20:57.32 .net
- >おまえリファクタリングやったことあるのか?
コミュ障プログラマの得意技来たな
自分から説明しておいて突然半キレって、病院逝け
- 389 :仕様書無しさん:2014/05/04(日) 16:58:33.27 .net
- >>382,384
列挙型の意味を間違って理解しているよ
配列のインデックス値定数の宣言について、
自分なら以下のように書く
#define EA 0
#define EB (EA + 1)
#define EC (EB + 1)
#define HOGE_SIZE (EC + 1)
そのコードは要素の値が0から始まり1づつ増えるという
C言語の仕様を前提に設計されているけど、
そもそも列挙型の値は整数ではない
列挙型とは、ある変数が取りうる値を列挙することで定義されるデータ型だ
数学用語であれば「外延的な定義」と言い換えてもいい
- 390 :仕様書無しさん:2014/05/04(日) 17:56:58.33 .net
- defineだらけにするのは読みにくいから止めて欲しい
定義よりも他人の認識力を優先してくれ
- 391 :仕様書無しさん:2014/05/04(日) 18:15:23.52 .net
- 批判だけなら子供にもできる
では自分ならこうする、ってのを示せて一人前の大人
- 392 :仕様書無しさん:2014/05/04(日) 18:44:21.17 .net
- 大人なプログラマっているのか?
- 393 :仕様書無しさん:2014/05/04(日) 18:57:44.66 .net
- 文字で示せないが、絵で示せる天才タイプと
文字で示せるが、絵で示せない秀才タイプ
大体この二種類の人間しかいないと知った時、大人になれる
スパゲッティコーダーは前者に多い
残念ながら天才タイプはプログラマに向いてない
- 394 :仕様書無しさん:2014/05/05(月) 02:27:35.64 .net
- >>389
これって各値が何かさっぱり分からんよね。
新しい値をEBとECの間に追加しつつ、かつ既存の値は変えてはいけないとなったら破綻しないか?
あと例題をHOGEとかで挙げるやつは大体だめだと思う。
例題ならイメージしやすい変数名をつけるべき。
- 395 :仕様書無しさん:2014/05/05(月) 09:24:25.13 .net
- >>394
意味の無い変数には hoge や foo だろ
- 396 :仕様書無しさん:2014/05/05(月) 09:52:47.30 .net
- >>394
配列のインデックスに使うのは>>384のほうが使いやすいだろうな。
もっと言うなら、enum {eA0=0, eA, eB, eC, eEnd};としておいたほうが
親切だし、安心だろう。
ただ、 配列の要素が少ないなら、構造体にしておくのも手だよ。
- 397 :仕様書無しさん:2014/05/05(月) 10:36:44.15 .net
- c言語は余りわかってないから構文は怪しいかもしれないが
スパゲッティコーダーならこうやるべきだろw
struct {
int a0;
int a;
int b;
int c;
}hoge;
for (int i=0,int *p=&hoge.a0 ;i <sizeof(hoge)/sizeof(int); i++) a[i]=*p++;
- 398 :仕様書無しさん:2014/05/05(月) 10:38:45.22 .net
- 一行足りんかった
int a[sizeof(hoge)/sizeof(int)];
- 399 :仕様書無しさん:2014/05/05(月) 13:24:14.71 .net
- >>397
まさにスパゲッティの王道だな。
濃厚な味をありがとう。
もっと欲を言うと、真のスパゲッティはスコープ?なにそれ?
って感じに変数iをグローバルに宣言するもんだよ。
- 400 :仕様書無しさん:2014/05/05(月) 13:36:42.67 .net
- コードを読むヤツの思考を止める濃厚な粘着感と
何をやってるかが分かった後の脱力感が半端ないコードである
- 401 :仕様書無しさん:2014/05/05(月) 14:01:08.25 .net
- >>398
改良してみた
int i=0;
int *p=&hoge.a0;
int s=sizeof(hoge)/sizeof(int);
while(1) {
if (i < s)
a[(i)]=*p;
else
break;
i++;
p++;
}
- 402 :仕様書無しさん:2014/05/05(月) 14:05:57.03 .net
- 醜悪さが足りない
パスタ修行して出直してくる orz
- 403 :仕様書無しさん:2014/05/05(月) 17:30:31.84 .net
- >>395
意味のない変数なんて存在するの?
- 404 :仕様書無しさん:2014/05/05(月) 19:42:00.92 .net
- >>394
>新しい値をEBとECの間に追加しつつ、かつ既存の値は変えてはいけないとなったら破綻しないか?
ここでの仕様上の値とは配列のインデックスだけど、分かっていないみたいだね
EBとECの間に追加すれば、既存の値は追加個数分だけ増加するのは当たり前の話だ
以下では、EBとECの間にEXとEYを追加した場合のコードを示す
#define EA 0
#define EB (EA + 1)
#define EX (EB + 1) /* 追加 */
#define EY (EX + 1) /* 追加 */
#define EC (EY + 1) /* 変更 */
#define HOGE_SIZE (EC + 1)
>>396
やはり列挙型の意味を理解していないみたいだね
厨学生に外延とかを理解しろというのが無理ゲーだったのかもな
#defineマクロではなく列挙型を用いるべき単純な例は
いくらでも挙げる事はできるのに、
わざわざ列挙型にふさわしくない例を挙げて
知識自慢するのがいかにも厨房らしい
- 405 :仕様書無しさん:2014/05/05(月) 19:47:04.23 .net
- また一人でキレだしたぞ
どうして独り言でキレる事ができるんだ
- 406 :仕様書無しさん:2014/05/05(月) 21:13:23.29 .net
- >>404
うん、よく分からんw
hoge構造体の中にa変数があって、それとは別にa配列があったり・・・
これこそスパゲッティ解説
俺が破綻すると言ったのは、EAとかEBの値がデータベースに保存される場合。
- 407 :仕様書無しさん:2014/05/05(月) 21:43:35.50 .net
- >>403
foo, hoge, bar ってサンプルコードには良く出てくるでしょ。
何にでも置き換えられるメタ構文
- 408 :仕様書無しさん:2014/05/05(月) 21:46:59.10 .net
- >>404
配列へのオフセットだったら、それぞれに+1するより
EA基準で+1、+2、+3ってやった方が分かりやすくないか。
間に追加すると番号振り直さないといけないが。
- 409 :仕様書無しさん:2014/05/05(月) 22:50:43.80 .net
- >>407
引き継いだシステムにもか入ってた。
hogeとかはexample.comとかみたいなものだと思ってるのに困る。
- 410 :仕様書無しさん:2014/05/05(月) 23:02:38.45 .net
- hoge.comは実在する企業だなw
- 411 :仕様書無しさん:2014/05/06(火) 02:01:44.73 .net
- >>404
もう完全にスパゲッティじゃないか。
- 412 :仕様書無しさん:2014/05/06(火) 09:13:43.39 .net
- >>404
int a[EC];
と記述してあればaの大きさ宣言。これ普通
404 は、a[EC] = hoge.a; という書き方を推奨
馬鹿みたい
- 413 :仕様書無しさん:2014/05/06(火) 11:01:40.82 .net
- >>412
それだと一つ足りませんから〜
- 414 :仕様書無しさん:2014/05/06(火) 16:32:17.82 .net
- 404が書いてた記述。EA,EB,EX,EY,ECの順番になっている
誰が見てもEA,EB,ECと考える。ECはEXより小さいと考える。馬鹿みたいな記述
- 415 :仕様書無しさん:2014/05/06(火) 18:03:33.01 .net
- 404のようなコードのマズさを指摘した時の山椒魚(仮名)のリアクション
「アセンブリコードは確認したのか?コンピュータはアセンブリコードが全てなんだよ!小手先の薀蓄なんか意味ないね批評家クン」
- 416 :仕様書無しさん:2014/05/06(火) 18:16:52.27 .net
- やはりコンピータの意味を理解していないみたいだね
厨学生に外延とかを理解しろというのが無理ゲーだったのかもな
知識自慢するのがいかにも厨房らしい
まず機械語で書きます
- 417 :仕様書無しさん:2014/05/08(木) 01:35:08.48 .net
- >>407
それが何のサンプルかというだけで、変数名は意味のあるものに決められるだろ
本当に意味の無い変数の実例を挙げてくれんか?
- 418 :仕様書無しさん:2014/05/08(木) 06:06:05.84 .net
- >>417
変数定義されていて値もセットされているが結局最後は何処でも使われてない
なんて変数はちょこちょこ見かける気がするぞw
見るものを惑わすと言う意味で意味の無い変数じゃないかもだがwww
- 419 :仕様書無しさん:2014/05/08(木) 07:40:24.34 .net
- つまりこういうことだよな
\ ヽ | / /
\ ヽ / /
‐、、 殺 伐 と し た ス レ に イ ン ド 象 が ! ! _,,−''
,-'"ヽ ∩___∩
/ i、 _,、 | ノ ヽ
{ ノ "'" "'"'"/ ● ● |
/ | ( _●_) ミ
/ 彡、 |∪| ミ _/\/\/\/|_
i し ま う ま \ ヽノ / \ /
/ `ー-ー'" } < ニャーン! >
i' /、 ,i / \
い _/ `-、.,, 、_ i  ̄|/\/\/\/ ̄
/' / _/ \`i " /゙ ./
(,,/ , ' _,,-'" i ヾi__,,,...--t'" ,|
,/ / \ ヽ、 i |
(、,,/ 〉、 、,} | .i
`` ` ! 、、\
!、_n_,〉>
/'''7'''7 /'''7 / ̄ ̄ ̄/ / ̄ ̄ ̄ /
/ /i | / / .. ̄ .フ ./. / ./二/ / . . ____
_ノ / i i__ . ノ /__,l ̄i __/ (___ /__,--, / /____/
/__,/ ゝ、__| /___,、__i /___,.ノゝ_/ /___ノ..
- 420 :仕様書無しさん:2014/05/08(木) 08:38:07.51 .net
- ダメ構文
- 421 :仕様書無しさん:2014/05/08(木) 09:04:41.75 .net
- >>419
こういうプログラム見かける
俺の貴重な人生の時間を奪うやつ
- 422 :仕様書無しさん:2014/05/09(金) 00:27:39.95 .net
- >>418
今時のIDEはそういう変数はチェックして警告とか出してくれるけどね。
- 423 :仕様書無しさん:2014/05/09(金) 01:22:49.73 .net
- >>422
昔からlintでやってると思うけどね。
- 424 :仕様書無しさん:2014/05/09(金) 06:53:35.27 .net
- >>422
思いっきり波線出てるんだけど無視されてるのさw
スパコーダーにIDEの警告なんて意味なし
- 425 :仕様書無しさん:2014/05/09(金) 12:59:05.37 .net
- >>418
いや、サンプルの話をしているんだが……
意味の無い変数を含むサンプルがあるのか?
- 426 :仕様書無しさん:2014/05/09(金) 18:48:34.06 .net
- >>425
おいおい、「意味の無い変数名」が「意味の無い変数」に置き換わってるぞ。
サンプルだから「意味の無い変数名」を使うのだよ。
話が振り出しに戻ったから、もう二、三周するかいwww
- 427 :仕様書無しさん:2014/05/09(金) 20:49:23.73 .net
- >>426
それは>>417を読んだ上でのレスなのか?
- 428 :仕様書無しさん:2014/05/09(金) 21:16:53.27 .net
- 「動いているから良いでしょ」
一言でできる反論教えてくれ。
- 429 :仕様書無しさん:2014/05/09(金) 21:31:15.20 .net
- >>427
K&R 見てみたがさすがに foo, bar はないが
int i, j, k;
char c;
char s[10];
func(int x, int y)
大御所が書いた本でもこんなもんだぞwww
- 430 :仕様書無しさん:2014/05/09(金) 21:33:23.89 .net
- >>428
「動いているから良いってもんではないぞ…」
小一時間説教
なんて先輩が昔は居た気がするな
- 431 :仕様書無しさん:2014/05/09(金) 23:13:20.52 .net
- >>428
初心者なら十分だな。
二度と修正しないのならばな。
潜在的バグがないと言い切れるのならばな。
駄目。
- 432 :仕様書無しさん:2014/05/09(金) 23:51:30.03 .net
- >>429
昔は紙に書いてパンチャーさんに入れてもらってたから、少しでも節約するために
文字数減らしてたんだよ。 短いほうがパースするのに時間がかからないから
経済的だしな。
- 433 :仕様書無しさん:2014/05/10(土) 01:29:29.42 .net
- >>429
あー・・・すまん、的外れな回答をさせてしまった。
日本語の通じない奴らだなあ、と思ってたんだが、よく振り返ったらこっちも複数の事を一緒くたに書いてた。
こっちの言いたい事をすっかり書く事にするよ。
1.サンプルコードとは何かを解決する手法を例示するものである以上は目的が明確なはずで、ならばそこに登場する変数にも当然明確な役割があり、だからその名前は半自動的に意味のあるものに決定できるはず。
2.サンプルコードに必要無い変数(≠変数名)があるのなら提示せよ。
つまり、サンプルコードに必要無い変数などあるはずが無く、だから無意味な変数名があるサンプルコードはおかしいんだよ、という事が言いたかった。
そして>>407はそれを迎合するようなレスだったんで、釘を刺したかったんだ。
付け加えるなら、サンプルコードに無意味な変数名があるのは既知だけど、それがそもそも間違ってるかと。
例示の段階で適切な命名をするところまでしないと、実践でそれを模倣してしまう奴が絶対出てくるので、カニチャーハンは悪書だなと。
例えばK&R第2版P.33、power関数の実装サンプルなんだけど、
power(base, n)
int base, n;
{
int i, p;
p = 1;
for(i = 1; i <= n; ++i)
p = p * base;
return p;
}
イディオムというものがある以上、iはこれでいいと思う。
baseも関数名そのものとその引数である事の二点から、何となく類推はできる。
nもそうだけれど、しかし1文字の変数名を仮引数に割り当てるのはどうかと。せめてnum。
そしてpは本格的にダメでしょ、pを本当に局所的に使うポインタ変数に割り当てる、というイディオムがある以上はなおさら。
サンプルコードで、こんなコードを示しちゃいけない。
まあこんな意見は、>>394をはじめ散々がいしゅつ(←なぜか変化できない)なんだけどね。
- 434 :仕様書無しさん:2014/05/10(土) 01:48:15.26 .net
- スコープ小さいならむしろ一文字変数の方が正義だと思うけどな
10行の命の変数にわかりやすさもクソもないと思うが
スコープに比例して説明的にすべきって某書籍に書いてあったし
- 435 :仕様書無しさん:2014/05/10(土) 02:18:31.54 .net
- >>434
これがべき乗を表現する常套手段だって知らない人がこれを見た場合、1文字変数にどんな正義があるんだ?
長さに比例すべきという案には賛成で、これより長くなるのなら俺はこれより長い名前を付ける。
- 436 :仕様書無しさん:2014/05/10(土) 07:22:21.64 .net
- 何で int が i, j, k, l… なのか知らないヤツ多いよな
- 437 :仕様書無しさん:2014/05/10(土) 07:28:44.71 .net
- >>433
ライブラリのpowは、double pow( double x, double y ) なので
K&R で power(base, n) としているのは意味のある変数を付けてる方だと思うが。
- 438 :仕様書無しさん:2014/05/10(土) 07:40:56.51 .net
- >>437
ねえ、突っ込むところそこなの?
それはある程度認めるけど足りないって書いてあるの読めない?
あとカニチャーハンのサンプルはまずいって話に標準ライブラリのプロトタイプは何か関係あるの?
- 439 :仕様書無しさん:2014/05/10(土) 08:49:25.91 .net
- >ねえ、突っ込むところそこなの?
power(base, n)
int base, n; の関数なんだけど
結果がオーバーフローしちゃう。こういうのは実装できない
- 440 :仕様書無しさん:2014/05/10(土) 10:07:02.72 .net
- >>438
皆が使う標準ライブラリーだから分かり易いプロトタイプじゃないと駄目でしょ
それとK
- 441 :仕様書無しさん:2014/05/10(土) 10:34:32.35 .net
- >日本語の通じない奴らだなあ、と思ってたんだが
日本語の出来るプログラマなんて、まだこの世に存在してないんだが
- 442 :仕様書無しさん:2014/05/10(土) 11:22:31.96 .net
- >>439
その突っ込みは非常に残念だが、ありだwww
>>440
おっしゃる事はもっともだけど、それが>>433への突っ込みなんだとしたら、まったく受け入れられないよ?
あと、最後の書きかけがもし同じ作者うんぬんだったとしたら、それこそまったく関係無い話だよ?
- 443 :仕様書無しさん:2014/05/10(土) 11:23:34.84 .net
- >>441
お願いです、それはネタだという建前にしといてくださいorz
- 444 :仕様書無しさん:2014/05/10(土) 12:07:36.72 .net
- int が i, j, k, l…
って fortran だっけ(あえて小文字で)
- 445 :仕様書無しさん:2014/05/10(土) 15:05:56.51 .net
- ま、intでなくINTEGERだけどね。
I,J,K,L,M,Nが暗黙の宣言で整数形はFORTRANとPL/I。
- 446 :仕様書無しさん:2014/05/10(土) 15:12:11.36 .net
- >>445
- 447 :仕様書無しさん:2014/05/10(土) 18:04:27.09 .net
- 可読性はセンスだよね
そして、可読性とパフォーマンスは別の問題である
- 448 :仕様書無しさん:2014/05/10(土) 18:55:41.82 .net
- >>447
その通り。
現在では可読性はとても重視される
それは、きちんと動かすための大きな助けになるからだ
動作安定性が確保されれば、パフォーマンスが重視される局面は限られている
- 449 :仕様書無しさん:2014/05/10(土) 18:57:12.55 .net
- で、>>445の立場は一体……
- 450 :仕様書無しさん:2014/05/10(土) 21:34:49.37 .net
- Fortranの整数型がすんなり出てきたり、K&Rって言っている時点で
このスレの平均年齢は高いと推測する
- 451 :仕様書無しさん:2014/05/10(土) 21:43:49.45 .net
- 今時K&Rはないだろう。
あとスコープがせまかったらi,j,kでも許されるよ。
最悪なのは数千行に及ぶmain関数の最初に
int i,j,k
と定義され、以下forループでそれらの変数を使いまわす奴がいるという事。
- 452 :仕様書無しさん:2014/05/10(土) 21:55:57.88 .net
- >>451
未だ同じ用途で使いまわすのは良いが、使うたびに型が同じなだけで
意味が違うものに使いまわす秀逸なセンスを持つスパグラマーが存在する。
- 453 :仕様書無しさん:2014/05/11(日) 01:24:57.98 .net
- だからiはIntegerのIじゃないとあれほど
- 454 :仕様書無しさん:2014/05/11(日) 22:16:59.82 .net
- たしかにintegerのiだったら、
jは何の略か? kは何の略か?ってことになるよな。
で、何の略?
- 455 :仕様書無しさん:2014/05/11(日) 23:08:30.86 .net
- ○や□が何の略か、考える必要があるだろうか
俺達は○や□を使う権利すらないという事だろうか
○や□を最初に考え出した人は、何を思っていたのだろうか
愚かな
- 456 :仕様書無しさん:2014/05/12(月) 01:07:51.64 .net
- 数学の添字由来だから index の略だろうな。
- 457 :仕様書無しさん:2014/05/13(火) 07:20:37.94 .net
- インなんとかさん?
- 458 :仕様書無しさん:2014/05/14(水) 20:04:55.87 .net
- 数式で添え字を使う時、i jをつかわなかったっけ?
昔のことでおぼろだけど、f(i j)のように
- 459 :仕様書無しさん:2014/05/14(水) 20:15:30.91 .net
- 君たち、画面描画は処理が遅いて知っている
グラフィック処理というやつね。分けたほうがいいよ
スパゲッティさんは計算の処理とか判断とか一緒くたに書いていそうだ
自分はパスタとベーコンの組み合わせががすき。
- 460 :仕様書無しさん:2014/05/14(水) 22:29:53.81 .net
- 俺はラーメン派だ
夜に麺類は肥満の元になるから気をつけなよ〜
- 461 :仕様書無しさん:2014/05/15(木) 21:56:35.71 .net
- >>459
天下のNECが作ったHOLONって開発環境は
共通処理を関数化したらコンパイルできなくて
イベントハンドラにすべての処理を書かなきゃいけなかったんだぞ
- 462 :仕様書無しさん:2014/05/16(金) 20:01:29.78 .net
- 自分が見てきた限りでは、
「自分に課せられた任務(作る業務=仕様)を理解していない。というより理解する気が無い」
もしくは
「『修正を最小限にしろ』という変な指令に従わざるを得なかった」もしくは「作り直すという選択肢は予算的に有り得ない」
というパターンが一番多かった。
前者が最初のスパゲッティを書き、後者がそのスパゲッティを泣く泣くメンテという構図…。
- 463 :仕様書無しさん:2014/05/21(水) 17:54:01.98 .net
- 順次 選択 反復
- 464 :仕様書無しさん:2014/05/22(木) 16:05:50.06 .net
- 予算がないから設計工程は省く、
って、余計にコストかかるよな。
- 465 :仕様書無しさん:2014/05/22(木) 23:17:19.83 .net
- むしろ設計工程が予算を食いつぶしてるような...
そして割を食うのはテスト工程
- 466 :仕様書無しさん:2014/05/23(金) 14:24:25.28 .net
- いやそれが正しい姿だ
- 467 :仕様書無しさん:2014/05/23(金) 17:47:25.08 .net
- その工程のツケは次工程に行く前に清算しろよ。
- 468 :仕様書無しさん:2014/05/23(金) 18:22:39.49 .net
- それが理想だが、その工程が完璧であることを
証明する方法がないのだから、
絶対に次の工程に残るものがある。
それをどうするかを決めないといけない
ウォーターフォールが失敗するのは、
工程が完璧であり戻りがないという
前程になっているから。
納品した後サポート期間があるように、
工程も次工程に渡した後にサポート期間を儲けないといけない。
つまり下流は納品物を検証し上流へ苦情を出す。
- 469 :仕様書無しさん:2014/05/23(金) 19:13:30.73 .net
- 後工程に押し付けるウォーター便所方式では、前工程はさっさと逃げ出す。
ケツを伸ばすか、プロジェクト中止すればいい。
何の根拠もなく次の工程で取り戻しますというPMを信じるな。
あと慌てて増員も余計に酷くなる。
- 470 :仕様書無しさん:2014/05/23(金) 22:26:21.34 .net
- >>454
i,j,k,l,m,nはFORTRANでの暗黙の整数型で、その流れからだと思うんだけど。
iから始まってるのは、もちろんint型の頭文字からきている。
あれ?、俺、もしかして釣られてる?....
- 471 :仕様書無しさん:2014/05/23(金) 22:31:44.63 .net
- アホはIよりいでてIよりアホし
- 472 :仕様書無しさん:2014/05/25(日) 00:38:46.23 .net
- プログラムは数学の流れから来てるんだから変数名は数学の頃からの慣例だろ
- 473 :仕様書無しさん:2014/05/25(日) 12:00:35.53 .net
- >>470
それが正解
>>472
数学だと x, y, z でしょ
それに i は虚数だし
- 474 :仕様書無しさん:2014/05/25(日) 12:03:51.45 .net
- Σのiだと思っていた
- 475 :仕様書無しさん:2014/05/25(日) 12:21:07.92 .net
- 行列のi,j,...かと(ry
- 476 :仕様書無しさん:2014/05/25(日) 14:00:17.08 .net
- >>474
これだろ
- 477 :仕様書無しさん:2014/05/26(月) 07:44:09.90 .net
- Σ(iωi)
- 478 :仕様書無しさん:2014/05/26(月) 19:00:34.10 .net
- 無限ループは、while(true) より for( ; ; ) がいい
- 479 :仕様書無しさん:2014/05/26(月) 19:46:42.75 .net
- while (1);
- 480 :仕様書無しさん:2014/05/26(月) 22:56:48.35 .net
- 普通は>>479だろ。
- 481 :仕様書無しさん:2014/05/27(火) 10:47:02.90 .net
- do whileじゃね?
- 482 :仕様書無しさん:2014/05/28(水) 21:21:46.89 .net
- >>480
せ、セミコロン
- 483 :仕様書無しさん:2014/06/17(火) 01:58:08.03 .net
- iはiterationのiだろ
まあinteger説も濃厚だが、少なくともindexは必ずしもループカウンタにはならない
- 484 :仕様書無しさん:2014/06/17(火) 02:49:02.73 .net
- increment かとばかり
- 485 :仕様書無しさん:2014/06/18(水) 06:35:55.15 .net
- 何この妄想で語るスレ
住人がスパゲッティコーダーじゃん
- 486 :仕様書無しさん:2014/06/22(日) 00:09:24.04 .net
- forに使うiはindexの事だとおもってた
- 487 :仕様書無しさん:2014/06/22(日) 00:58:24.04 .net
- 最近は言語の方が進化してforeach使うことの方が多いから、int iとか登場しなくなった。逆にObject oとか出てくる
- 488 :仕様書無しさん:2014/06/22(日) 07:39:35.04 .net
- 長い名前
- 489 :仕様書無しさん:2014/06/22(日) 09:35:50.29 .net
- (i) こう使うと i もまた別の趣がでる
- 490 :仕様書無しさん:2014/06/22(日) 20:57:06.75 .net
- スレッドプログラミングの話ですか今度は
- 491 :仕様書無しさん:2014/06/23(月) 22:35:14.73 .net
- 未だにCで変数は関数の頭で宣言しろっていう人が嫌いです
視認性悪いのになぜこだわるのOOできない人って
- 492 :仕様書無しさん:2014/06/24(火) 00:19:44.59 .net
- コンパイラによってはエラー吐くからでしょ
- 493 :仕様書無しさん:2014/06/24(火) 00:55:50.76 .net
- コンパイラがエラーを吐くからとか言う人にかぎって
昔っからスコープの頭で宣言しても大丈夫だってことは
知らないんだよなあ。
- 494 :仕様書無しさん:2014/06/24(火) 06:01:18.24 .net
- コード汚すなクズ
- 495 :仕様書無しさん:2014/06/24(火) 09:28:05.17 .net
- >>491
コーティングルールで禁止されてる
- 496 :仕様書無しさん:2014/06/24(火) 10:38:35.61 .net
- >>495
そのコーディングルールが今では間違っているって話だと思うんだが…
思考停止してコーディングルールに従ってる奴は汚いコード書く奴と同じくらい迷惑
- 497 :仕様書無しさん:2014/06/24(火) 11:23:17.08 .net
- >>491
C89のコンパイラでエラーになるだろうが!
- 498 :仕様書無しさん:2014/06/24(火) 12:41:54.88 .net
- ルールが嫌いなら、職業から間違えてる
- 499 :仕様書無しさん:2014/06/24(火) 15:48:28.80 .net
- >>496
コーディングルールはプロジェクトごとに決めるものでしょう。大抵はテンプレから選ぶだけだけど。
一貫性を持たせるために使うもので、正しいとか間違ってるとかで途中で変えるものではない。
テンプレを良くしていくのには賛成。
- 500 :仕様書無しさん:2014/06/24(火) 16:32:47.38 .net
- > 正しいとか間違ってるとかで途中で変えるものではない。
間違ってるルールを守ることに何の意味があると思うの?
ルールを守ることで生産性を下げて、それで誰が特をするというの?
極端な例で、コーディングルールに従うと、
脆弱性になるって場合でもルールの方を守れというの?
特に長いプロジェクトであれば、間違っていれば途中で変えるものだよ。
法律でさえ変えるものなんだからさ。
ルールブックには、決めたルールを書くだけじゃなくて、そのルールを決めた理由と
ルールを変更するための手順も明記しないとダメ。
頻繁に変えたり、場当たり的に変えるのはだめだが、ルールは定期的に見直し、
間違っていたり、現状に合っていなかったり、合わなくなったり、
人的リソースやツールに変化があれば、見なおして問題あるなら躊躇なく変える。
途中で変えたらダメと思うのは、ルールを100%守らなきゃいけないと思ってるから
ルールを変えたら、全ソース修正になって大変と思うからなのかな?
旧ルールで書かれた古いコードって解釈すればいいだけなんだが。
ルールを守ることで得られるメリットを得ることが目的であって、
ルールを守ることが目的じゃないんだからさ、
メリットがないルールは守る必要がないの。
- 501 :仕様書無しさん:2014/06/24(火) 16:38:50.66 .net
- >間違ってるルールを守ることに何の意味があると思うの?
政府に言えw
- 502 :仕様書無しさん:2014/06/24(火) 16:42:06.11 .net
- >>501
選挙に行け
- 503 :仕様書無しさん:2014/06/24(火) 17:18:14.23 .net
- >>499
>コーディングルールはプロジェクトごとに決めるものでしょう。
そんなにコロコロ変えるものではないだろ。
一度決めたら何百ものプロジェクトに適用されるんだから
正しさを担保するために年単位の時間をかける。
- 504 :仕様書無しさん:2014/06/24(火) 17:21:46.05 .net
- プロジェクトが終わらないどころか、進まないパターンだな。
正しいかどうかは生き延びてからゆっくり考えろ。
- 505 :仕様書無しさん:2014/06/24(火) 17:25:17.09 .net
- >>503
いくつかあって、その中から選択するという意味で変わるかなと。プロジェクトごとに作るという意味ではなかったです。
言語が違えばコーディングルールも違ったりするし、
ソフトウェアハウスだと、クライアントによっても変わったりするし。
- 506 :仕様書無しさん:2014/06/24(火) 17:48:57.80 .net
- 一般的にはクライアント毎かな、とは思う
- 507 :仕様書無しさん:2014/06/26(木) 22:51:53.83 .net
- >>500
お前みたいなのが二人居るとボクシング始めだして話が進まなくなるんだよね
歩行者用信号が赤の時に道路に飛び出してくるアホと青の時にアクセル踏んで加速するアホ同士のボクシング
こいつらはその場に車や人が見えなければ信号は無視した方が効率が良いと、お互いに微妙にズレた主観に基づいて殴り合う
でも、普通に信号守ってる奴からすりゃあ轢かれたり人を轢くハメになっていい迷惑なんだよね
これまで脳死で良かったのに、ルールを守らないアホに対しても配慮しないといけなくなるんだからな
- 508 :仕様書無しさん:2014/06/26(木) 23:26:24.09 .net
- >>507
お前、話を混乱させたくないなら関係無い話を持ち出すなよ
今ここで語られているのは間違ったルールについてであって、道路交通法には基本的に欠陥は無いからまったく関係無い話だ
ちなみにみんな勘違いしているが、ドライバーがザルと呼んで叩きまくっているシロモノの正体は道路交通法じゃなくて道路交通法施行令だからな
守らなきゃいけない事があるからルールに定められるのであって、ルールだから守らなきゃいけないんじゃないからな
- 509 :仕様書無しさん:2014/06/26(木) 23:37:12.52 .net
- ウチのSEはどんな言語のコードでも全く理解出来ないので
どんなコーディングやろうが動けば何も言わないw
また、テーブルに主キー以外のインデックスが存在しないので
データ量が増えるとレスポンスが悪化するw
- 510 :仕様書無しさん:2014/06/27(金) 08:37:34.11 .net
- >>508
ルールと法は違う、まずそこから。
ルールは愛嬌で構成される。だから正しいも糞も無い。
法は無情で構成される。だから正しいも糞も無い。
焼肉屋で、焼いてからタレ漬けてる奴が居たとする。
それを見て『なんて効率の悪いルールだ!タレを付けてから焼かない奴は死刑だ!』と考えた奴がいたとする。
妥協できないなら法を作れ。
スターリンのように。
- 511 :仕様書無しさん:2014/06/27(金) 10:51:00.60 .net
- このスレ
スパゲティ作るの上手いやつ多そうだな
- 512 :仕様書無しさん:2014/06/30(月) 09:50:06.28 .net
- 結局ルール自体が正しいとか正しくないって言うこと自体がナンセンス
- 513 :仕様書無しさん:2014/06/30(月) 10:35:06.49 .net
- A. 人間は過ちを起こす → だから → 人間の考えたルールは正しくない
B. 人間は過ちを起こさない → だから → 人間の考えたルールは正しい
C. 人間は過ちを起こす → だから → 人間の考えたルールは正しい
Cの論理を主張されてもスパゲッティだわな
- 514 :仕様書無しさん:2014/07/13(日) 02:02:35.35 .net
- 使い方のドキュメントがしっかりしてれば
スパゲッティでもちゃんと動くんだったら問題ないよ?
もう中身なんか二度と見ないから
- 515 :仕様書無しさん:2014/07/13(日) 08:18:50.71 .net
- >>514
仕様変更、追加要求。
- 516 :仕様書無しさん:2014/07/13(日) 12:04:40.28 .net
- 運用で対応してください
- 517 :仕様書無しさん:2014/07/13(日) 12:24:56.86 .net
- >>515
変更○○○万円、追加○○○万円
これで変更も追加も無くなる
- 518 :仕様書無しさん:2014/07/13(日) 18:22:32.28 .net
- >>517
通信先の仕様が変わったり、法令が変わることもある。
そして要求を発するのが自分のこともある。
- 519 :仕様書無しさん:2014/07/13(日) 19:17:48.86 .net
- >>518
いや工数が発生するんだから金払えよ
- 520 :仕様書無しさん:2014/07/13(日) 23:15:06.65 .net
- >>519
自分で自分に払っても
- 521 :仕様書無しさん:2014/07/14(月) 08:11:35.30 .net
- 要求が変わっても無改造でちゃんと動くなら問題ないが
普通そんなことはない
- 522 :仕様書無しさん:2014/08/06(水) 23:10:00.42 .net
- スパゲティじゃないが、スペルミスでhandleをhangleと書いてしまった。
バージョン管理がgitでよかったぜ。
- 523 :仕様書無しさん:2014/08/07(木) 11:39:36.83 .net
- supaget
- 524 :仕様書無しさん:2014/08/15(金) 14:01:54.33 .net
- 組み込みプログラマーが書いたコードはグローバル変数てんこ盛りだから必然的にスパゲッティーだな。
- 525 :仕様書無しさん:2014/08/15(金) 14:15:45.66 .net
- 趣味はセックスです
- 526 :仕様書無しさん:2014/08/17(日) 20:47:44.31 .net
- そして童貞です
- 527 :仕様書無しさん:2014/08/23(土) 01:40:27.38 .net
- 助けて〜
デグレが怖いからってツギハギなコーディングを求められて
テストして悪いとこ出し切ってまとめて修正しようとしてるのに
見つけた瞬間ここ直しておいてだの対応を迫られるし、
リーダーとまったく理念が合わない〜
- 528 :仕様書無しさん:2014/08/23(土) 04:18:32.12 .net
- どうしようとしているのか先に整合しろよ
- 529 :仕様書無しさん:2014/08/23(土) 10:49:54.50 .net
- >>527
リーダとやらは、お前がバグを見つけた瞬間に言わなくても分かるエスパーなのけ?
でなけりゃ言わんで貯めときゃ良いべなw
- 530 :仕様書無しさん:2014/10/13(月) 11:44:03.69 ID:ch1fZtLiv
- >>517
それやっていいの?
- 531 :ギンコ ◆BonGinkoCc :2014/12/05(金) 06:22:38.07 .net
- どこの道順に繋がっているかがわからないプログラムをスパゲッティプログラムといいます。
自動車の道路でいえば、東京の高速道路における大橋ジャンクションとかだね。
初めて訪れるドライバーだとはっきり言って真宵マイマイ状態ですね。
- 532 :仕様書無しさん:2014/12/05(金) 08:27:58.05 .net
- 時間が経つとくっついて、フォークを刺しても全てがくっついてくるコードを、スパゲティプログラムと言います。
- 533 :仕様書無しさん:2014/12/22(月) 23:02:00.22 .net
- super-getty
- 534 :仕様書無しさん:2015/03/09(月) 07:25:59.80 .net
- マジレスすると複雑度が全体的に高い
- 535 :仕様書無しさん:2015/05/01(金) 12:41:10.31 .net
- ナポレオン食べたくなったよ
- 536 :仕様書無しさん:2015/05/01(金) 12:42:14.08 .net
- 間違ったナポリタンだよw
総レス数 536
124 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200