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


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

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



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

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

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

20 名前:仕様書無しさん mailto:sage [2007/04/07(土) 12:25:22 ]
CVSやVSS使ってても、元のコードはコメントアウトして残すプロジェクトしかみたことねえよ。
みかかとでーたとあいびーむがそうだったんだが。
削除させてくれるプロジェクトってあるのか?

21 名前:仕様書無しさん mailto:sage [2007/04/07(土) 14:42:35 ]
リリースまでならソース上で履歴残さずともOKで、
リリース後の修正はソースに履歴を残す、というのならあった

22 名前:仕様書無しさん mailto:sage [2007/04/07(土) 16:20:05 ]
>>20
オレが目にできるようなプロジェクトは残してるのがないので、残さないのが当たり前だとばかり思ってたが。

23 名前:仕様書無しさん mailto:sage [2007/04/07(土) 16:25:38 ]
本来、履歴を残す必要なんてまったく無いのに、
誰か一人のボンクラが履歴を残してしまい、
その後は皆「右へならえ」で
ずるずる履歴を書き込んでしまうんだよ。

「グレシャムの法則」という奴だな。


24 名前:仕様書無しさん mailto:sage [2007/04/07(土) 23:19:42 ]
修正履歴を必ず残させるコーディングルールと
サブルーチン使えば1行で済む処理が延々とコピペされたコード

リファクタリングという言葉に何か恨みでもあるんだろうか。

25 名前:仕様書無しさん mailto:sage [2007/04/10(火) 20:20:00 ]
>>24
あぁ、コボルと富士通の話はきりがないのでどっか他所でやってくれな。

26 名前:仕様書無しさん [2007/04/19(木) 23:35:59 ]
4 8 15 16 23 42

27 名前:仕様書無しさん [2007/04/19(木) 23:38:06 ]
そーいう変な会社がうようようようよ

28 名前:仕様書無しさん [2007/04/19(木) 23:39:59 ]
元のソースは残すようにしてるけど、絶対残すルールは嫌だなあ
絶対消せルールよりはいいけど



29 名前:仕様書無しさん mailto:sage [2007/04/19(木) 23:43:16 ]
いや「ぜったい消せ」のほうがマシだよ。

30 名前:仕様書無しさん mailto:sage [2007/04/20(金) 00:52:17 ]
まったくだ

31 名前:仕様書無しさん mailto:sage [2007/04/20(金) 07:23:59 ]
if(条件) {
 b = true;
 a.set1(true);
 a.set2(true);
} else {
 b = false;
 a.set1(false);
 a.set2(false);
}

if文にする意味がわかんね...

32 名前:仕様書無しさん mailto:sage [2007/04/20(金) 13:04:25 ]
>>31
ソースコードにその処理の意味合いを持たせる為だと思う

33 名前:仕様書無しさん mailto:sage [2007/04/20(金) 13:53:20 ]
>>31
b = 条件;
a.set1(b);
a.set2(b);
のように記述しないのは何故? っていってるんだよな?

そして>>32の言ってることが分からん。

34 名前:仕様書無しさん mailto:sage [2007/04/20(金) 14:11:21 ]
>>33
あれかな、
elseをelse ifにして拡張可能とか。

35 名前:仕様書無しさん mailto:sage [2007/04/20(金) 14:35:35 ]
>>31
そりゃ、「条件」が「式」だと知らずに
  if (ここには条件しか書けない)
    b = ここには真偽値のリテラルしか書けない
と思い込んでる典型的な阿呆が書いたからだろう。

そして俺も >>32 の言ってることがわからん。

36 名前:仕様書無しさん mailto:sage [2007/04/20(金) 15:31:47 ]
知らないだけで阿呆にされちゃカナワンなー

37 名前:仕様書無しさん mailto:sage [2007/04/20(金) 23:07:56 ]
Option Explicitなし


if 謎の宣言なし変数>0 and hoge_index=1 Then




こんなんばっか


38 名前:仕様書無しさん mailto:sage [2007/04/20(金) 23:47:42 ]
option explicit って入門書にも必ず出てるのにね



