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


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

この会社辞めようと思ったソースコード#17



1 名前:仕様書無しさん mailto:sage [2007/07/06(金) 14:42:11 ]
この会社辞めようと思ったソースコード。
プログラマとして幻滅するソースコード。
プログラマを悩ませるソースコード。
をつらつらと綴っていって頂戴。

ちなみにここは質問スレじゃないので
技術的な質問がしたいならム板 pc11.2ch.net/tech/ に逝って。

前スレ
この会社辞めようと思ったソースコード#16
pc11.2ch.net/test/read.cgi/prog/1175485506/

201 名前:仕様書無しさん mailto:sage [2007/07/12(木) 15:53:24 ]
>>195
見よう見まねで内部結合しようとしたら、なんかいっぱい返ってきたから
チェックするようにしました、みたいな。
ヴビ厨が得意。

202 名前:仕様書無しさん mailto:sage [2007/07/12(木) 16:19:41 ]
データベースを使ったデータ操作関連プログラムは、テーブルの設計がしっかり
していれば糞ソースになりにくい。



203 名前:仕様書無しさん mailto:sage [2007/07/12(木) 16:32:42 ]
いや、なるでしょ。
テーブルの設計と、プログラマが書くコードは別問題。

204 名前:仕様書無しさん mailto:sage [2007/07/12(木) 16:33:09 ]
>>202
ダメな奴は、正規化すればするほど >>201 みたいなことに陥りやすい件。

205 名前:仕様書無しさん mailto:sage [2007/07/12(木) 16:41:12 ]
テーブル設計がしっかりとしたものになるかどうかは、
6割の努力と4割の運任せだよって、かあさんが言ってた。

206 名前:仕様書無しさん mailto:sage [2007/07/12(木) 16:51:42 ]
>>205
それはブイヤベースの間違いじゃないかい?

207 名前:仕様書無しさん mailto:sage [2007/07/12(木) 17:05:48 ]
運任せってのはわかるな。
初期設計の時は見落としていた活用の道が出てきて、転用しようとしたら設計が悪くて、再構築になることがある。
再構築しなくてよいテータベースがあると、その設計に感嘆する。
センスの差なのかもしれんね。

208 名前:仕様書無しさん mailto:sage [2007/07/12(木) 17:05:59 ]
結局、最前線に配置されている兵隊が駄目だと、どんなに
すばらしい作戦も失敗すると。

209 名前:仕様書無しさん mailto:sage [2007/07/12(木) 17:07:35 ]
>>207
>再構築しなくてよいテータベースがあると、その設計に感嘆する。

ER図がぱっと頭の中に浮かぶんだな。



210 名前:仕様書無しさん mailto:sage [2007/07/12(木) 17:22:05 ]
>>207
発展型の転用と、思いつきの転用の差だと思う。
ユーザーがぶれてないだけで、設計の良し悪しはあまり関係ない気がする。

211 名前:仕様書無しさん mailto:sage [2007/07/12(木) 18:45:01 ]
テータベースに萌えた

212 名前:仕様書無しさん mailto:sage [2007/07/12(木) 21:47:11 ]
>再構築しなくてよいテータベースがあると、その設計に感嘆する。

本来はそうなるように最初から設計しておくものだが・・・。

Excelしか触ったことなかったり、Accessが256以上のカラムが使えないから困るとか
言う人には夢の話なのかもしれんが。


213 名前:仕様書無しさん [2007/07/12(木) 22:29:53 ]
>>212
1レコード212のカラムの設計するほうが難しいと思うんだがw
でも・・・あるんだよなぁ・・・・orz

超汎用テーブルとかだれが思いつくのさ

214 名前:仕様書無しさん mailto:sage [2007/07/12(木) 22:50:36 ]
>>213
みかか村で過去に14テーブルぐらいそうゆうのみたなw


215 名前:仕様書無しさん mailto:sage [2007/07/12(木) 22:59:21 ]
こんなDBもあるんだからびっくりだ
名前, 種類, データ1, データ2, ・・・・, データ99, 予備1, 予備2,・・・予備99


216 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:04:34 ]
そんな用途不明のフィールド量産してどうするんだwww
暗号か?www

217 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:07:11 ]
データベースの設計は基本的に「1 fact 1 place」を頭に入れておけば
そう難しいモノでもないのだが、どーもCOBOLerとかAccessやExcelしか
知らん人は不思議なテーブル設計をするよな。

なんでそんなに面倒で難しい方向に走りたがるのかよーわからん。

218 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:08:37 ]
>215
予備の無意味さに吹いた

219 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:14:10 ]
C++で、構造体にメンバ変数を追加する必要があって、
その構造体を扱っているコードをみていたら、わざわざ
メンバ変数を一個ずつコピーしてる関数が。

HogeCopy(Hoge* dst, Hoge* src)
{
  dst->a = src->a;
  dst->b = src->b;
  dst->c = src->c;
  :
  :
}

これ、*dst = *src; でいいだろと思ったけど、念のためにコードを確認してみると、
メンバ変数は31個なのに、コピーしてるのは29個だけ。

ただのバグだと思うけど、*dst = *src;に置き換えて全部コピーするようにして、なにか
影響があるといやなので、(影響がないか調べるのもめんどうなので)上のコードに、
追加したメンバ変数を、コピーするコードを追加しておきました。
(こうやってどんどんダメなコードになっていくんだろうなぁ)





220 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:17:01 ]
>>217
COBOLは、レコード長固定のファイルに対して
1レコード読む→レコードを桁で区切る→処理
をすることに特化した言語だからな
予備カラムなんて考え方もそれに由来するんだろう

コボラはその考え方でしか理解出来ないからDBにまでそれを持ち込む

221 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:18:36 ]
ポインタのコピーは、ポインタが上書きされるだけでは?
それを行うならmemcpy(だったっけ)を使うのでは?

222 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:20:06 ]
>>221
メンバ変数にCStringがあるから、それやると、逆に大惨事に。

223 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:36:04 ]
>>221
>219 のどの辺がポインタのコピーなのかkwsk

224 名前:仕様書無しさん mailto:sage [2007/07/12(木) 23:52:26 ]
src->aのメンバ変数aが何の型か
解からないけど実はポインタ型とか
勝手にいい方に解釈してみるテスト

225 名前:仕様書無しさん mailto:sage [2007/07/13(金) 00:29:36 ]
>>219
数にもよるが俺ならこう書くかもしれない。
HogeCopy(Hoge * dst, Hoge * src)
{
Hoge * dstOld = dst;
// とりあえず全部コピー
*dst = *src;

// 以下2つはコピーしたくない
dst->x = dstOld->x;
dst->y = dstOld->y;
}

226 名前:仕様書無しさん mailto:sage [2007/07/13(金) 00:31:55 ]
強い保障されたswap( )実装しろよ


227 名前:215 mailto:sage [2007/07/13(金) 07:19:23 ]
実はこれある大手銀行のデータベースなんだ・・・
二度とそこには預金しなくなったYO