39 名前:仕様書無しさん mailto:sage [2007/04/21(土) 03:49:33 ]
>>36
>>35のいう通りだったとして、
”冗長な(冗長すぎる)記述を、なんとかしようという気構えの無い奴”
である可能性が95%以上とみる。
そういうやつは、すごく無知なのに知っている知識だけでソース記述しようとするんだよね。。

つまり阿呆で十分だと思うんだ。

40 名前:32 mailto:sage [2007/04/21(土) 05:52:50 ]
例えば、こう書いた場合
if (IsFileExist(path) == ture) {
  このブロックはファイルが存在した時の処理
} else {
  このブロックはファイルが存在しない時の処理
}
と、ソースコードからブロックの前提条件を明示でき、
IsFileExist()の結果により処理が変わる事を強調できます。
また、同じ関数の呼び出しパスででありながらブロックを
分けている事から、「同じ関数を呼んでいるが、行う処理は
IsFileExist()によって違うものになるよ。将来、処理の内容が
変わるかもよ。」と示唆することが出来ます。
これは社内で取り決めなどが無くても、ある程度経験のある人なら
読み取れる事だと私は考えております。


また、以下のように書かない理由は、
b = IsFileExist(path);
a.set1(b);
a.set2(b);
bはファイルの有無を意味しているが、
set1(),set2()の引数は"ファイルの有無を指定する"という
仕様ではない場合に、bの示すものと引数の意味合いが
異なってしまう為です。

これが悪い書き方とは言いませんが、値が同じだからといって、
意味合いの違うものを無闇に使いまわすのは、
そのコードの意図を汲み取り難くすると考えます。

41 名前:仕様書無しさん mailto:sage [2007/04/21(土) 08:31:50 ]
>>37
VBって、Option Explicitがあっても、

dim s as string
・・・
if s = 0 then ・・・

みたいなコードがコンパイルできるんだよな。
今、VB4からVB6にコンバートする仕事をやってて、エラーが起きたらその場で止まるオプションに変更して、
動作確認してるけど、けっこう頻繁にとまってる。
大昔に作られて、けっこう保守が入ってるのに、なんでこんなバグが残ってるんだよって感じ。

42 名前:仕様書無しさん [2007/04/21(土) 10:09:30 ]
>>40
わりと同意かな・・・

つか、俺自身はブール型の引数というものが嫌いで不要だと思ってる。

43 名前:仕様書無しさん mailto:sage [2007/04/21(土) 10:17:07 ]
視点の高さがまるで違うんだな。
短いコードを書けばいいと思ってるような奴はCOBOLでもやってろって話

44 名前:仕様書無しさん mailto:sage [2007/04/21(土) 10:18:26 ]
>>40
変数名がbというのは反対だが(ファイルの使用目的とそれの存在を示す意味のある名前にするべき)、俺は変数に入れてあるほうが読みやすいと感じるな。
無駄なブロックやネストはできるかぎり無いほうが読みやすいと思う。

45 名前:仕様書無しさん [2007/04/21(土) 10:19:21 ]
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。

46 名前:仕様書無しさん mailto:sage [2007/04/21(土) 15:37:30 ]
>>40
そりゃあ>40みたいな前提条件を勝手に組み込めばそういう解釈も可能だが
シンプルな>31だけを見せられたら>33のような反応してしまうのが普通だろ。

ここで>40とは正反対の前提条件があったとして、>31のような書き方をされたら
ありもしないニュアンスを醸しだしてかえって迷惑。

47 名前:仕様書無しさん mailto:sage [2007/04/21(土) 17:54:27 ]
>>41
VBって暗黙の型変換が意味も無く強力過ぎ
たしかVB5のときに型変換のルールが微妙に変わった様な飢餓するが
今となってはどうでもいい事だ

48 名前:仕様書無しさん mailto:sage [2007/04/21(土) 19:08:06 ]
char* buf = new char[sizeof(Hoge)];
Hoge* hoge = (Hoge) buf;
.
.
.
delete[] buf;