228 名前:仕様書無しさん [2007/07/13(金) 08:34:20 ]
>>215
前、銀行子会社のソフト会社に勤めてた。
親絡みの仕事してる事業部と、親関係ない自前パッケージ作ってる事業部があって
関係ない方にいたんだけど、親絡みの方から移動してくるコボラはそんな感じだった

内部コード、ソート順、名称、種別、区分、大分類、中分類、少分類、ステータス1、ステータス2…
内部コードとソート順にキーをはってるくせに
実際は種別でテーブル分けろよみたいな動きを切替えて
区分でみてるデータと大中小分類でみてるデータがあって
有り得ないデータの制御はアプリで規制するの

正規化とかはなにそれ?って感じなの
だって単項目マスターに全マスターほおりこむから

高望みしないからせめてソート順のキーをはずしてくれ…
意味のない内部連番キーにしてるんだから十分じゃないか

229 名前:仕様書無しさん mailto:sage [2007/07/13(金) 10:03:31 ]
HogeCopy(Hoge * dst, Hoge * src)
{
Hoge * dstOld = dst;
// とりあえず全部コピー
*dst = *src;

// 以下2つはコピーしたくない
dst->x = dstOld->x;
dst->y = dstOld->y;
}

*dst = *src した時点で、dstOldのさしている先も更新されているって…



230 名前:仕様書無しさん mailto:sage [2007/07/13(金) 12:51:28 ]
>>225
おまえ C 使えないだろ。

231 名前:仕様書無しさん mailto:sage [2007/07/13(金) 14:11:00 ]
>>224
メンバ変数aがポインタ型だったとして、
dst->a = src->a と *dst = *src がどう違うと言うんだ?

>>225
ワロタw

232 名前:仕様書無しさん mailto:sage [2007/07/13(金) 14:51:23 ]
>>225
馬鹿!!!

233 名前:232 mailto:sage [2007/07/13(金) 14:52:49 ]
およよ。既に突っ込まれ済みですかw

234 名前:仕様書無しさん mailto:sage [2007/07/13(金) 15:28:05 ]
>>225の人気に嫉妬

235 名前:仕様書無しさん mailto:sage [2007/07/13(金) 17:43:53 ]
>書くかもしれない

ってとこからして、間違った時のことを想定してるんじゃないの?

236 名前:仕様書無しさん mailto:sage [2007/07/13(金) 17:59:37 ]
>>225と寿司九位タイ

237 名前:仕様書無しさん mailto:sage [2007/07/13(金) 18:17:50 ]
>>>Hoge * dstOld = dst;
--
<<<Hoge dstOld = *dst;

238 名前:仕様書無しさん [2007/07/13(金) 18:30:36 ]
女なら普通に3本まではつっこめる。
男でも3本くらいはつっこめる。


239 名前:仕様書無しさん mailto:sage [2007/07/13(金) 18:55:29 ]
>>225
イジメないから出ておいで。




240 名前:仕様書無しさん mailto:sage [2007/07/13(金) 20:18:13 ]
・・・いぢめる?

241 名前:仕様書無しさん mailto:sage [2007/07/13(金) 20:58:31 ]
当然だろ

242 名前:仕様書無しさん mailto:sage [2007/07/13(金) 20:59:50 ]
>>237
そのpatchはコンパイルが通らなくなる可能性が・・・

243 名前:仕様書無しさん mailto:sage [2007/07/13(金) 21:38:16 ]
HogeCopy(Hoge * dst, Hoge * src)
{
Hoge dstOld = *src;
*dst = *src;

dst->x = dstOld.x;
dst->y = dstOld.y;
}
か?
>>231
メンバにポインタや参照があるとシャローコピーになってしまう恐れがあるって事じゃ?

244 名前:仕様書無しさん mailto:sage [2007/07/13(金) 22:59:08 ]
ホイコーローコピーってどんなコピーだっけ?

245 名前:仕様書無しさん mailto:sage [2007/07/14(土) 00:26:54 ]
つーか、SQLだとテストいらなくて、同処理をするjavaだとテスト必要って
....なにが違うの?


246 名前:仕様書無しさん mailto:sage [2007/07/14(土) 00:31:29 ]
>>245
SQLはプログラミング言語ではなく、
javaはプログラミング言語だからです。

247 名前:仕様書無しさん mailto:sage [2007/07/14(土) 00:40:56 ]
あまり複雑なストアドは書かんでほしい。
デバッガはもちろん、printデバッグもできんじゃないか。

248 名前:仕様書無しさん mailto:sage [2007/07/14(土) 07:44:07 ]
SQLもプログラム言語というか普通に命令セットの集合だと思うが。

つか、SQLと同処理をするJavaはそりゃテスト要るだろ。

SELECT WKDATE,DAYNAME(WKDATE),COUNT(NUM1).AVG(NUM1)
FROM HOGE
WHERE YEAR(WKDATE) = 2006
GROUP BY WKDATE
ORDER BY WKDATE ;

SQLだと1行(?)ですむ処理がjavaだと結構な行数(?)になるしな。

249 名前:仕様書無しさん mailto:sage [2007/07/14(土) 11:31:43 ]
>>248
SQLはプログラム言語じゃないよ。
PL/SQLはプログラム言語だよ。



250 名前:仕様書無しさん mailto:sage [2007/07/14(土) 11:47:15 ]
>>249
「〜じゃない」は言えるけど、「〜だ」が言えないタイプの奴だなw
脊髄反射で否定するのは得意。

まあ俺も SQL はプログラミング言語に分類するより、データベースに特化した
クエリ言語に分類するのが適当だと思うけれども。

251 名前:仕様書無しさん mailto:sage [2007/07/14(土) 11:57:30 ]
SQLは問い合わせ言語であって、プログラム言語じゃないよ。

252 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:00:48 ]
マシンに明確な指示を与えるための規則の集合という意味では
プログラミング言語と呼んでも間違いではないと思うんだが。
クエリ言語という分類があるとすれば、集合的には、プログラミング言語とクエリ言語の積といったところか。

HTMLはプログラミング言語か―というような議論と同質だな。

253 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:01:03 ]
>>250
アホかw
「俺も〜が適当だと思う」って、お前の意見なんか聞いちゃいねーよw
SQLのことをよく知らないの丸わかりだな

254 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:03:38 ]
>>252
htmlをプログラミング言語なんて思ってる奴なんか、何も知らない初心者だけだろう。
テキストをマークアップするだけの作業のどこがプログラムなんだ?
本に蛍光ペンや赤ペンで線引いたりするのと本質的には同じ作業だろうが。

つまりお前は何も知らない初心者と言うことだ。

255 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:09:17 ]
>>254
様々なプラットフォームのブラウザに同一の表示結果を与えるための
マークアップは、プログラミングと言っていいと思う。


256 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:10:26 ]
実際、たとえばOracleのcaseを駆使したSQLなんかはプログラムと言っても差し支えはないだろうが
もともとそういうのはクエリを呼び出した側がやるべき処理ではあるんだよな。
SQLがどんどん高性能化していってるせいで境界線がよくわからなくなってきてる。

257 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:12:23 ]
>>255
いいわけがない。
そもそも、htmlを読んでどう表示するかはブラウザ側の実装次第。
つまり「様々なプラットフォームのブラウザに同一の表示結果を与えるため」に必要なのは
ブラウザ開発者側の努力だよ。
だからAcid2なんてものがあるんだろ。

258 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:15:20 ]
Acidテストも知らない新人がなに息巻いているんだ?
休日使って勉強でもしとけや

259 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:17:09 ]
つかドラゴンブックにHTMLはプログラミング言語だって
書いてあるけどな



260 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:21:32 ]
クエリ言語っていうかSQLの一説は構造化照会言語なんだから
そのまんまな話に思えるが。

ストアドなSQLは立派にプログラム言語してると思う。

261 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:23:17 ]
つか、字句を拾って構文を読み取る者全般を
プログラミング言語って解釈だぞ。


262 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:23:54 ]
あなた方の発言はこちら向きです
pc11.2ch.net/test/read.cgi/prog/1179420838/

263 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:25:59 ]
>>261
じゃあ、面接か何かで
「プログラム言語が得意です!とくにHTMLです!」
って言ってみてよ。
俺にはできない。

それで笑われたら「字句を拾って…」って同じ反論してみてよ。
俺にはできない。

264 名前:261 mailto:sage [2007/07/14(土) 12:35:01 ]
俺、今はもう作ってないけど
組込み向けのブラウザ作ってた時期があった(都合により退社)

んで今の会社の面接で得意な言語はなんですか?って聞かれて
最近ではHTMLですね。バリバリかけますって言ったよ。
採用担当者とエンジニアは笑ってたな。
レンダリングエンジンを作ってたのでHTMLは得意なんですよねって
言い直した。

まぁ今その会社で7年目だが文句あるか?



265 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:38:49 ]
>>264
>最近ではHTMLですね。バリバリかけます
じゃなくて
>レンダリングエンジンを作ってた
ここが重要だったんだろ?

日本語が不自由だって自覚を持った方がいいよ。

266 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:39:47 ]
>>264
結局>>257が書いてるのと意味合い的には何も変わっていないわけだが

267 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:51:28 ]
バイナリだって言語と呼べるのかもな。
CPUが解釈できる命令のことを機械語って言ったりするし。

>>257
それはブラウザ以外にも言えることだと思う。
そもそも、機械語を読んでどう処理するかはプロセッサの実装次第。
つまり「過去のプロセッサ含め、さまざまなプロセッサで同一の処理結果を保証するため」に必要なのは
プロセッサ開発者側の努力だよ。
だから・・・なんてものがあるんだろ。(←思いつかなかったw)

268 名前:仕様書無しさん mailto:sage [2007/07/14(土) 12:55:39 ]
>>267
本物の馬鹿がやってきた

269 名前:仕様書無しさん mailto:sage [2007/07/14(土) 13:01:21 ]
>>267
スレタイも読めないんじゃ、そんなバカな書き込みもむべなるかな。



270 名前:仕様書無しさん mailto:sage [2007/07/14(土) 13:03:04 ]
自分の固定観念で追いつけなくなるとすぐ馬鹿呼ばわりする
プログラマってのはこういうのが多いなw
プログラミング言語でも何でも出来合いのものを組み合わせて作るのはうまいが
自分から新しいものは作り出せない香具師が多い理由がわかる気がするわ

271 名前:仕様書無しさん mailto:sage [2007/07/14(土) 13:04:59 ]
今までさんざんスレ違いな会話していて、俺がきたら「スレタイ嫁」かよw


まあいいや、続きをドゾー。おじゃましますた^^

272 名前:仕様書無しさん mailto:sage [2007/07/14(土) 13:06:54 ]
>>271
だって、プログラミング言語の話なのに、CPU持ち出すんだもん。
そりゃ違うじゃん。

273 名前:仕様書無しさん mailto:sage [2007/07/14(土) 13:10:17 ]
いくらなんでも「HTMLはプログラミング言語じゃない」から>>267の話は飛躍しすぎ
揚げ足取りのコピペって時点でもどうかと思うが
>>257の書き込み自体はもっともじゃないのか

274 名前:仕様書無しさん mailto:sage [2007/07/14(土) 13:16:03 ]
アバヨいっといてまた書き込むのもアレだが、俺は端的に言語の例を挙げただけなんだがな。
プログラミング言語の範疇だとか定義だとか、これほど曖昧な物はない。

データの処理のしかたを規定するものなら、例外なくプログラミング言語だと、俺は思うんだが。
SQL然り、HTML然り、機械語然り。どれも何かを処理する手順書という点では共通。

275 名前:仕様書無しさん mailto:sage [2007/07/14(土) 13:28:34 ]
定数が1ずつずれちゃってたときなんか修正がいやだったなあ・・・

276 名前:仕様書無しさん mailto:sage [2007/07/14(土) 14:35:46 ]
いや、>>245 はSQLだろうがJAVA組もうがテストしろと
言いたいだけではない

277 名前:仕様書無しさん mailto:sage [2007/07/14(土) 14:49:05 ]
この会社辞めようと思った腐れ上司の一言0x1E
pc11.2ch.net/test/read.cgi/prog/1179420838/

もし日本語が読めるのであれば、どうぞこちらへ

278 名前:仕様書無しさん mailto:sage [2007/07/14(土) 15:31:05 ]
>>263
君の話は飛躍しすぎ
厳密に言えばhtmlもプログラミング言語の範疇であろうが、普段われわれがプログラミング言語として考えるところのCやJavaなどから見ればプログラミング言語らしくないというだけの話
ここで面接官がいうPLにhtmlが含まれないであろう事は当たり前である。でもそれはhtmlがPLに含まれないことを示すものではない

279 名前:仕様書無しさん mailto:sage [2007/07/14(土) 15:46:28 ]
君の文は読み悪すぎ
厳密に言えば句読点の使い方もあやしいし
そもそも適度な改行が入っていないのがおかしいという話



280 名前:仕様書無しさん mailto:sage [2007/07/14(土) 15:55:49 ]
Q. SQLってプログラミング言語なの?
A. 全然違うよ。全く関係ないよ。

281 名前:仕様書無しさん mailto:sage [2007/07/14(土) 16:38:45 ]
ttp://ja.wikipedia.org/wiki/SQL

>SQLは「宣言型プログラミング言語」と分類される

282 名前:仕様書無しさん mailto:sage [2007/07/14(土) 16:46:23 ]
>>278
PLってなに?甲子園の常連校?

283 名前:仕様書無しさん mailto:sage [2007/07/14(土) 16:51:06 ]
この会社辞めようと思った糞議論。

284 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:11:46 ]
>>279
この、改行厨めがっ

>>282
常連ってほどでもないだろ、最近は
昔は強かったよねぇ

285 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:17:10 ]
>>281
うぃきをソースにスンナよ糟が