わかってねぇ〜〜〜〜〜。



49 名前:仕様書無しさん mailto:sage [2007/04/21(土) 19:27:18 ]
なんかまずいの?
馬鹿にしたかったら馬鹿にしていいけど、その後でちゃんと何が分かってないのか説明してね。

50 名前:仕様書無しさん mailto:sage [2007/04/21(土) 19:32:28 ]
キャストがおかしいってことか。
仮に typedef void *Hoge; だとしたらこれでOKって、いや違うC++だとアウトだ。

あれ?

51 名前:31 mailto:sage [2007/04/21(土) 19:37:43 ]
>>40
>>31は、実際に見たものをココに書くために行った
抽象化の過程が悪かったと思います。
>>32及び>>40も、ごもっともだと思いますよ。

実際自分が見たコードは>>31で書いた風なものより"もっと"酷く、
貴方がされたような弁明の余地なんて無いだろう
ってな感じのものでした。

実際の処理をfileの有無に替えて書くと、

if( [条件] ) { 
 existFile = true; 
 a.setExsitFile(true); 
 b.setExistFile(true); 
} else { 
 existFile = false; 
 a.setExistFile(false); 
 b.setExistFile(false); 


こんな感じでした。

意味的にも書き分けるような部分ではないんです。
つまり、正に>>35の言う通りな感じかなーと思ってます。

52 名前:仕様書無しさん mailto:sage [2007/04/21(土) 20:34:41 ]
パケットのデータを取り出すのによく>>48みたいなキャストするけどいかんのかね?
ま、確保したばかりの変数をキャストするのは珍しいと思うけどさ

53 名前:仕様書無しさん mailto:sage [2007/04/21(土) 21:27:33 ]
>>52

普通は

Hoge* hoge = new Hoge;

だわな。
よくCから中途半端にC++へ移行した人がやってるのを見かける。
どうせnew=malloc程度に理解してんだろうね。

54 名前:仕様書無しさん mailto:sage [2007/04/21(土) 23:49:33 ]
>>49
説明するまでもないだろ。

55 名前:仕様書無しさん mailto:sage [2007/04/22(日) 01:05:47 ]
キャストは基本DQNでございます。
memcpyとか大好きなDQNがごろごろ。

大人しくCでもいじってろ。


56 名前:仕様書無しさん mailto:sage [2007/04/22(日) 01:30:29 ]
先日見たJavaコード

long hoge = 1;
 :
Long page = Long.valueOf(String.toString(hoge));

文字列にする意味ねぇ・・・

57 名前:仕様書無しさん mailto:sage [2007/04/22(日) 14:58:11 ]
>>56
"valueOfがイイ、使え"
とか言われた人間がそこで思考停止するとそうなるな...

58 名前:仕様書無しさん mailto:sage [2007/04/22(日) 16:21:19 ]
>>56-57
もっと深刻な「コボラ上がり」だったんじゃないかな。
やつらは、数値="0"〜"9"の並び(=ゾーン形式)っていう観念から
離れらんないから。




59 名前:仕様書無しさん mailto:sage [2007/04/22(日) 23:10:42 ]
>>48も基本がなってない。
(Hoge)じゃなく(Hoge *)だろ。

60 名前:仕様書無しさん mailto:sage [2007/04/23(月) 13:19:44 ]
主旨は違うんだけど、ここの
tp://d.hatena.ne.jp/nowokay/20070323

// null => 0, not null => 1
int p = Boolean.toString(data == null).length() - 4;

ってのが好き。やられた。

61 名前:仕様書無しさん mailto:sage [2007/04/23(月) 15:03:51 ]
ソースコードじゃないんだけど。
DBのDDLをバージョン管理システムに入れてまして。

外注さんが直接DBをいじっちゃったので、
リポジトリのDDLに変更を反映してくれって頼んだら。

hoge.sql(手付かず)
hoge_日付.sql(新規)

ってファイルがリポジトリにあって
面白かったです。

62 名前:仕様書無しさん mailto:sage [2007/04/23(月) 21:40:52 ]
最初、DLLと読んでしまったので、理解するのに時間がかかってしまった。

バージョン管理システムを、読み書きに手順が必要なファイルサーバだと
思ってる人、確かにいますね。



63 名前:仕様書無しさん mailto:sage [2007/04/23(月) 21:58:34 ]
>バージョン管理システムを、読み書きに手順が必要なファイルサーバだと
>思ってる人、確かにいますね。

今のPRJリーダのことかーーーー

CVSなのになぜか
hoge
hoge_2
hoge_3
とディレクトリを切っている。
旧ソースを全てコメントとして残したり、
日付と変更者をコメントに書いて変更箇所をサンドイッチしたり。

ストレージとしてしか使っていないよ・・・orz

64 名前:仕様書無しさん mailto:sage [2007/04/29(日) 14:33:46 ]
変更者が変質者に見えた・・・俺相当疲れてるな・・・

65 名前:仕様書無しさん [2007/04/30(月) 01:15:17 ]
IF IsNumeric(Cint(value)) Then

End If

orz ...

66 名前:仕様書無しさん mailto:sage [2007/05/01(火) 18:01:28 ]
元気出せ。

67 名前:仕様書無しさん mailto:sage [2007/05/05(土) 15:38:53 ]
VBの類は、暗黙の型変換を禁止するオプションがほしいよぬ

68 名前:仕様書無しさん mailto:sage [2007/05/05(土) 16:36:40 ]
>>67
vb.net にはあるぞ



69 名前:仕様書無しさん [2007/05/06(日) 14:05:22 ]
俺の会社ポインタ型は全部void *って全社共通で決まってるから
VBのキャストぐらいでは混乱しないよ。

70 名前:仕様書無しさん mailto:sage [2007/05/06(日) 14:14:37 ]
常に参照先の型について意識させることで社員の意識を高めようということか!


ごめん無理

71 名前:仕様書無しさん mailto:sage [2007/05/06(日) 15:12:53 ]
関数ポインタも?

72 名前:仕様書無しさん [2007/05/06(日) 15:33:12 ]
全部void *

型の意味がよくわからない使いかたしまくってるよ

void hoge(int *val);
こんな関数とか平気作るし

73 名前:仕様書無しさん [2007/05/06(日) 15:49:17 ]
C++では関数ポインタはvoid *だとまずいんだよな
オーバーロードが解決できなくなるから

こういうことやるならまだしも(できるんか?)
int func(int) { ... }
double func(double) { ... }

void *p = reinterpret_cast<int (*)(int)> (func);

74 名前:仕様書無しさん [2007/05/06(日) 15:51:08 ]
呼び出し側書くの忘れてた
reinterpret_cast<int (*)(int)> (p)(10);

75 名前:仕様書無しさん mailto:sage [2007/05/06(日) 15:52:53 ]
C++には、メンバ関数ポインタ、という鬼子もいるからね

76 名前:仕様書無しさん [2007/05/07(月) 11:14:57 ]
reinterpret_cast

なんでこれ導入したんだろうね。。。

77 名前:仕様書無しさん [2007/05/07(月) 11:58:25 ]
いや、わりと低水準なことをするときには必要だろ。

static_castだと型変換がかかって値(メモリ上のビット列)が変化することがある。
reinterpret_castは型だけを変化させてビット列そのものは変化しない。

78 名前:仕様書無しさん [2007/05/07(月) 12:13:08 ]
そんな場面あるか?



79 名前:仕様書無しさん mailto:sage [2007/05/07(月) 21:37:54 ]
組み込みとか


80 名前:仕様書無しさん [2007/05/08(火) 10:05:32 ]
kwsk

81 名前:仕様書無しさん [2007/05/08(火) 14:28:58 ]
ソースじゃないんだけど

あるSEがUML書きましたと言って提出してきた設計書が、
単なるフローチャートだったとき

しかもパーツの意味を間違えまくっているとき

82 名前:仕様書無しさん mailto:sage [2007/05/08(火) 18:15:31 ]
いいじゃんか。

全部アクティビティ図だと脳内で変換するんだ。
変換して現実から目をそむけると。

はっぴ?

83 名前:仕様書無しさん [2007/05/08(火) 18:54:42 ]
フローチャートって実戦で使わないだろw

84 名前:仕様書無しさん [2007/05/08(火) 19:09:35 ]
>>81
フローチャート通りに実装していいんじゃね?

85 名前:仕様書無しさん [2007/05/08(火) 22:07:33 ]
様式に神経質なぐらいこだわる奴はたいていろくでもない
要はしっかり設計できてりゃいいってのがわかってないんだよな・・・

86 名前:仕様書無しさん [2007/05/08(火) 22:24:16 ]
UMLキチガイのことか

87 名前:仕様書無しさん mailto:sage [2007/05/08(火) 23:39:21 ]
そうおもってさ。おぷそのつーるでグラフ化してみたわけよ、糞ソフト。


花火が見られた。

とりあえず生成結果を消した。

88 名前:仕様書無しさん mailto:sage [2007/05/09(水) 09:23:11 ]
Happy99とは懐かしいな。



89 名前:仕様書無しさん [2007/05/09(水) 10:07:23 ]
しあわせ99?

90 名前:仕様書無しさん mailto:sage [2007/05/09(水) 10:14:18 ]
ウイルスだったよな?確か

91 名前:仕様書無しさん mailto:sage [2007/05/09(水) 19:20:16 ]
昔流行ったよな。確か花火が上がるやつだと記憶している。

92 名前:仕様書無しさん [2007/05/09(水) 21:54:00 ]
>>80
たとえばnewとかで取得した領域のアライメント調整で使う

#define AREASIZE 80
#define ALIGNSIZE 4
char* p; void* q;
p = new char[AREASIZE+ALIGNSIZE-1];
q = reinterpret_cast<void*>((reinterpret_cast<int>(p)+ALIGNSIZE-1)&~(ALIGNSIZE-1))

// ...

delete p;

93 名前:仕様書無しさん mailto:sage [2007/05/09(水) 22:19:23 ]
 Dim flgUmu As String = "nasi"
 For Each ws In objBook.Worksheets
  If ws.Name = strName Then
   flgUmu = "ari"
  End If
 Next



もうどこからツッコめばいいのかorz


94 名前:仕様書無しさん mailto:sage [2007/05/09(水) 22:58:11 ]
時々居るなぁ、Boolean使わない奴。

95 名前:仕様書無しさん mailto:sage [2007/05/09(水) 23:15:01 ]
ポインタをintにキャストする香具師は、
LP64,LLP64環境で死亡で御座います

96 名前:仕様書無しさん mailto:sage [2007/05/09(水) 23:26:18 ]
uintptr_tかchar*でないとマズいね。
ところで~(ALIGNSIZE-1)ってそのままで大丈夫?

97 名前:仕様書無しさん mailto:sage [2007/05/09(水) 23:36:30 ]
ごめん、大丈夫そう。

98 名前:仕様書無しさん mailto:sage [2007/05/09(水) 23:57:03 ]
>>96
ALIGNSIZEが2の冪乗値という条件付きだけどな

文末のセミコロンが抜けてるのは痛い>92



99 名前:仕様書無しさん [2007/05/10(木) 01:43:21 ]
#define private public
#define protected public

本当にこれが書かれたコードがあった。
しかも俺のすぐ上の上司が書いたっぽい。

陰謀めいたものを感じて冷や汗が出たよ


100 名前:仕様書無しさん [2007/05/10(木) 09:36:17 ]
private宣言してもリアルタイムデバッグではアクセス可能だろ?
意味なくね?

101 名前:仕様書無しさん mailto:sage [2007/05/10(木) 11:00:05 ]
>>100
はあ?

102 名前:仕様書無しさん [2007/05/10(木) 11:49:46 ]
全然privateじゃないってこと

103 名前:仕様書無しさん mailto:sage [2007/05/10(木) 12:24:19 ]
カプセル化の意味も判らないんなら口挟まない方がいいんじゃね?

104 名前:仕様書無しさん mailto:sage [2007/05/10(木) 12:31:25 ]
そこで防御策として

#ifdef private
#undef private
#endif
#ifdef protected
#undef protected
#endif

と自分のヘッダの先頭に書く必要が出てくる。
もはや冷戦だな。

105 名前:仕様書無しさん [2007/05/10(木) 17:55:41 ]
>>104
勘弁してください……

106 名前:仕様書無しさん [2007/05/10(木) 18:57:15 ]
>>104
その後にインクルードされるヘッダファイルの中で

#ifndef private
#define private public
#endif
#ifndef protected
#define protected public
#endif

と書かれてないか調べたか?



107 名前:仕様書無しさん mailto:sage [2007/05/10(木) 19:19:40 ]
嫌な職場だなぁ

108 名前:仕様書無しさん mailto:sage [2007/05/10(木) 22:26:52 ]
まさに冷戦。 誰が核のボタンを押すのか、押せるのか。 いやまて核は何なのか。



109 名前:仕様書無しさん mailto:sage [2007/05/10(木) 23:18:03 ]
#define FIRE FILE なんての見て鬱になってたところだが、
ここ見てたらなんだか元気が出てきた。ウチはまだ大丈夫だ!

110 名前:仕様書無しさん mailto:sage [2007/05/10(木) 23:48:01 ]
>>106
オワットルwww

111 名前:仕様書無しさん mailto:sage [2007/05/11(金) 00:48:52 ]
>>109
知らぬ間に

#define FILE FIRE

になっているかもしれんぞ。

112 名前:仕様書無しさん mailto:sage [2007/05/11(金) 01:38:14 ]
大丈夫。
展開コードを参照すればw

113 名前:仕様書無しさん [2007/05/11(金) 10:34:47 ]
1つのプロジェクト内にファイルが1800個あったから、一体何かと思ったら
履歴を全部別ファイルにして残していて、わざわざコンパイルしない設定対象に1780個ぐらい加えているという・・・


バージョン管理ソフト使っていてこれかよ。出向先なので辞めるわけにはいかない、
明日から通勤時間に3年程かけようかとか本気で思った


114 名前:仕様書無しさん mailto:sage [2007/05/12(土) 01:22:44 ]
>>111
sonyのバッテリーが発火した原因はそれか。

115 名前:仕様書無しさん mailto:sage [2007/05/13(日) 07:16:31 ]
やめよう思うほどじゃないが
よく見るキモチワルイコード

if (a == 1) {
} else {
 なんかのしょり
 なんかのしょり
}

116 名前:仕様書無しさん mailto:sage [2007/05/13(日) 08:38:20 ]
>>115
俺、よくこういうコード書きかけてしまう…
具体的にはこんなんですが。

if (a == 1) {
 /* 〜ということやりたいけど後で考える */
} else {
 なんかのしょり
 なんかのしょり
}

(a == 1) の時の処理考えなくてよければ、こんなんかな。

if (a != 1) {
 なんかのしょり
 なんかのしょり
}

117 名前:仕様書無しさん mailto:sage [2007/05/13(日) 14:21:06 ]
>>116
コーディング中には俺もよくやる。
問題は納品後のソースにそれが残ってることだと思います。

//TODO:この機能いらなくね??
とか
//TODO:うんこしたい
とか
//TODO:仕様はやくきめろやぼけ!!殺すぞ!!
とか
他人にはとても見せられないようなコメント
入れといて実装漏れ、修正漏れは絶対起こさないようにすべき
このコメントを納品した後のソースで、見たらその人は
この会社やめようって思うんだろうなー

でも、顧客の悪口は洒落にならないから書かないぜ!

118 名前:仕様書無しさん mailto:sage [2007/05/13(日) 14:26:10 ]
んなコメント入れんなよ



119 名前:仕様書無しさん mailto:sage [2007/05/13(日) 17:13:43 ]
普通、if(a)って書かね?

120 名前:仕様書無しさん mailto:sage [2007/05/13(日) 17:20:56 ]
>119

出た〜〜〜っ!






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

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

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