286 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:18:15 ]
>>285
うるさい、お前はもっとかす

287 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:19:36 ]
「言語」と「プログラミング言語」は分けて考えようぜ。


288 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:21:46 ]
くっだらねぇ
そんな本質的でないところにこだわるなよ
議論するなら、定義を持ち出してきて白黒決着つく形で議論しろよ
これだから糞文系プログラマーは面白い

289 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:26:37 ]
公理も定義もない状態で議論しても主観によるところが大きいから、お互いの論理に矛盾無しに反立しうる。
つまりはお互い平行線のまま水掛け論になりうる。そんな無駄な議論の好むのがえてして文系。あいつらの考えることはよくわからん。



290 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:29:21 ]
どうでもいいけどオナニー文章書いて
悦にはいるのはやめてけろ

291 名前:仕様書無しさん mailto:sage [2007/07/14(土) 17:38:25 ]
この会社辞めようと思った腐れ上司の一言0x1E
pc11.2ch.net/test/read.cgi/prog/1179420838/

もし日本語が読めるのであれば、どうぞこちらへ


292 名前:仕様書無しさん mailto:sage [2007/07/14(土) 20:47:46 ]
俺、今からメロン食う
みんな応援ヨロシクな

293 名前:仕様書無しさん mailto:sage [2007/07/14(土) 20:51:21 ]
馬鹿野郎
コロッケだろ
台風なんだから

294 名前:仕様書無しさん mailto:sage [2007/07/14(土) 20:53:17 ]
メロン半分食い終わった

295 名前:仕様書無しさん mailto:sage [2007/07/14(土) 20:54:10 ]
俺、今からスイカ食う
みんな応援ヨロシクな

296 名前:仕様書無しさん mailto:sage [2007/07/14(土) 20:55:20 ]
Wikipediaをウィキと呼ぶプログラマが書いたソース。

297 名前:仕様書無しさん mailto:sage [2007/07/14(土) 21:14:34 ]
>>296
おお、新しい。

メールの内容の英数字が全角半角混在のやつが
書いたソースなみにいやだなあ。

298 名前:仕様書無しさん mailto:sage [2007/07/14(土) 22:15:41 ]
10年単位の長きに渡ってつぎ足しつぎ足しして熟成されたソース

299 名前:仕様書無しさん mailto:sage [2007/07/14(土) 22:35:21 ]
>298
カオスっぷりが頭に浮かぶなw



300 名前:仕様書無しさん mailto:sage [2007/07/14(土) 22:59:47 ]
プログラミング言語の定義(誰が言ったかは忘れた)
『逐次実行・条件分岐・繰り返しの構造を持つ言語』

…コレがホントかどうかも忘れた。

301 名前:仕様書無しさん mailto:sage [2007/07/14(土) 23:57:06 ]
ダイクストラの構造化定理が似てるが、
プログラム→順次・反復・分岐で書ける
という感じの命題だから、論理学的には「逆」だな。


302 名前:仕様書無しさん mailto:sage [2007/07/15(日) 01:05:21 ]
じゃあやっぱりSQLもHTMLも含まれないでFAなんじゃん

303 名前:仕様書無しさん [2007/07/15(日) 01:41:50 ]
Programming with Stored Query Language.

304 名前:仕様書無しさん mailto:sage [2007/07/15(日) 01:44:06 ]
プログラミング言語かどうかはともかく、テストはしなくちゃな。
JavaやSQLの記述はもちろん、iniファイルの内容を書き換えた場合ですら。
そういえば設定内容を書き換えるのは開発じゃないと思ってる輩がいたっけ。

305 名前:仕様書無しさん mailto:sage [2007/07/15(日) 01:56:50 ]
>>304
設定ファイルを書き換えることさえ開発だって言ってたら
運用の人まで開発者になっちゃうじゃまいか

306 名前:仕様書無しさん mailto:sage [2007/07/15(日) 02:00:56 ]
その理屈だと秀丸の背景色を変えることすらも開発さ

307 名前:仕様書無しさん [2007/07/15(日) 02:07:38 ]
ソフトを完成しさせて人手に渡るところまでは開発だろ
Iniファイルだって完成前までの初期設定変更とかは開発だと思うけど
そっからさきは違うだろうね

308 名前:仕様書無しさん [2007/07/15(日) 02:13:49 ]
JAVAなんてアホでも出来るように作られてる言語なんだし
そんなに熱く語るほどの事かね?

309 名前:仕様書無しさん mailto:sage [2007/07/15(日) 02:18:57 ]
>>308
そのJAVAをこれから始めてみようと思う俺が来ましたYO!



310 名前:仕様書無しさん mailto:sage [2007/07/15(日) 04:16:26 ]
// このURLへは今後接続しないことを示す
public boolean discnct(String cnurl) {
   try{
      URL url = new URL(cnurl);
      HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
      urlconn.disconnect();
      return true ;
   }
   catch(Exception e){
      return false ;
   }
}

311 名前:仕様書無しさん mailto:sage [2007/07/15(日) 08:52:46 ]
>>310
何をしたいのかがサッパリだ

312 名前:仕様書無しさん mailto:sage [2007/07/15(日) 09:22:16 ]
discnct という名前からして、いい感じに腐っている。
いまだに母音を省略する命名ルールが生きのこっているなんてガラパゴスか?


313 名前:仕様書無しさん [2007/07/15(日) 10:34:14 ]
コメントが全部、日本語をローマ字表記。

 koreha, komento desu.
 kokode***suru
 [debagu yy/mm/dd]


314 名前:仕様書無しさん [2007/07/15(日) 10:38:12 ]

IME壊れたんだろう

315 名前:仕様書無しさん mailto:sage [2007/07/15(日) 11:46:40 ]
> [debagu yy/mm/dd]
にしても、これはちょっと。debug でいいやん。

316 名前:仕様書無しさん mailto:sage [2007/07/15(日) 11:59:26 ]
せめてdebaggu

317 名前:仕様書無しさん [2007/07/15(日) 12:00:17 ]
テーブル名とかカラム名がローマ字ならよく見る
TORIHIKITBLとかHURIKOMIKINGAKU CHAR(10)みたいな

318 名前:仕様書無しさん mailto:sage [2007/07/15(日) 12:03:25 ]
それならいいけど
未だに母音抜いてTRHKとかHRKMKNGKとかの方がよく見る気がする
ヘブライ語かよ

319 名前:仕様書無しさん mailto:sage [2007/07/15(日) 12:36:35 ]
discnctについては、母音省略もアレだが、dis-を「〜しない」だと思ってる
のがイタイな。




320 名前:仕様書無しさん mailto:sage [2007/07/15(日) 12:37:52 ]
>>318
KWSKかよ

321 名前:仕様書無しさん mailto:sage [2007/07/15(日) 12:38:40 ]
>>313
文字コード関係じゃね いちおう・・・

322 名前:仕様書無しさん mailto:sage [2007/07/15(日) 12:43:36 ]
>>JAVAなんてアホでも出来るように作られてる言語なんだし
アホにはむり、コボラならOKの言語

323 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:16:14 ]
>>319
disconnectは普通に「切断」という意味だが・・・?

324 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:18:24 ]
>>323
そうだよ。

すでにつながっているものを「切断」するんであって、
最初からつながないという意味じゃない。


325 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:36:30 ]
最初から繋がらないなんてどこに書いてあるんだ
最初から繋げない じゃないのか

326 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:49:23 ]
メソッド名としては、testConnectibityとかの方が助かると思う。

327 名前:仕様書無しさん [2007/07/15(日) 13:54:18 ]
>>324
disableは最初から出来ないと思うよ

328 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:56:19 ]
disableは、可能であることを出来ないようにしておくことだね。


329 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:56:32 ]
>>327
できる/できないで話すのもなんだが、
It disable you to ~~ とかで使うから、出来なくするってのが一般的じゃないの?
unableが最初から出来ない方なわけで。
dictionary.goo.ne.jp/search.php?mode=0&MT=disable&kind=ej&IE=sjis&type=sleipnir&ej



330 名前:329 mailto:sage [2007/07/15(日) 13:57:03 ]
あ、it disable -> it disablesです。ごめんね。

331 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:57:15 ]
>>326
それだ!


332 名前:仕様書無しさん mailto:sage [2007/07/15(日) 13:57:17 ]
>>327
最初から出来ないのは unable じゃ?



333 名前:仕様書無しさん [2007/07/15(日) 14:27:26 ]
>>332
ああ、そうだね。

だけど、身体障害者には生まれつきもあるわけで、
本来出来るというのは、健康な人間なら本来出来るが、その人は障害のために最初からできないわけで、

つまり、構造的に接続できるようになってる物を、切断した状態にしておくのが切断であり、
さっきまで接続していたかどうかとか、時間的経過に関係なく切断状態にあるのが切断だと思うよ。>>324



334 名前:仕様書無しさん mailto:sage [2007/07/15(日) 14:28:29 ]
正直どうでもいい

335 名前:仕様書無しさん [2007/07/15(日) 14:30:47 ]
>>334
名前と実際が食い違うのをいちいち関数仕様を読んで覚えたりソースコード追っかけたりするのは面倒だろ?


336 名前:仕様書無しさん mailto:sage [2007/07/15(日) 14:37:10 ]
>>333
日本語と英語じゃ言語構造も単語の細かい意味も変わってくるので、
生半可に論じられないし、そもそもスレ違いだからEnglish板にでもいってらっしゃい。
そして、ここでdisconnectといっているのは、切断のことではなく、
「〜を切断する」ということです。他動詞ですね。

337 名前:仕様書無しさん mailto:sage [2007/07/15(日) 14:38:59 ]
>>333

disconnect(切断する)じゃなく disconected (切断状態にある)ならいいんだろうな。
元のはdiscnctだからそこまで考えてないだろうけど。


338 名前:仕様書無しさん mailto:sage [2007/07/15(日) 14:40:10 ]
distnctにするとぜんぜん違う意味になりますな。

339 名前:仕様書無しさん mailto:337 [2007/07/15(日) 14:40:59 ]
×disconected
○disconnected
細かい綴りの話してるときにtypoしちまったぜ orz





340 名前:仕様書無しさん mailto:sage [2007/07/15(日) 14:45:06 ]
kiretemasu?

341 名前:仕様書無しさん mailto:sage [2007/07/15(日) 14:47:23 ]
kiretenaissuyo

342 名前:仕様書無しさん mailto:sage [2007/07/15(日) 14:54:01 ]
>>310
確認するけど、コメントと関数名とやってることの三つがバラバラというのが問題なんだよね?

やってることは、与えられたURLに接続してみて、
接続できたら(例外が発生しなければ)trueを返し、例外が発生したらfalseを返す。


343 名前:仕様書無しさん mailto:sage [2007/07/15(日) 17:56:01 ]
そもそもこんないらん議論を呼ぶ
変数名つけるのが問題

344 名前:仕様書無しさん mailto:sage [2007/07/15(日) 18:15:24 ]
もう全部

func001();
func002();

でいいよ

345 名前:仕様書無しさん mailto:sage [2007/07/15(日) 18:23:57 ]
>>344
いちばんスレにふさわしいやつだな。


346 名前:仕様書無しさん [2007/07/15(日) 18:31:26 ]


 ・・・

if (ret == false) {
 // 上記の処理が以上の場合、ファルスを返す。
 return ret;
}



347 名前:仕様書無しさん [2007/07/15(日) 18:33:59 ]
if (ret==false) {
return true;
}

348 名前:仕様書無しさん [2007/07/15(日) 18:57:03 ]
>>346,347
変数名の付け方に問題があるかもしれんが一概に悪いとは思わんよ。
以下のような場合もあるから

bool ret = 何かの初期化メソッド();
if(ret == false)
{
// 初期化失敗
return false;
}

// ほかの処理
..
return true;



349 名前:仕様書無しさん [2007/07/15(日) 19:02:26 ]

// (略)  falseを返す。

 のつもりを

// (略)  バルスを返す。

と書いていた奴。。。(読みはファルスじゃねぇし)





350 名前:仕様書無しさん mailto:sage [2007/07/15(日) 19:19:36 ]
>>349 いや、あれだよと突っ込んでほしいのか?

351 名前:仕様書無しさん mailto:sage [2007/07/15(日) 20:54:06 ]
>>349
自爆装置を仕込んでいるのか

352 名前:仕様書無しさん mailto:sage [2007/07/15(日) 20:55:06 ]
>>349
コードを追記したら

    func();   // 目がぁ〜目がぁ〜

はお約束だな

353 名前:310 mailto:sage [2007/07/15(日) 21:44:15 ]
変な議論呼んだようですまん
貼った俺自身もこのメソッドが何をしたいのかよく分からなかったんだが、
呼び出し先メソッドが↓のレスなんで、
どうやら接続した後の切断処理をやってるつもりなのかなぁ、と考えてる

354 名前:310 mailto:sage [2007/07/15(日) 21:46:05 ]
// 接続先のファイルサイズを取得
public long getFileSize(String cnurl) {
   boolean isCnct = cnct(cnurl) ; // ※接続テストをしているらしい
   if (!isCnct) { return -1; }    //  接続可能ならtrue
   URL url;
   try {
      url = new URL(cnurl);
      HttpURLConnection urlconn;
      urlconn = (HttpURLConnection)url.openConnection();
      long fullsize = 0;
      Map headers = urlconn.getHeaderFields();
      String key = "Content-Length" ;
      String e = (headers.get(key)).toString();
      e = e.substring(1,e.length()-1) ;
      fullsize = Long.parseLong(e) ;
      boolean isDisCnct = discnct(cnurl) ; // ※ここで310呼び出し
      if (!isDisCnct) {
         return -1 ;
      }
      if(fullsize < 0)
         return -1 ;
      else
         return fullsize ;

   } catch (IOException e1) {

   }
   return 0;
}

355 名前:仕様書無しさん mailto:sage [2007/07/15(日) 22:08:18 ]
なんというコード・・・

356 名前:仕様書無しさん mailto:sage [2007/07/15(日) 22:18:14 ]
何したいわけ?


357 名前:仕様書無しさん mailto:sage [2007/07/15(日) 22:27:07 ]
cnct(対象URLに接続)

getFileSize(ファイルサイズ取得)

discnct(切断処理)

・・・がやりたかったのかな?

358 名前:仕様書無しさん mailto:sage [2007/07/15(日) 23:41:45 ]
たった二十行程度のコードに
山のように突っ込みどころが・・・

359 名前:仕様書無しさん mailto:sage [2007/07/15(日) 23:55:07 ]
>>310のコメント
// このURLへは今後接続しないことを示す
が、
/** @return true 切断成功 false 失敗。このURLへは今後接続しない */
ならまぁよかった、ということなのかな。





360 名前:仕様書無しさん mailto:sage [2007/07/16(月) 00:49:09 ]
つか成功したかどうかHashかなんかで管理して
余計なオブジェクト毎回接続するたびに作らないようにしね?
結果の保持が必要な場合は別途なにかクラス作って
突っ込んだ方がよくね?


361 名前:仕様書無しさん mailto:sage [2007/07/16(月) 01:01:17 ]
あまりにひどいコードに絶望した…!

でもそういうコードを以前見かけたことが
あるのに気づいて更に絶望した!!

362 名前:仕様書無しさん mailto:sage [2007/07/16(月) 02:02:50 ]
コメントにアスキーアートがはってあったぞ
「カイジ」のやつ

363 名前:仕様書無しさん mailto:sage [2007/07/16(月) 02:11:13 ]
         __,,,.... -――‐- .._         そりゃあ…かまわない
       /vV///∠∠彡:ニニヽ  おまえらの疑問に答えること それ自体は容易い 簡単だ
      {/`ー-‐'''"´   二二ニニl   例外時の処理はこれこれこう こういうメソッド行き
     /ー--‐''''"´    二二ニニ|       返り値は…?パラメータは?
    ,/ー---‐'''"´__   ニニ二二|     そんなコメントは いくらでもできる
    〈べヽ l. ヾニ-‐'''ヾ> =r-、ニニ|
    },-o->  ヽPニニ  ミ ス.|ニ二|  しかし 今 オレが そんなコメントを 仮に付けたとしても
.     |二/,'   ー― '  `に!|二ニト、        その真偽はどうする…?
    |/,' __ ヽ\    r<二ニ| \
      | 「r---一ァ'!   | \ニ|   |`'ー-、__ 真偽など どうでもいいから
       | !` 三 ̄  l    |    \!  |      読みたいと言うのか…?
        \       _.. -''"    /|    |
    _,.. ‐'''"`ー <´       / |  |       ククク……

364 名前:仕様書無しさん mailto:sage [2007/07/16(月) 02:23:55 ]
>>363
一見まともなコメントにこんなの付いてたら嫌になるな。

365 名前:仕様書無しさん mailto:sage [2007/07/16(月) 05:00:11 ]
何を信じればいいのかw

366 名前:仕様書無しさん mailto:sage [2007/07/16(月) 05:06:11 ]
>>363
プログラマやめろよ、つかやめてくれw

367 名前:仕様書無しさん [2007/07/16(月) 12:26:01 ]
>>354
酷いな・・・8行で済むのにそんなにダラダラと・・・

368 名前:仕様書無しさん [2007/07/16(月) 13:11:02 ]
>>363
お前とは仕事したくねぇよ・・

369 名前:仕様書無しさん mailto:sage [2007/07/16(月) 19:13:26 ]
納期は命より重いっ・・・!



370 名前:仕様書無しさん mailto:sage [2007/07/16(月) 20:32:25 ]
     ざわ・・・
            ざわ・・・

  ざわ・・・





俺のバグですたorz

371 名前:仕様書無しさん mailto:sage [2007/07/17(火) 11:34:53 ]
>>344
ローカル関数に関してはそのルールで書く人を知っている。
本人曰く、『どーせ俺しか読まねぇし』。


372 名前:仕様書無しさん mailto:sage [2007/07/17(火) 12:00:04 ]
3年後の「俺」には読めない罠。

373 名前:仕様書無しさん mailto:sage [2007/07/17(火) 12:44:05 ]
あるあるwww

374 名前:仕様書無しさん mailto:sage [2007/07/17(火) 12:51:10 ]
>>372
一年後に読める自信がないです。

覚えているうちに仕様変更とかあればいいんだが…


375 名前:仕様書無しさん mailto:sage [2007/07/17(火) 12:54:19 ]
違う仕事一個でも挟むと無理そうだ

376 名前:仕様書無しさん [2007/07/17(火) 13:05:25 ]
>>372
三週間でも微妙

377 名前:仕様書無しさん mailto:sage [2007/07/17(火) 13:50:59 ]
>>376
って言うか、たったの3連休で頭真っ白なんですが・・・

先週までの俺が何をどうしたかったか、やっと何となく解ってきたw
今週の俺によると、先週までの俺は未熟者だったらしいww

378 名前:仕様書無しさん mailto:sage [2007/07/17(火) 16:11:58 ]
前日の日記をつけろ。毎日3行程でいいぞ。

379 名前:仕様書無しさん mailto:sage [2007/07/17(火) 19:13:28 ]
似たようなのもう出てそうだが、

Hoge1()
{
  __asm {
    :
    :
  }
}

Hoge2()
{
  __asm {
    :
    :
  }
}

7000行ほどでコメント一切無し



380 名前:仕様書無しさん mailto:sage [2007/07/17(火) 19:32:47 ]
Cool!w

381 名前:仕様書無しさん [2007/07/17(火) 19:45:12 ]
>>379
昔は、マシンコードを定数の配列にして、関数ポインタで指してたり...

382 名前:仕様書無しさん mailto:sage [2007/07/17(火) 19:55:24 ]
定数ならまだいいが、技術的な制限から、コードを実行中に書き換えながら走らせることもあったな。
当分使われないコードセグメントはメモリから削除して、空いた空間に別のコードセグメントをロードしたりとかもしたし。

今となってはOSが担当する処理だが、その当時はそんなトリッキーなことを強いられたもんだ。

383 名前:仕様書無しさん mailto:sage [2007/07/17(火) 19:59:06 ]
>>381
今でもやっていたりする....

384 名前:仕様書無しさん mailto:sage [2007/07/17(火) 20:04:59 ]
辞めさせられないようにする為の保険か?

385 名前:仕様書無しさん mailto:sage [2007/07/17(火) 21:29:30 ]
メモリに入りきらない。


386 名前:仕様書無しさん mailto:sage [2007/07/17(火) 22:01:34 ]
>>379
何か問題でも?

387 名前:仕様書無しさん mailto:sage [2007/07/18(水) 02:59:01 ]
せめてコメントぐらいはつけて欲しいな

388 名前:仕様書無しさん mailto:sage [2007/07/18(水) 03:38:17 ]
ソースコードが残ってなくてROMがあるんだけど、バグ対処してねとかいうのもあったな。

電算室(古っ!)に配属になって初めて書いたプログラムが自己変更コードだった。指導者乙。
そういうのがお行儀悪いことだと知るのはその10年後。

389 名前:仕様書無しさん mailto:sage [2007/07/18(水) 11:48:54 ]
10年は長いですね。



390 名前:仕様書無しさん mailto:sage [2007/07/18(水) 11:58:05 ]
その部署の文化になってればそれが当たり前になっちゃうからなあ。

391 名前:仕様書無しさん mailto:sage [2007/07/18(水) 12:07:48 ]
>>388
Intel 8x86 の時は、自己書き換えしても問題なかったから、メモリの制約とあいまって、
むしろあたりまえのプログラミング技法だったと思う。
80x86nになってキャッシュの概念が出てきて、メモリ上で自己書き換えしてもそのコードが
保持されないので問題が顕在化して、行儀が悪いということになった。

392 名前:仕様書無しさん mailto:sage [2007/07/18(水) 12:17:59 ]
行儀の問題はキャッシュとは関係ないっしょ

393 名前:391 mailto:sage [2007/07/18(水) 12:42:13 ]
いや、この場合は関係あると思ってるんだが。
「キャッシュのために今までのノウハウが使えなくなった」が「行儀が悪い」にすりかえられた。
まあ今じゃ通用しないノウハウだし、「行儀が悪い」という言葉にはよっぽどのひねくれ者じゃなければ
逆らおうと思わないから、いいけどね。

394 名前:仕様書無しさん mailto:sage [2007/07/18(水) 12:48:29 ]
すげーどうでもいいことだが。
x86の自己書き換えはパイプラインで問題になった。
キャッシュは最初から対策してる。


395 名前:仕様書無しさん mailto:sage [2007/07/18(水) 13:10:44 ]
自己書き替えはそれこそZ80の時代から「行儀が悪い」とされてましたが何か

396 名前:仕様書無しさん mailto:sage [2007/07/18(水) 15:13:54 ]
86 系で自己書き換えのときのキャッシュのフラッシュ(の欠落)が問題になったのは
ハーバードアーキテクチャを初採用した Pentium から。
Mac では 68040 を積んだ Quadra から。

メモリ上の自己書き換えやコード生成は今でも結構使われていて別に問題のある技法でもない。
他により妥当な方法があるのに使いたがるのは問題ある行為かもしれないけど。

397 名前:仕様書無しさん mailto:sage [2007/07/18(水) 18:36:28 ]
今はメモリ使い回すメリットがほとんどないだろ
メモリが小さかった時代には一つのひゅほうだったかもしれないが

398 名前:仕様書無しさん mailto:sage [2007/07/18(水) 19:09:25 ]
ひゅほうでんせつ

399 名前:仕様書無しさん mailto:sage [2007/07/18(水) 21:19:00 ]
最近は
データ領域:書き換え○ 実行×
コード領域:書き換え× 実行○
みたいなことやるしな。




400 名前:仕様書無しさん mailto:sage [2007/07/19(木) 00:50:51 ]
LISPだと自己書き換えってどういう感じに捉えられているんだろう?

401 名前:仕様書無しさん mailto:sage [2007/07/19(木) 01:00:31 ]
すべてがS式なんだから、コード書き換えもアリとは思う。
けど、アルゴリズムとしてトリッキーに過ぎる感はあるな。
で、そういう感覚もっていることは、PGとしては大事。

402 名前:仕様書無しさん mailto:sage [2007/07/19(木) 01:11:23 ]
longjumpで書き換えまくるのは普通だし
今でもそうゆうコード書いてる。

書くなって言われるけどなんでって思う


403 名前:仕様書無しさん mailto:sage [2007/07/19(木) 01:18:32 ]
テクニックとしては面白いんだけどな。バッファオーバーラン攻撃の基本だし。
だからといって、製品の中に自己書き換えを組み込むのは勘弁。動的に書き換わるコードは追跡が難しすぎる。
動的コード生成にしても、機械語直接生成よりもスクリプトを吐く方が簡単に済みそう。

404 名前:仕様書無しさん mailto:sage [2007/07/19(木) 01:26:53 ]
>>402
longjmpは自己書き換えしなくても作れるだろう。
ものすげー変なCPUまで把握してないが。


405 名前:仕様書無しさん [2007/07/19(木) 02:18:03 ]

コード書き換えはマルチタスクで動かせないだろ


406 名前:仕様書無しさん mailto:sage [2007/07/19(木) 06:58:17 ]
iTRON準拠のマルチタスク環境では動いていたというか動かしていたよ。

407 名前:仕様書無しさん mailto:sage [2007/07/19(木) 10:06:50 ]
>>405
>コード書き換え

>マルチタスク
に、まるで相関がない。

408 名前:仕様書無しさん mailto:sage [2007/07/19(木) 15:50:24 ]
自己書き換えはすたれてるけど、コード生成自体は ATL のサンクとか
JIT コンパイラ的技法とかで必要に応じて使われているよね。

409 名前:仕様書無しさん mailto:sage [2007/07/19(木) 18:43:12 ]
HaskellのコンパイラがDEP(データ実行防止)に引っかかった。
HaskellはHaskell自身で書かれているらしいから、どうもコード生成or自己書き換えしてるっぽい。

まだまだ現役だな。



410 名前:仕様書無しさん mailto:sage [2007/07/19(木) 19:24:16 ]
>>409
>>408
>JIT コンパイラ的技法

411 名前:仕様書無しさん mailto:sage [2007/07/19(木) 22:37:16 ]
ふとリコンフィギュラブルを思い出した。
ttp://www.atmarkit.co.jp/fsys/zunouhoudan/037zunou/intel_reconfig.html


412 名前:仕様書無しさん [2007/07/19(木) 23:57:15 ]

ふとりプリキュアに見えた

413 名前:仕様書無しさん mailto:sage [2007/07/20(金) 00:28:50 ]
>>412
病みすぎ

414 名前:仕様書無しさん mailto:sage [2007/07/20(金) 14:03:15 ]
うーん。「自己変更コード」とか「自己書き換えコード」とか呼ばれているけど。
誰も「自己改竄コード」とは呼ばないな。

415 名前:仕様書無しさん mailto:sage [2007/07/20(金) 14:08:29 ]
普通は悪用目的の書き換えを指すんじゃまいか?改竄て。

416 名前:仕様書無しさん mailto:sage [2007/07/20(金) 23:08:58 ]
進化するコード

417 名前:仕様書無しさん mailto:sage [2007/07/20(金) 23:32:27 ]
>>414-416
だんだんウィルスになってないか?

418 名前:仕様書無しさん mailto:sage [2007/07/21(土) 00:35:34 ]
暴走してウィルス化するなんていかにも漫画的なシチュエーションだ

419 名前:仕様書無しさん mailto:sage [2007/07/21(土) 01:11:30 ]
ソースが貼られず自称上級者の醜い言い争いばっかりじゃねーか
もっとトンデモソースで俺を癒してくれよ



420 名前:仕様書無しさん mailto:sage [2007/07/21(土) 03:18:33 ]
switch( cValue ) {
case 0:
hogehoge( );
break;
case 1:
・・・
case 255:
hugahuga( );
break;
default:
ASSERT( False );
break;
}


421 名前:仕様書無しさん mailto:sage [2007/07/21(土) 05:19:36 ]
これでcValueがucharなら笑えるな

422 名前:仕様書無しさん mailto:sage [2007/07/21(土) 08:40:07 ]
関数名が func0()〜func255() じゃないってことは、コボラーじゃないのか....

423 名前:仕様書無しさん [2007/07/21(土) 09:22:02 ]
while( flg == TRUE){
  switch( hoge){
  case 1:
    hage1();
    hoge = 2;
    break;
  case 2:
    hage2();
    hoge = 5;
    break;

   ・・・・・
  case 25:
    hage25();
    hoge = 10;
    break;
  }
}
こんな感じのswitch文が3つあってループの関数は1000行くらいある。
当然コメントも仕様書もマニュアルも何もない。あるのはソースだけ。
VC++1.52でコンパイルするのだが、改変して行数が増えるとコンパイラがコンパイルしてくれない。

case12 とかで hoge = 0 とかしてるのと、あっちこっちジャンプしながら
最終的にcase12にたどり着くので無限ループにはなっておらず、しょっちゅうトラブるが、大抵はなんとなく動いている。
だけど何で動いているのか分からない上に、改造しようにも手がつけられない。

424 名前:423 mailto:sage [2007/07/21(土) 09:24:38 ]
あ、case 12ではhoge=0じゃなくてflg=FALSEだった。

ま、5年ほど前に面倒見させられたソースです。
その部分はごっそり書き直したけどね。

425 名前:仕様書無しさん [2007/07/21(土) 09:25:14 ]
>>423
コードの意味がわからないってのはわかるが、
改変して行数が増えるとコンパイラが通らないって何?
VC++1.52だと最大行数の制限があるの?

426 名前:仕様書無しさん mailto:sage [2007/07/21(土) 09:27:51 ]
>>423
パーサーとかそんな感じで作るけど
#ifdef DEB_PRINTしこんで
コールグラフ作ればいいだろ。

んで文法作ればいい。おそらく処理しきれない
例外を見過ごして別の規則に遷移してるだけ
じゃねーの?

427 名前:仕様書無しさん [2007/07/21(土) 09:28:44 ]
16ビットの制限とかあるんじゃね?

428 名前:仕様書無しさん mailto:sage [2007/07/21(土) 09:33:31 ]
>423
hogeX()や各case値に意味あるんだろうから、そっから状態遷移図でも描いて見れば。

429 名前:仕様書無しさん mailto:sage [2007/07/21(土) 09:46:32 ]
>>428
hogeX()や各case値に意味あるケースは稀じゃね?w



430 名前:仕様書無しさん mailto:sage [2007/07/21(土) 09:49:31 ]
そうなのかw

431 名前:仕様書無しさん mailto:sage [2007/07/21(土) 09:55:27 ]
caseでのコードではこんなのあったな@Java
メンテしろと言われたけど、拒否したら左遷された
後任は自殺未遂したらしいけど・・・

うろ覚え
int i = 20;
label WHILE_LABEL;
while(true) {
    switch (i) {
       case -3:
          i = func3();
          break WHILE_LABEL;
       case -2:
          i = func3();
          break WHILE_LABEL;
       case -1:
          i = func3();
          break WHILE_LABEL;
       // 中略
       case 50:
          i = func50();
          break;
       default:
          i = func0();
    }
}
423のに似ているけど戻り値がリザルトコードになっていてマジでカオス

432 名前:仕様書無しさん mailto:sage [2007/07/21(土) 10:25:39 ]
オブジェクト指向はおろか構造化すら怪しいグラマが必死に考え出したコードっぽいな。
こんなコードが随所にあるなら431は拒否して正解だ。

433 名前:431 mailto:sage [2007/07/21(土) 10:31:32 ]
随所どころか、辛うじて理解できた一部だよ
結局、ほとんど理解できなかった

434 名前:仕様書無しさん mailto:sage [2007/07/21(土) 10:42:34 ]
例はちょっと書けないけど最強にカオスなコードならあるぞ

make
yaccでmake+コード自動生成
生成コードmake
yaccでmake+コード自動生成
・・・

これが15回も繰り返されるカオスなコードあったよ

435 名前:仕様書無しさん mailto:sage [2007/07/21(土) 11:58:45 ]
>>434
それは何のプログラムなの?

436 名前:423 mailto:sage [2007/07/21(土) 12:10:28 ]
>>425
1関数のサイズの上限が決まってたと思う

>>426,428
何年も前に終わった仕事について批判されてもなぁ・・・
大体1関数が1000行って時点で何かおかしいんだから直して当然だろ

437 名前:仕様書無しさん mailto:sage [2007/07/21(土) 13:08:52 ]
関数ってどんなに多く書いても数百行で済まないか?

絶対処理分割できるぞ

438 名前:仕様書無しさん [2007/07/21(土) 14:23:36 ]
>>436
関数の制限じゃなくてswitchの制限だと思うよ。

439 名前:仕様書無しさん mailto:sage [2007/07/21(土) 14:51:16 ]
>>437
普通に手続き言語をやってくれば、どんなに長くても数百行なんだが、
大昔のPLCしか触ったことない奴だとだらだら書く事しか知らなくて、1000行とかいく事がある。



440 名前:仕様書無しさん mailto:sage [2007/07/21(土) 16:49:09 ]
実行される行数が50を超えたらそれは長すぎ。

441 名前:仕様書無しさん [2007/07/21(土) 16:52:49 ]
>>440
実行される行数ってコンパイルした後の話か?

442 名前:仕様書無しさん mailto:sage [2007/07/21(土) 17:38:24 ]
実行後の行数なんて意識する必要ないだろ、50行超えたら読みにくいだけ

443 名前:仕様書無しさん mailto:sage [2007/07/21(土) 17:43:39 ]
別にコードなんて動けばどーでもいいんだよ
オマイラだってどうせ適当に書いて後は野となれ山となれだろう?
この会社辞めようと思ったソースコードなんてお高くとまってないで
正直になれよ
プログラムなんてちゃんと動けばそれでいいんだよ

444 名前:仕様書無しさん mailto:sage [2007/07/21(土) 17:44:18 ]
煽り乙

445 名前:仕様書無しさん mailto:sage [2007/07/21(土) 17:54:01 ]
>>443
中国産は長い・意味不明・動かないの3拍子揃ってるぜw

446 名前:仕様書無しさん [2007/07/21(土) 18:05:21 ]
>>445
コメントが中国語なら尚可。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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