逝けてるコーディングルール

このエントリーをはてなブックマークに追加
1仕様書無しさん
考えようぜ。
2仕様書無しさん:2006/09/16(土) 00:49:51
C++でstatic使ったら死刑。
3仕様書無しさん:2006/09/16(土) 00:51:56
変数名はソースを見やすくするため8文字固定とする。
最初の2文字が型を示し、次の二文字で機能略称を示すこと。
4仕様書無しさん:2006/09/16(土) 00:52:22
>>2
それじゃC++でまともにWindowsプログラムが組めんがなw
5仕様書無しさん:2006/09/16(土) 00:53:14
全てのコメントがAA
6仕様書無しさん:2006/09/16(土) 00:58:25
コメントで世間話禁止
7仕様書無しさん:2006/09/16(土) 01:00:35
>>2
現場の怒りが伝わってくるw
8仕様書無しさん:2006/09/16(土) 01:04:13
多重継承をしたら腕立て300回。

それでも、しなくてはならないなら、すれば良いさ。
9仕様書無しさん:2006/09/16(土) 01:05:57
caseとelsif禁止
全部ifのネスト
10仕様書無しさん:2006/09/16(土) 01:09:07
>>9
それはキツいw
11仕様書無しさん:2006/09/16(土) 01:16:47
ポインタの限界に挑戦する。
int *******************************i;
12仕様書無しさん:2006/09/16(土) 01:21:10
演算子は全て自作。
13仕様書無しさん:2006/09/16(土) 01:23:06
英単語のスペルミスったら100回書き取り
14仕様書無しさん:2006/09/16(土) 01:25:41
スタックに積んだら積みっぱなし。
15仕様書無しさん:2006/09/16(土) 01:30:25
newしたら、
あとで誰も見てない所でこっそりdeleteしてあげる(はぁと)
16仕様書無しさん:2006/09/16(土) 01:42:21
ローカル変数使用禁止
17仕様書無しさん:2006/09/16(土) 01:47:52
バグ出したらクビ
18仕様書無しさん:2006/09/16(土) 01:58:07
変数の頭にbだlだ付ける。
読みにくくって仕方ねぇ。
19仕様書無しさん:2006/09/16(土) 02:24:50
メモリ開放禁止
20仕様書無しさん:2006/09/16(土) 03:46:22
スタック使用禁止
21仕様書無しさん:2006/09/16(土) 23:30:40
1関数のステップ数は400程度とすること
22仕様書無しさん:2006/09/16(土) 23:58:27
(1)1レベルインデントする場合は、行頭にtabを1つ入れること。
スペース8個にしてはいけない。
(2)n>=2レベル以上インデントする場合は、行頭にtabを1つ入れ、
その後にスペースを(n-1)*4個入れること。
この場合、途中にスペースが8個以上続いても、
これをtabへとunexpandしてはいけない。

なんで行頭だけtabに固執してんだよ???
23仕様書無しさん:2006/09/17(日) 00:27:27
>>22
4カラムインデント派と8カラムインデント派の政治的妥協の結果だろうな
24仕様書無しさん:2006/09/17(日) 01:02:32
タブはエディタによって見え方違うから使うなと散々言われているな
リリース前に置換するからいいけどかったるいっちゃあかったるい

1行74(だっけ?)文字までってのは本気でやめて欲しい
25仕様書無しさん:2006/09/17(日) 10:34:21
tabでもスペースでもいいけど、
tabとスペースを混ぜるのだけはやめろ。
26仕様書無しさん:2006/09/17(日) 11:02:49
ログの出力は必ず
"よ、元気か!!:"
で始める。ちょっと癒される。
27仕様書無しさん:2006/09/17(日) 12:10:43
「〜するかも?」とか「〜するかな?」とか「〜するはず」等と
不安を煽るコメントは書かない。
28仕様書無しさん:2006/09/17(日) 12:28:28
修正前のコードは削除せず、コメントにする
29仕様書無しさん:2006/09/17(日) 12:53:46
問題点・疑問点があったら、まずソースコードのその部分にコメントとして書き込んで、後で修正忘れが無いようにする。
30仕様書無しさん:2006/09/17(日) 13:12:17
処理の流れを追いやすくするためすべての処理はmein関数内に入れる
31仕様書無しさん:2006/09/17(日) 13:13:39
main を meinと書かない。
32仕様書無しさん:2006/09/17(日) 13:32:38
>>28
CVSとかSubversionを使いなさい。
33仕様書無しさん:2006/09/17(日) 13:56:50
>>32
開発環境をSAPにすればいいだけだべ
34仕様書無しさん:2006/09/17(日) 14:18:36
Bob?
35仕様書無しさん:2006/09/17(日) 15:26:57
>>32
それでこの問題が解決するって考えは甘くないか?
つーか甘かった
36仕様書無しさん:2006/09/17(日) 16:10:06
>>2>>4
匿名名前空間使えとかそういうこと?
Windowsでまともにプログラム組めないの?

>>22
これはかなり逝けていますね。
37仕様書無しさん:2006/09/17(日) 16:16:25
>>24
1行74をJavaのコーディングルールで規定されそうになったことがある
38仕様書無しさん:2006/09/17(日) 16:40:02
1メソッドは30行以内にすべし。

1メソッド800行とかさ、漏れには理解不可能。
39仕様書無しさん:2006/09/17(日) 17:02:40
>10
caseもelseifも存在しないsmalltalkで開発してるオレへの挑戦か?
40仕様書無しさん:2006/09/17(日) 17:40:00
>>22-23
インデントをどうするかをルールにするより、どのエディタを使うかを
ルールにしたほうが早い気がするのは俺だけ?
41仕様書無しさん:2006/09/17(日) 17:55:06
エディタも設定でTab幅とか変えられるし・・・
42仕様書無しさん:2006/09/17(日) 18:18:12
タブだとソースの容量がほんの少し減るよね。
43仕様書無しさん:2006/09/17(日) 18:24:30
>>40
もう、SQL叩き打つようなコードのだと慣れて無いエディタ使わせると効率落ちるだけじゃね?
俺は普段メモ帳だからオールマイティだけど。
44仕様書無しさん:2006/09/17(日) 18:53:11
>>43
>SQL叩き打つようなコード
ちょっとココ、突っ込みたいけど我慢しとくわwww
45仕様書無しさん:2006/09/17(日) 21:48:23
タブ(0x09)をHTMLタグ、タブが表す表示幅をCSSと考えると
46仕様書無しさん:2006/09/18(月) 00:27:03
gotoは片道切符。
47仕様書無しさん:2006/09/18(月) 00:57:52
コメントは縦書き

/* ← */
/* こ */
/* こ */
/* で */
/* ク */
/* リ */
/* ア */
48仕様書無しさん:2006/09/18(月) 01:00:08
1クラス5関数以内(getter,setterは除く)
49仕様書無しさん:2006/09/18(月) 01:05:25
goto 禁止
50仕様書無しさん:2006/09/18(月) 01:20:27
1メソッド10行まで
51仕様書無しさん:2006/09/18(月) 05:49:38
>>48>>50を同時にやったら楽しいことになりそうだな
52仕様書無しさん:2006/09/18(月) 05:58:06
//のコメント禁止
53仕様書無しさん:2006/09/18(月) 10:53:34
ネストは最高3つまで。
54仕様書無しさん:2006/09/18(月) 11:06:09


プロトタイプ宣言は必ず書くこと。
55仕様書無しさん:2006/09/18(月) 11:22:26
ローマ字禁止。
56仕様書無しさん:2006/09/18(月) 11:47:50
>>37
Eclipseデフォルト設定で
自動フォーマットすれば、勝手にそうなるからでは?(74文字かどうかは忘れたけど)
FindBugsにもそういう設定があったよね。
57仕様書無しさん:2006/09/18(月) 11:49:37
>>52
SunのCコンパイラだとエラーになるし。(C99対応する前の話。今はしらね)
58仕様書無しさん:2006/09/18(月) 12:37:11
>>57
今は大丈夫だ。
59仕様書無しさん:2006/09/18(月) 12:53:44
>>51
もちろんカテゴリは使用禁止だよな?
60仕様書無しさん:2006/09/18(月) 12:56:48
SVNなどで管理しているソースは、
以前のソースをコメントで残さない。

…なんの為のツールなんだと思ってるんだか。
2000.3.22 xxxx関数の呼び出し
以下コメントでソースとか平気で残ってて、可読性が悪すぎorz
61仕様書無しさん:2006/09/18(月) 13:04:06
>>57
いや、これC++でのお話なんですよ。
根拠不明だけど、Cのコーディング規約をそのままコピペしたっぽい。
誰も疑問もたずに従ってたのが不気味でした。
62仕様書無しさん:2006/09/18(月) 13:24:19
javaにて
toStringを作者名でオーバーライド;w;
63仕様書無しさん:2006/09/19(火) 10:50:07
>>61
俺も見たことあるよ、その規約。
しかも他の項で#endifにはコメント入れろって書いてあって
#endif  // _XXXXX_
のような例が出ててわらた。
64仕様書無しさん:2006/09/28(木) 23:49:24
打て、とにかくがむしゃらに打て。
打ちまくれ。キーを。
65仕様書無しさん:2006/09/29(金) 00:18:11
職場でオナニー禁止
66仕様書無しさん:2006/09/29(金) 02:31:51
>>49
goto 禁止 & return は1つのルールが最凶。
無駄な flag とループがいっぱい。
書いていて欝になった。@目立
67仕様書無しさん:2006/09/29(金) 19:24:49
>>66
わかる!!
flagとか意味も無く多用するなと言いたい!!
セットしたのに何にもしないで捨てるだけとかやめてくれ。
flagを見ると条件反射で何か重要な判定に使用するんだろうなと
身構えてしまう悲しい俺の性。
68仕様書無しさん:2006/09/29(金) 19:38:35
すまん。微妙に話がずれた。
returnを一つにするためにflagを使うってことだね。
returnが一つじゃなくても理解できるからそんな心配するなよって言いたくなるね。
69仕様書無しさん:2006/09/29(金) 20:22:49
このスレ地味にウケる。
70仕様書無しさん:2006/09/29(金) 21:54:01
・変数を各所でつかうな←原文忘れた
そのせいでboolを3つ用意とか、、、それぞれ一度しかつかわないのに

・変数を宣言したら必ず初期化、渡された変数(アウトパラ)も初期化
当然でかいstructも毎回初期化
それで処理速度遅い言われても知らんがな(´・ω・`)
71仕様書無しさん:2006/09/29(金) 23:08:28
デザインパターンを使用したら、その旨をコメントに明記。
そしてさらに、「変更時は要相談」と明記。

なぜなら、デザインパターンを知らんやつがそのコードを見ると
なに分けの分からんコード書いてんだと言って勝手に書き換えてしまうから。
せっかくのBridgeやStrategyが見るも無惨な姿になっていく。
「先輩、分かりやすくしときました」
ってお前、何言ってんだ〜。やめてくれ〜。
72仕様書無しさん:2006/09/29(金) 23:15:32
スタック待避のタイミングは
関数処理呼び出し時は、呼び出す直前で、
割り込み処理は、割り込み処理内の先頭で。
スタック待避は必要なもののみを待避して、処理が助長にならないようにする。
73仕様書無しさん:2006/09/29(金) 23:51:45
逝けてるコーディングルール:VB
いくらやっても判った気がせんC/C++な自分。
74仕様書無しさん:2006/09/30(土) 10:59:59
>>42
そういやCurlはソースファイルのサイズで課金されるらしいから
そういう言語ではメリットあるかもね。
75仕様書無しさん:2006/09/30(土) 11:03:13
>>70
大して逝けているとは思えない。
むしろバカ避けとしては立派な部類。
76仕様書無しさん:2006/09/30(土) 11:22:34
>>70
そんな職場で働きたいな
うちは「例外エラーは全てのプロシージャ・関数に書こいて途中で落ちないようにしよう」くらいしかねー
問題があると他のシステムではどうしてる?真似してないのが悪いって事になる
77仕様書無しさん:2006/09/30(土) 13:56:50
>>70の内容を見ると、むしろ70の方が逝けてると思うんだが
78仕様書無しさん:2006/09/30(土) 14:07:17
少なくとも、型が同じだからといって、異なる用途に一つのローカル変数を
使い回すのはDQNだな。ループカウンタとかフラグとかでやってる香具師を
よく見るが。
7970:2006/09/30(土) 15:23:51
別になにも文句言われないならいいんだけど

メモリ足りないとか処理能力試験で性能でないから改善しろとか
こんな(元は)簡単なプログラムこれ以上どうこうできん(´・ω・`)
80仕様書無しさん:2006/10/01(日) 18:21:07
>>71
>デザインパターンを使用したら、その旨をコメントに明記。

よくいるよな、覚えたから、と言ってスグに使いたがる奴
無理矢理適用して非常に判りづらい代物にしてオナニーしてやがる
デザパタ使用したなら理由も書いておけって
81仕様書無しさん:2006/10/01(日) 18:24:50
まっとうに理由が書ければオナピーではないというジレンマ。
82仕様書無しさん:2006/10/01(日) 18:34:09
ハンガリー記法オンリー
83仕様書無しさん:2006/10/01(日) 21:17:46
>>80
なんか嫌な事でもあったのか?
聞いてやるから言ってみろよ。え?
84仕様書無しさん:2006/10/01(日) 21:37:29
荒れるからやっぱやめた。すまん。
85仕様書無しさん:2006/10/01(日) 23:36:33
Cでbreakはswitchの中のみって良くあるルール?
組めなくは無いけど、結構きつい。

おまけに関数の途中でのreturn禁止。

continueも禁止
86仕様書無しさん:2006/10/02(月) 02:28:32
>>85 最適化すると、アセンブラレベルでのトレースが殆ど不可能になるからな。

goto使ってるのとbreak,continue使うのは、シンタクス的に違っても、やってることはかわらない希ガス。
87仕様書無しさん:2006/10/02(月) 07:26:31
>>85
まともな所ならないよ、まぬけルールだね

>>86
アセンブラレベルでトレースするなら最適化禁止しるw
>goto使ってるのとbreak,continue使うのは、シンタクス的に違っても、やってることはかわらない希ガス。

構造化プログラミングから勉強しなおして来い
88仕様書無しさん:2006/10/02(月) 07:38:35
>>85
breakでエラー処理にとばすというのは、よくやる。
89仕様書無しさん:2006/10/02(月) 10:21:44
>>87
いや、86のいってること、そんな間違っちゃいないんじゃないかな。
フローをすっとばすという意味では「やってること」はgotoと変わらないと思う。
例外のtry〜catchもそうか。

ただ、どれも使い所がgotoに比べて限定されるから
乱用が避けられていいんじゃないかなと。
90仕様書無しさん:2006/10/02(月) 22:04:12
構造化定理ってのは、逐次と条件分岐と繰り返しだけでプログラムが組めるって
やつだね。実際には不便過ぎるからcontinueやbreakみたいな制限つきジャンプが
導入されているわけだ。関数の途中でのreturnも同じ。

MISRAなんかはこれらを禁止するルールがあったと思うけど、推奨レベルの
項目だったかもしれん。
91仕様書無しさん:2006/10/02(月) 22:21:23
アセンブラレベルで考えるとたしかx86系の場合(間違ってたらすまん)
short jmp
near jmp
far jmp
等で実行速度や実行時のデータ量が変ってくるはず。
breakとgotoって使い方によってアセンブラの落ち方が変るのかな。
最適化して同じコードに落ちる事もあるだろうけど。
というより、
CPUからみてどれだけ離れたアドレスに飛ぶかでアセンブラのコードは変ると思う。

ただアセンブラを意識し始めたら始めたら
if文の条件で<と>のどっちを使うかとか、
ループのforかdo whileのどっちを使うかとか、
考えないとってことになる。
zフラグを見てのブランチだと早いとか、cmpだとどうだとかさ。
92仕様書無しさん:2006/10/02(月) 22:25:20
前にやったプロジェクトでは
malloc, calloc禁止のとこがあった。このプロジェクトは失敗した。
93仕様書無しさん:2006/10/02(月) 22:29:54
free禁止よりマシ
94仕様書無しさん:2006/10/02(月) 22:32:53
>>92
それは組み込みとかでは問題ないでしょ
MISRAにはそういったルールがあるわけだし。
95仕様書無しさん:2006/10/02(月) 22:37:45
>>94
組み込みはしらんがソラリスの開発だったよ。
96仕様書無しさん:2006/10/02(月) 22:39:19
カーネルオブジェクトを激しく使う合間でmallocなどしてると
処理が追いつかなくてあっという間にリークするというのはあるので
malloc,calloc使うのはいいが、メモリPoolingクラスなどにする
必要があるでいいかな。
97仕様書無しさん:2006/10/02(月) 22:40:19
やっぱりイケてるルールは
if文の代わりに三項演算子で書くというのがかっこいいな。
98仕様書無しさん:2006/10/02(月) 23:00:31
>95 斗う漢のbrk(2)だな!
99仕様書無しさん:2006/10/02(月) 23:27:49
昔はカーソルからの入力判定による座標の変更を
IF文じゃなくて論理演算でやるってのがあったな。
IF文を使うと処理が遅くなるからってのが理由だった。
100仕様書無しさん:2006/10/02(月) 23:59:11
/dev/zeroをprivateでmmapすればいいじゃん。
101仕様書無しさん:2006/10/03(火) 23:03:01
y=x/7*14なんて書いたら即刻死刑。
102仕様書無しさん:2006/10/03(火) 23:37:54
たしかに意味のある定数なら #define で命名しておくべきで、
プログラム中に直接埋め込むのはよくないな。
103仕様書無しさん:2006/10/04(水) 07:00:48
えーと、こうかな?
y EQUALS x DEVIDES CONST_7 MULTIPLIES CONST_14
104仕様書無しさん:2006/10/04(水) 09:21:25
意味ある定数でも
#define
はねぇだろ

ちゃんと
const
使えって
105仕様書無しさん:2006/10/04(水) 10:46:54
いやもしかしたら
>>101
y=x*2
と書けってルールだったりして。

x * 60 * 60 * 24 とかも死刑とか。
106仕様書無しさん:2006/10/04(水) 10:49:31
y=(x/7)*14

こうかけってんじゃね?
107仕様書無しさん:2006/10/04(水) 11:10:23
y = x*0.142857142857*14

こうでしょ。
108仕様書無しさん:2006/10/04(水) 11:31:37
y=x<<2と書けってルールだきっと。
109仕様書無しさん:2006/10/04(水) 20:42:44
y=(double)x/7*14
だろうきっと
110仕様書無しさん:2006/10/04(水) 21:01:42
y = x / 7 * 14
こうじゃね?
111仕様書無しさん:2006/10/04(水) 21:30:51
正解はこれ

y=x/7.0*14.0
112仕様書無しさん:2006/10/04(水) 21:40:53
>>92
new 使えってことでしょ。
113仕様書無しさん:2006/10/04(水) 21:52:35
>>99
ベーマガ?
114仕様書無しさん:2006/10/05(木) 21:24:23
>>113
それさ!!
115仕様書無しさん:2006/10/05(木) 21:32:33
>>101
>y=x/7*14なんて書いたら即刻死刑。
シンプルな一行だけど、凄く奥が深い。
俺は
y=x<<2
に一票。マイコン系だと7で割るってかなりやばい。
116仕様書無しさん:2006/10/05(木) 21:48:52
>y=x<<2
だと4倍されてしまいますが
117仕様書無しさん:2006/10/05(木) 21:55:08
しまた!!かっこ悪すぎ俺、皆笑ってくれ。
118仕様書無しさん:2006/10/05(木) 21:58:53
あまり笑えんのだが・・・
119仕様書無しさん:2006/10/05(木) 22:05:31
ベーマが懐かしス。
120仕様書無しさん:2006/10/05(木) 22:15:51
y=x/7*17*32/64+7+23-30
とか書いても賢いコンパイラは
y=xと解釈してくれた


気がする。
121仕様書無しさん:2006/10/05(木) 22:55:41
整数演算だと x/7*14 と x*2 の結果が違うことあるから勝手に判断されるのは賢いと言えるかどうか
てか、もうこのネタ引っ張るのやめようよw
122仕様書無しさん:2006/10/05(木) 23:05:16
volatile 使う?
123仕様書無しさん:2006/10/07(土) 01:35:48
fainalを使おうぜ!!
124仕様書無しさん:2006/10/07(土) 02:07:17
analを使おうぜ!!
125仕様書無しさん:2006/10/07(土) 02:15:03
viagraを使おうぜ!!
126仕様書無しさん:2006/10/07(土) 08:03:53
sex void main(insert)
{

}
127仕様書無しさん:2006/10/07(土) 19:19:08
<?php
$a = 0;
if ( $a == 1 ) {
 echo "a == 1";
} else {
 echo "a != 1";
}
?>

↑ifのカッコ内で、カッコと式の間にスペースを入れて読みやすくしているようなコードを見かけるけど、ルールにした方がいいですか?

・入れ子になってるとか、カッコをたくさん使う場合、カッコの数合わせを確認しやすいとか、そういうメリットでやってんのかな?
・詳しく知らんが、LISPみたいにカッコをたくさん使う言語?の独特な記述を取り入れているのかな?

どうなんでしょうか?
128仕様書無しさん:2006/10/07(土) 19:54:06
>>127
どこからツッコムべきか。
・スレ違い
・そもそも板違い
・IDEの整形にまかせとけ
・整形ツール使え
・好みの問題
129仕様書無しさん:2006/10/08(日) 00:47:15
いやいや、ここは親切に答えてあげようじゃないか。
> ・入れ子になってるとか、カッコをたくさん使う場合、カッコの数合わせを確認しやすいとか、
> そういうメリットでやってんのかな?
ウ〜ンそうでもないんじゃないのかなと思うけど、そうなんじゃないかもしれないかもないね。

> ・詳しく知らんが、LISPみたいにカッコをたくさん使う言語?の独特な記述を取り入れて
> いるのかな?
そうかもしれないけど、そうじゃないかもしれない、結局の所あらゆる可能性を考えると
正確な判断は難しい。
130仕様書無しさん:2006/10/08(日) 19:17:31
何と、うちの会社にはコーディングルールなど存在しない(いやマジで
131仕様書無しさん:2006/10/08(日) 23:36:41
>>1
過剰なルールなら避けるに決まっている。

Subversionを使えば必要がないくだらないコメントも省けるんだし。
132仕様書無しさん:2006/10/08(日) 23:37:26
#ifdefなどのJavaに無いプリプロセッサ禁止。
演算子のオーバーローディング禁止。



133仕様書無しさん:2006/10/10(火) 14:54:57
レビュー禁止
134仕様書無しさん:2006/10/11(水) 22:25:10
キーは、脇を閉めて内角をえぐるように打つべし。
135仕様書無しさん:2006/10/14(土) 12:46:50
>>122
volatile使っても何故か最適化されてしまうときがある。
なぜだ?
136仕様書無しさん:2006/10/14(土) 15:21:04
>>135
1.プログラマの勘違い
2.コンパイラのバグ
お好きなのをどうぞ
137仕様書無しさん:2006/10/15(日) 11:20:30
gotoが何故嫌われるのかわからん
いちいちbreakとか使うの煩わしい
138仕様書無しさん:2006/10/15(日) 15:45:03
>>137
あとで他の人が流れを追いにくいから。
他の人が修正するときにミスを誘発しやすい。

逆に言えばそうならない使い方なら問題ないね。
139仕様書無しさん:2006/10/15(日) 17:30:28
そうならない使い方をみんなが出来るわけじゃないから規制されてるわけで
140仕様書無しさん:2006/10/15(日) 20:52:29
schemeとか末尾再起はgotoにしてるよね
完全に管理できてるなら、スタックも消費しないし有効なんだけど、
なんせ、人が使うには高度すぎる機能なんだと思うよ。
141仕様書無しさん:2006/10/15(日) 21:41:05
関数が小さいなら問題ないような。
むしろグローバリー変数の方が問題。
142仕様書無しさん:2006/10/15(日) 22:01:44
グローバリー変数・・・・

なんでもかんでも配達してくれそうな変数だなw
143仕様書無しさん:2006/10/15(日) 22:13:30
>>138
俺はエラー処理はほとんど goto でやってるよ
144仕様書無しさん:2006/10/16(月) 03:07:44
>>47
亀だけど笑ってもうた
145仕様書無しさん:2006/10/17(火) 00:22:42
変数名にgstXXXってのをみたよ。
ぐろーばるすとらくちゃーの略だってさ。
146仕様書無しさん:2006/10/17(火) 00:31:42
ヤバイ
グローバリーがツボw
147仕様書無しさん:2006/10/17(火) 01:48:23
先物?
148仕様書無しさん:2006/10/17(火) 04:27:15
>>142
もしかしてデリバリー変数とごっちゃになってないか?
149仕様書無しさん:2006/10/17(火) 18:54:20
社内恋愛禁止
150仕様書無しさん:2006/10/17(火) 22:18:58
<<2って4倍だよな?
<<xって*(2^x)だから

2倍は<<1だろ?

俺間違えてる?
151仕様書無しさん:2006/10/17(火) 22:26:46
間違っちゃいないが、そんな古いネタにいつまでも固執してんなよ
152仕様書無しさん:2006/10/18(水) 09:14:08
>>145
それわりと普通じゃね?
特にVBなんかの場合。
153仕様書無しさん:2006/10/18(水) 12:29:05
午前中、「ソース修正は元ソースをコメント化」をやらされた
cvs使ってるのにorz
154仕様書無しさん:2006/10/18(水) 14:59:35
グローバル変数はgとか接頭辞を付けるってのはあるね。
あまり数がないことが前提だが。
155仕様書無しさん:2006/10/18(水) 19:17:36
>>154
結構ありますね。
でも、そんなことするよりもスコープ指定でやれよ、といつも思うデス。
156仕様書無しさん:2006/10/18(水) 19:29:08
(Cなら)まずファイル内staticで片付くモノならそうすべきだな。
157仕様書無しさん:2006/10/18(水) 20:23:53
cvSってのはいざというときに復元したいために使ってるんであって
保守とか開発とか修正とかやる立場なら
ソースそのものは「直感的に見てすぐパッと」知りたいもんじゃないの?
158仕様書無しさん:2006/10/18(水) 20:36:58
昔、こういう間違いを見たことがある。

Private gstrHoge As String

名前で区別しても、それが間違ってちゃ意味ねーよな、と。
159仕様書無しさん:2006/10/18(水) 22:42:35
>>158
そういうのはソースレビューでチェックしろ
160仕様書無しさん:2006/10/19(木) 00:14:57
そういうソース書くやつは、他にもたくさん同じようなことしてるよな・・・。
161仕様書無しさん:2006/10/19(木) 00:32:52
Public から Private に格下げしたんじゃね
162仕様書無しさん:2006/10/20(金) 01:41:41
Private pgrHoge Ass String
163仕様書無しさん:2006/10/21(土) 10:13:11
ソースレビューって何ですかorz
そんなことするルールが無いことがorz
164仕様書無しさん:2006/10/21(土) 11:37:14
↑逝けてる現場だな。
165仕様書無しさん:2006/10/21(土) 11:53:08
コードレビューて言わない?
ソースレビューじゃ広島焼きみたいだ
166仕様書無しさん:2006/10/21(土) 13:06:07
コードレビュー無し、仕様書も無し、の現場なら知ってる。
167仕様書無しさん:2006/10/21(土) 13:07:42
ソースレビュー(広島)

オタフクソース:90点
カープソース:75点
168仕様書無しさん:2006/10/21(土) 13:16:06
ソースレビューでもコードレビューでもなんでもいいけど
そんなだからトラブル時に中身の分かる者が休んでいると対応が翌日とかになっちまうんだよな
転勤とかなったらどうすんだよ
169仕様書無しさん:2006/10/21(土) 13:38:48
それより、辞めたらとか、入院したらとか、死んだらとか。
170仕様書無しさん:2006/10/21(土) 16:56:25
今日は広島焼き食いたくなった。これから食いに行く。
171仕様書無しさん:2006/10/21(土) 21:27:09
広島焼き、ネギトッピングオプションで食った。
うまかった。ソースはオタフク。
172仕様書無しさん:2006/10/22(日) 00:44:15
つトラックナンバー
http://www.rubyist.net/~matz/20050311.html
173仕様書無しさん:2006/10/22(日) 01:54:39
移行案件で、仕様は現物とソース
おもいっきりトラぶって、ばっくれたが、後でコードレビューがあって叩かれまくられたらしい
規約もフレームワークも仕様も無視だったらしい

というかそれら全部提示なかったし
174仕様書無しさん:2006/10/22(日) 02:15:07
逝けてるコーディングルールじゃなくて
逝けてるコーダかよ!
175仕様書無しさん:2006/10/22(日) 21:00:17
ソースコードレビューやるのは良いが、少人数だとちゃんと教えられるレベルの人が居ないなんてことも。
「変数宣言は必ず関数・メソッドの先頭」、「gotoは絶対禁止」なんて人がいっぱい居る会社だからな。
俺も最近までそんな奴らの一人だったわけだが
176仕様書無しさん:2006/10/23(月) 00:04:22
ルールの真意を知っている人は
ルールを崩しても良い場合を判別できるけど、
そうでない人がマネして、崩してしまうと困る。
赤信号を渡っていいかどうかと似てる気がする。
ちゃんと車が来てない事を確認できれば渡っていいが
それが出来ないなら、まずは赤では渡るなと。
177仕様書無しさん:2006/10/23(月) 06:49:31
守破離だよな
178仕様書無しさん:2006/10/23(月) 10:44:17
>>173
後出しだろうが仕様も規約も提示した
179仕様書無しさん:2006/10/23(月) 15:40:46
ハンガリアンって、いまどき、どうなの?
僕は大嫌い。型は宣言をみればわかる。

180仕様書無しさん:2006/10/23(月) 16:06:50
ハンガリアンにしないと型がわからんくらい
でかいソースが問題だわなあ。
181仕様書無しさん:2006/10/23(月) 17:07:27
でかい=長い関数?

むかし、同期のデバッグ手伝ったんだが、
コピペの塊みたいなCの関数があって、2000行くらいあって
コンパイラが警告吐いていた、長すぎだよって(W

+++

関数の長さは50行まで、と言いたい。


182仕様書無しさん:2006/10/23(月) 18:08:49
>>181
うん。ローカル変数だったら長すぎる関数。
メンバやグローバリーだったら長すぎるクラス・ソース。

ハンガリアン、途中で型変えたりしにくいしイヤン。
事前にちゃんと設計しろといわれりゃそうだけど。
183仕様書無しさん:2006/10/23(月) 18:38:08
>ハンガリアン、途中で型変えたりしにくいしイヤン。
正解だと思うよ、手を入れることは前提にしないとね。

プロジェクト内とかでも、可読性とか一貫性とか最小限にすべきだよね、
この手のルールは。そもそも王道なんてないわけだし。


184仕様書無しさん:2006/10/23(月) 21:37:15
>>181
俺が見た最長関数は9千行超えてたよ
もうね、分割しようっていう気力もわかずにコード書き足したよ
はは、ははははははは・・・
185仕様書無しさん:2006/10/23(月) 22:26:07
それはもはや関数じゃないだろw
186仕様書無しさん:2006/10/23(月) 22:44:52
俺は8000行までしか見た事がない。
187仕様書無しさん:2006/10/23(月) 22:49:59
たった2000行ぐらいでした。mainが。
188仕様書無しさん:2006/10/23(月) 22:55:37
ちゃんと関数に分けて作ったらソースレビューで分けすぎとか言われた。
「はぁ?」とか思いながら既存のソース見たら1関数がウン百行、
ついでにグローバル変数の宣言もウン百行。

お前ら分室にこもってばかりいないでもうちょっと外の空気を吸えよと。
189仕様書無しさん:2006/10/23(月) 23:06:50
しかもテーブルは全く正規化されていない。第1正規形にすらなっていない。
ソースレビューなんかする前にテーブル設計レビューやってもらえよと。
今思えばあの分室はコボラーが支配してたのかも。
190仕様書無しさん:2006/10/24(火) 00:50:16
ごめんよ。
おれは
・ 汎用機能       他のシステムその他開発に転用できる機能(あるディレクトリのパスリスト取得する、とか)
・ 固有機能       そのシステム内でのみ多々使われる機能(システム内の共通オブジェクトに関する処理とか)
・ サブ/メインフロー 汎用、固有の機能呼び出し部分
って分割の仕方してて、サブ/メインフロー部は2000ステップとかざらにある。
(ただしその1/2は空行だけど、処理ブロック単位に分ける為の)


仕様変更多発の(っていうか仕様確定ぜんぜんできず、検証がてら開発入らないと間に合わない)
Prjを5,6年やってるんだけど、これで開発やってたらがんがん仕様変更いれられても、
固有箇所に関する変更、サブ/メインフロー部分に関する変更、って
感じでほとんど仕様変更部分が他関数にまで影響しなくなった
(汎用部分には不具合以外では仕様レベルの修正は入らない=変更なし)。

楽だから多分やめられない・・・冗長プログラミング、って名づけてみた。
191仕様書無しさん:2006/10/24(火) 01:26:08
それって普通なんじゃ・・・
192仕様書無しさん:2006/10/24(火) 04:06:16
>>188
1行しか処理の無い関数いっぱい作ってる奴も見たことあるけどなw
getter、setterやコールバックとかじゃなく。
193仕様書無しさん:2006/10/24(火) 11:14:35
>>190
フロー部に汎用性がなく不可分であるなら
それは正しい
194仕様書無しさん:2006/10/24(火) 18:22:31
>>192
適切な分割単位になってるならそれでいいんじゃないか?
一箇所からしか呼ばれないなら終わってると思うが。
195仕様書無しさん:2006/10/24(火) 19:31:15
各々方、機能の分割には限界が無いという前提を忘れていないか
196仕様書無しさん:2006/10/24(火) 21:45:24
>>194
一箇所からしか呼ばれなくても構わん。
関数に分ける意義の一つは、正しい関数名を付けることだからな。
197仕様書無しさん:2006/10/24(火) 22:29:52
ってか、他システムでも使えそうな関数作っといて、
他システム開発で流用する(ソースをプールはコンプラうんぬん、はおいといて)。

結局コーディングって毎回1から作るか、
自分用のライブラリ作りで積み上げてくか、
で数年経ったら大きな違いが。


毎回同じ処理1から実装して同じ不具合出してた奴がいた。
そのコード解析/対応をするのがおれだったから
そいつには氏んでほしかった・・・
198仕様書無しさん:2006/10/25(水) 02:18:49
はまぐちぇでも学習するのになw
199仕様書無しさん:2006/10/25(水) 08:03:34
>>194
C,java,C++なんかの場合、構造体のメンバを返す関数とか作らないか?。
return struct.menber;
みたいなの。
if(xxxx==0)
return 0;
else
return struct.member;
とか。
200仕様書無しさん:2006/10/25(水) 10:48:10
機能分割して細かいソースに分けておくのは業務知識の蓄積にも意味があるな
セキュリティの観点からソースの直接の流用は出来なくても、分割するために思考削除した経験は活きて来る
201仕様書無しさん:2006/10/25(水) 11:53:52
>198
はまぐふぃと
202仕様書無しさん:2006/10/27(金) 23:21:45
自分が担当する以前に存在していたコードを
必要な範囲まで理解するってのも重要だと思う。
203仕様書無しさん:2006/10/28(土) 08:36:35
>>202
そんな時間があればな・・・
前にやってた人の分があるのだから早くできるだろうと思われるのが関の山
204仕様書無しさん:2006/10/28(土) 09:15:44
関数というシステムが何のためにあるのか、忘れ去られているんだな・・

冗長性を最小限にしようというシステムだぞ。
人間の思考パターンとも一致するし。

冗長に書くと、最適化レベルの変更だけで、コードサイズががくっと変わる・・。
そういう場合は、かなり怖いよ。どういう変更が入ったか解らないし。
205仕様書無しさん:2006/10/28(土) 12:41:12
仕事中に株禁止
206仕様書無しさん:2006/10/28(土) 13:16:45
>>202
>>203
プログラマが常に抱えるジレンマ。
既存のコードを理解するか。
理解しようとしてもどうしても出てしまう理解漏れを恐れて一から作るか。
一から作り直す事で、新たなバグを生み出してしまわないか。
作業時間が、しばしば以下のようになるのをどう説明したら良いか。
(コード理解時間+コーディング+デバッグ)>(一からコーディング+デバッグ)
207仕様書無しさん:2006/10/28(土) 15:59:45
>>66
俺の関わったPJでは、この規約で

do {

if ( ホニャララ ) { break; }

} while(0);

ってやってた。

悪くないけど、インデント深くなるし、
関数抜ける gotoくらいは許可して欲しいよな。

ちなみに1行は80だったな。
208仕様書無しさん:2006/10/28(土) 16:07:18
>>120
整数演算で
y = x/7*14 とかって使うんだけど、これって良くない?
Cなんだけど。小数点切り捨て。

いちいち
z = x/7
y = z*14
とかやると面倒だから、上みたいに書いてるんだが。
209仕様書無しさん:2006/10/28(土) 17:34:49
>>208
プロジェクトによるんじゃないかな。
マイコン系だったらy=x<<1ってしないとアウトな場合もあるよ。
7で割ると処理時間がいきなり増えるから。
コードにいきなりy = x/7*14 って書いてあっても
意味が分かれば良いとは思うけど
なんで7で割ってるの?14をかけるの?ってことになると
不親切かな。後から見た人が首を傾げるかも。
210仕様書無しさん:2006/10/28(土) 17:46:13
>166
>コードレビュー無し、仕様書も無し、の現場なら知ってる。

そういう会社で働いてた。
テスト(デバッグじゃなくてね)も、納品前(しかも三日前とか)に纏めて一回やるだけ。
人の作ったのを見て作るから、どっかでバグが紛れ込むと、伝染病のごとく広がっていく。

高速化のため、
if ( condition == true ) ではなくif ( condition )
と書く、というルールがあったな。

それを考えると、このスレの話題はものすごくレベルが高いと思いまする。


211 ◆7mzqs59qfc :2006/10/28(土) 19:17:30
>>208
コメント入れとけばまとめ記述でオケー
212仕様書無しさん:2006/10/28(土) 20:14:18
これ↓高速化になるんだ。
病気で頭まわらんからよく検証できんけど。

>if ( condition == true ) ではなくif ( condition )
213仕様書無しさん:2006/10/28(土) 20:34:09
ま、ふつーなら最適化でつぶされるけど。
214210:2006/10/28(土) 20:45:48
高速化にならんよ、当然。
加算命令一個減らしてもタカが知れてるし。
それが業務アプリのUIとくれば、馬鹿っぷりをご理解頂けると思う。
215仕様書無しさん:2006/10/28(土) 21:28:35
VisualBASIC2.0の頃の話じゃね?
216仕様書無しさん:2006/10/28(土) 22:38:20
boolean型を返す関数の場合だけの話
if ( condition == true ) って気持ち悪い
if ( condition ) の方がすきだな
217仕様書無しさん:2006/10/28(土) 22:54:24
/7*14はネタだよね。

だれかネタといってくれー!!!
218仕様書無しさん:2006/10/28(土) 22:59:56
そういう現場ではこんなことも起こりそうだな。

typedef int boolean;
#define false 0
#define true 1
//...
boolean condition = 2;
//...
if ( condition == true )
219210:2006/10/28(土) 23:44:10
>>215

いや、.net。
まさに逝けてるコーディングルール。
220仕様書無しさん:2006/10/29(日) 00:04:02
「こうすると早い」とか言うネタほどうさんくさいものは無いからな。
221仕様書無しさん:2006/10/29(日) 00:32:40
脳内コンパイラー持ってる奴が多い。
TPOをわきまえずに最適化しようとする奴多すぎ。
210じゃないけど、業務アプリのUIを「早く」してどうすんだと。

TPOをわきまえずにコードを最適化しようとする奴は、社会人としてのTPOもわきまえてない、

なんて法則ありそうだなw
222仕様書無しさん:2006/10/29(日) 00:39:36
>>216
それは可読性が悪い。
condition という変数がboolean型であると知っているのは本人だけ。
他の人が見る時は一々定義を参照するはめになる。
bolCondition みたいにする命名規約があればいいけどね。
223仕様書無しさん:2006/10/29(日) 00:43:05
>>222
君はC言語をよく知らんのだろうな
224仕様書無しさん:2006/10/29(日) 00:46:57
>>222
普通ちゃんと変数名つけるでしょ。
bolなんてのじゃなくて、もっと自然なの。

isなんちゃら、とか if とつなげて文章みたくよめれば
逆に比較演算子無い方がいい。

それにさ、if(condition)ってなってたら定義をいちいち参照しなくても
boolean扱いして読めばいいんだな、って判るよな、普通。
225仕様書無しさん:2006/10/29(日) 00:51:54
2chですらTPOを弁えてない奴は、ニートが学生である。
226仕様書無しさん:2006/10/29(日) 01:09:22
C言語では TRUE との比較は避けるべきコーディングてのが常識だろう
227仕様書無しさん:2006/10/29(日) 02:45:15
>>226
0:偽
その他:真
だからってこと?

おれ普通に
if(fFlg == true){
if(fFlg == false){
とも使っちゃってるや。フローの流れ的に意味通ればいいかな、と。
228仕様書無しさん:2006/10/29(日) 03:24:53
論理型定数との比較自体がナンセンス。
229仕様書無しさん:2006/10/29(日) 03:55:53
>227
かなりダメ
230仕様書無しさん:2006/10/29(日) 04:52:53
>>74
初めて知った。住商アホだろwww
231仕様書無しさん:2006/10/29(日) 09:38:55
>>226
Cじゃなくて、論理値にtrueとfalseしか使えない言語だったらおkだろ?
232仕様書無しさん:2006/10/29(日) 09:51:12
>>230
でもほとんどのPJで仕事量=ライン数という感じだよな。
ソフ開で開発工数の求め方とか勉強したけど、
現場では全然使わないな。

233仕様書無しさん:2006/10/29(日) 09:52:32
>>217
最適化で *2 ってなっちゃいますかね?
それが怖いなぁと思ってんですが。

いちお、いまの環境では意図どおりに
計算されてたのは確認したんだけど。
234仕様書無しさん:2006/10/29(日) 10:21:36
C言語で
if( foo = func()[6] )
{
//色々fooをつかっったやつ
}
とかってのは駄目?。後輩に何やってるかわからねぇと言われた。
あげくの果てに==の間違いかと思って修正したとかorz。
Cだと0以外って認識なんだけどなぁ。
235仕様書無しさん:2006/10/29(日) 10:27:21
関数呼び出しを条件部分で使うのは可読性下がるかなぁ、と。
if(nRet = func()){
}
はおれ
nRet = func();
if(nRet != 0){
}
にするけど。
236仕様書無しさん:2006/10/29(日) 10:29:31
>>234
誤解や難読の元だと分かっただろう。
何を失うわけでもないのだから、代入と判定は分けておけ。
237仕様書無しさん:2006/10/29(日) 11:15:31
>>207
それって目立?おっき?多分どっちかだったと思うけど。
漏れも最初にそれ見たとき変ってるなぁとおもた。

けど、goto 禁止なら結構妥当ではと思うよ。
238仕様書無しさん:2006/10/29(日) 12:27:40
>>232
いわゆる「ステップ数(w)」というヤツですな。
最近はFでもあんま聴かないけどw
239仕様書無しさん:2006/10/29(日) 14:09:35
>>238
内部というかチェック部隊はステップ数しかわからないが、
現場の人たちはみんなそれぞれ工数偽装ツールを持っているので
金額から逆算できるステップ数で報告しとくと何の問題もない

チェック部門が毎年の様に色々な物を変えてくるけど
チェックをしてるメンバーの頭の出来<メンドクサイと思って適当な報告をする為のツール(工数偽装ツール)
なので、いつまでたってもトラブルプロジェクトを事前にぬき出す事が出来ない
240仕様書無しさん:2006/10/29(日) 16:07:04
>>239
俺はコレクションや制御文の数が極端に少ないVBコードのメンテをしたことがあるが、
それはもしかして、ステップ数稼ぎの為の展開パーサか何かをかまされた後なのか…?
241仕様書無しさん:2006/10/29(日) 16:16:49
かなり昔、民営化した某企業の仕事やったとき
コーディング開始早々にプログラムリストを印刷して提出するように言われた
で、出来てる分出したら少ないと文句言われて同じものを3部出して提出したw
242仕様書無しさん:2006/10/29(日) 16:42:12
>>241
同じの3つコピペして2つコメントアウトしときゃコンパイルも通る。
印刷物ならわかるまい。
243仕様書無しさん:2006/10/29(日) 17:43:15
パンチカード時代から技術を研鑚し合ってきた紙上デバッグ部隊が控えている可能性は
244仕様書無しさん:2006/10/29(日) 17:55:16
>>222
conditionがbool相当の型以外でも良いのってC/C++くらいじゃないの?.NET対応言語だと。
24574:2006/10/29(日) 18:01:49
>>230
ちょっと調べてみたら、情報古かったみたいね。
http://e-words.jp/w/Curl.html
「ソースコード1KB当たり0.0005ドル」といった課金体系などが敬遠され、(中略)
その後、課金方式がサーバ単位や企業単位などに変更(後略)
246仕様書無しさん:2006/10/29(日) 18:23:00
>>241
お役所系は結構そういう話があったらしいね。
印刷されたプログラムリストの「厚さと重さがキモ!」のような。
247仕様書無しさん:2006/10/29(日) 18:28:01
>>245
従量課金性が蔓延したら・・・
ローカルスコープの変数、メソッド名等は全て一文字。
保守性を担保する為に「台帳」の復活。意味のある名前を付けるときには申請/許可が必要。
文字列はアルファベットか半角カナ。
ジェネリック(テンプレート)超推奨。

とかになるんだろうか…w
248仕様書無しさん:2006/10/29(日) 20:14:47
逝けてるといったらコレだな。
.NETの恩恵に浸りすぎたVB厨の英知の結晶。

全メソッドにtry〜catch〜finally〜
http://pc8.2ch.net/test/read.cgi/tech/1161229625/
249仕様書無しさん:2006/10/29(日) 20:33:27
>>235のようにしろ!というルールあったよ・・・
if ( func() == hoge ){
}
は駄目で
tmp = func();
if ( tmp == hoge ){
}
ってことね。

まあステップ数(=申告規模)増える点はメリットっちゃあメリットだが・・・
250仕様書無しさん:2006/10/29(日) 20:47:53
>>249
それは >>235 とは違うだろ
251仕様書無しさん:2006/10/29(日) 21:36:16
どう見ても違うとおも
252仕様書無しさん:2006/10/30(月) 01:30:30
>>234
警告レベルあげると警告がでるコンパイラも多いと思う。
253仕様書無しさん:2006/10/30(月) 13:08:20
>>233
ならないならない。7で割った値の整数部掛ける14になる。
そうじゃなかったらコンパイラのバグ。
254仕様書無しさん:2006/10/30(月) 13:15:37
> 7で割った値の整数部掛ける14
うへ、じゃあ

1.1258*14=14.1258

とかそんな計算がまかり通るのか
255仕様書無しさん:2006/10/30(月) 13:31:34
C の整数の演算で /7 * 14 が 2倍とは異なるなんてのは
基本中の基本なわけで、これを禁止にしてるのって何が理由何だろう・・・

ドキュメントは全部ひらがなで書くとか、そんな会社か?

>1.1258*14=14.1258
整数部だけ掛け算したあとで少数部を加えるのか・・・
これどんな独自言語処理系?
256仕様書無しさん:2006/10/30(月) 17:25:08
キャストは明示しようね^^
257仕様書無しさん:2006/10/30(月) 19:00:38
>>255
>C の整数の演算で /7 * 14 が 2倍とは異なるなんてのは
>基本中の基本なわけで、これを禁止にしてるのって何が理由何だろう・・・

直感に反するからじゃね?
残業続きなら間違えそうではある。
258仕様書無しさん:2006/10/30(月) 19:03:21
>>256
char *str;
str = (char *)malloc(256);

とかか? 逝けてるね。
259仕様書無しさん:2006/10/30(月) 23:15:32
>>258
それ C++ では必要になる。ソース変更していいんなら new char[256] とするところだけど。
260仕様書無しさん:2006/10/30(月) 23:43:34
>>258のどこが悪いのかわからない俺は逝けてるに違いない
261仕様書無しさん:2006/10/30(月) 23:50:48
優先順位で悩むくらいなら括弧つけろよ
262仕様書無しさん:2006/10/31(火) 01:00:25
未来永劫一言語しか使わないつもりの会社なら言語に依存したコーディングルールにして置くって手も有るな
263仕様書無しさん:2006/10/31(火) 01:05:39
>>258
昔から

char *pszStr = NULL;

pszStr = malloc(sizeof(char) * 256);
if(pszStr == NULL){

}

ってな書き方してる。昔はcharのサイズが変わるんじゃね?って言われてたんだよね。
たしかにJavaじゃ変わったが。
264仕様書無しさん:2006/10/31(火) 01:08:47
>>262
ちなみにとりあえず今は言語覚えたくない、分からない、勉強する気ない、
ってCの開発を避けてVBに固執してる若い奴が、
「いい迷惑」「まわりのやる気をうばう」って理由でほされる事になりそう。

1言語のスーパープロフェッショナルってならともかく、
たかだか数年しかキャリアのない奴が、「それ分かりません、やりません」とか
えらそうなこと言うなと。おまえら知らないことだらけだろ、今が覚えるフェーズだろ、と。
265263:2006/10/31(火) 01:09:35
しまった、キャスト忘れた。
char *pszStr = NULL;

pszStr = (char *)malloc(sizeof(char) * 256);
if(pszStr == NULL){

}

ね。VCとかではエラーになる。
266仕様書無しさん:2006/10/31(火) 01:13:44
>>265
> VCとかではエラーになる。
なんで?知らずに C++ 使ってるだけじゃねーの?
267仕様書無しさん:2006/10/31(火) 01:18:30
>>266
もち拡張子は.cppだよ。
だってCString使うもの。重くたっていいじゃない。便利だもの。

完全Cでの開発って10年前の最初の1年くらいだった。
その後はオブ指抜きのC&C++って感じの開発が十年続いたノサ。
268仕様書無しさん:2006/10/31(火) 01:26:13
>>265
C++ なら new char[256] だろ。
もしかして new のことを「オブ指」って言ってんの?
C++ と VC を混同してるあたりもヤバイな。
269265:2006/10/31(火) 01:49:51
>>268
C++とVC、混同、ねぇ(ずっとVCだからしてるかも知れないねぇ。)。
オレ的には、例外嫌いなんだ・・・ただ、それだけ。

ret = func();
if(ret == x){
// エラー発生

}

エラーハンドルは処理のすぐ後で、それがおれのポリシー


ってか、PGって揚げ足取りだなぁ。まぁ、おれも似たようなもんだけど。
270仕様書無しさん:2006/10/31(火) 01:55:33
>>269
例外嫌い? CString はいいのかオッサン?
271仕様書無しさん:2006/10/31(火) 01:56:38
CStringの例外は見てない、許してくれ。
オッサンは無精なんだよ。

平気でCStringに500MBとか持たせるけどな。
272仕様書無しさん:2006/10/31(火) 01:59:24
・・・・
273仕様書無しさん:2006/10/31(火) 02:00:04
>>271
無精なら new して例外無視しとけよ。
ダブルスタンダードしね。
274仕様書無しさん:2006/10/31(火) 02:03:54
嫌いっていうか新しいパラダイムに適応できてないだけでしょ
言い訳みっともない
275仕様書無しさん:2006/10/31(火) 08:00:54
一緒に仕事したくない。。
276仕様書無しさん:2006/10/31(火) 19:29:06
>>265
pszStr の初期化いらねぇんじゃね?
...と重箱の隅をつついてみる。

しかし sizeof( char ) は使った事無いなぁ。
char が1バイトではなくなったら...1バイト単位の処理はどうするんだ?
277仕様書無しさん:2006/10/31(火) 20:07:46
>>255
そもそも7で割る事が禁止って仕事もある。
それ以前に割り算禁止、掛け算禁止ってこともある。
計算は、足し算と引き算(引き算は補数でやることも)、
あとはビットシフトのみ。
あと計算した結果が常に同じならば、
それはその結果を代入して、よけいな計算をして処理が遅くなるのを防ぐ。
例えば
a=b+(1+2)/3*4なんてのをコードに書くのは御法度。

シビアな組み込み系だと、
秒単位で動作する機器に対して0.0何μ秒単位の誤差オーダーを求められる事もある。
同期を取るために、アセンブラに落として、一命令の処理時間を計算して
合わないときはnopでサイクル数をあわせて同期を取るってこともある。

って、もしかして話しがずれてる?
27869式フリーPG ◆hND3Lufios :2006/10/31(火) 20:22:53
>>276

俺は結構sizeof(char)って書き方するよ。
279仕様書無しさん:2006/10/31(火) 20:29:00
そうですか。で?
280仕様書無しさん:2006/10/31(火) 20:48:01
ずれまくりだし、そこまでシビアならはじめからアセンブラで書くだろw
281仕様書無しさん:2006/10/31(火) 20:52:04
なんかZ80あたりでRTOSすら使わない組込系のお話?
C言語なんか使うなよw
282仕様書無しさん:2006/10/31(火) 20:54:49
>>276
1バイト単位の処理なら(size_t)1を使えばいい
でも本当にそれは1バイト単位の処理なのか?char1つ分を単位にした処理ではないのか?
283仕様書無しさん:2006/10/31(火) 21:32:07
一度、組み込みの快感にはまるともう抜けられない。
284仕様書無しさん:2006/10/31(火) 22:34:30
それを「組み込まれた」という。
285仕様書無しさん:2006/10/31(火) 23:19:32
誰が上手い事を言えとwww
286仕様書無しさん:2006/10/31(火) 23:21:14
>>279
C では、char 型はそのビット数によらず常に sizeof(char) == 1 であるってのを
どこかで読んだことがあるような記憶があるんだが。記憶違い?
287286:2006/10/31(火) 23:21:57
>>278 だった。
288286:2006/10/31(火) 23:29:22
自己レス。C FAQ だった。

ttp://www.kouno.jp/home/c_faq/c7.html
289仕様書無しさん:2006/10/31(火) 23:32:31
一人で騒がしい奴って居るよな
29069式フリーPG ◆hND3Lufios :2006/10/31(火) 23:32:34
ほんじゃsizeof(wchar_t)は必ず2になるの?
291仕様書無しさん:2006/10/31(火) 23:34:48
自分で調べろアホ
292仕様書無しさん:2006/10/31(火) 23:37:08
爺氏ね
293仕様書無しさん:2006/11/01(水) 01:11:53
>>282
必要なのは char 1 つ分の処理ではあるから1Byte単位にこだわる必要はないか。
でも、char が2Byteになる時には殆どの既存コードが動かなくなる様な気がするので
sizeof( char ) はコードの厳格さに関する自己満足レベルの話でしかないのでは?

>>290
wchar_t とか DWORD とかは勝手に typedef してるだけだから「必ず」ではないだろ。
char と同列に語るべきではないと思う。
294仕様書無しさん:2006/11/01(水) 02:15:36
>>290
sizeof(char) が 1 である理由を確認して考え直せ。
295仕様書無しさん:2006/11/01(水) 06:50:43
char=6bit
ward=24bit
な、変態環境も世の中にはある。
29669式フリーPG ◆hND3Lufios :2006/11/01(水) 08:52:18
sizeof(TCHAR)は必要だよな?な?
297仕様書無しさん:2006/11/01(水) 10:28:10
爺は巣に帰れ
298仕様書無しさん:2006/11/01(水) 11:17:46
wardなんて型はしらんな
それにcharが6bitでもsizeof(char)は1を返すんじゃないの
299仕様書無しさん:2006/11/01(水) 11:34:50
この糞コテアホなん?
300仕様書無しさん:2006/11/01(水) 22:30:32
>>298
×ward
○word
すまんな。

Cがどう実装されてるかは知らんが、アセンブラレベルでwordアクセスしかなく
1word=3charな変態CPUだ。
301仕様書無しさん:2006/11/03(金) 23:58:43
WORD懐かしいっす。
302仕様書無しさん:2006/11/04(土) 00:00:54
わーどうしょう
303仕様書無しさん:2006/11/04(土) 00:21:19
電源を入れるときは周辺機器から。
304仕様書無しさん:2006/11/04(土) 00:39:51
インデントは半角スペース4文字TAB使うな。
305仕様書無しさん:2006/11/04(土) 01:01:29
>>304
そんなに嫌か?
306仕様書無しさん:2006/11/04(土) 03:21:47
CHAT_BIT
307仕様書無しさん:2006/11/04(土) 12:27:48
>>305
スペースインデントは腹を切って死ぬべきだ。
308仕様書無しさん:2006/11/04(土) 14:01:15
あとで、置換出来るメリットからTAB派
309仕様書無しさん:2006/11/04(土) 14:57:19
タブだとソフトごとに表示結果変わるだろ。
タブインデントこそ腹を切って死ぬべきだ。
310仕様書無しさん:2006/11/04(土) 15:12:23
置換すりゃええだろアホか
311仕様書無しさん:2006/11/04(土) 15:45:46
スペースだとカーソルの移動でキーを押す回数が多くてイライラする。
31269式フリーPG ◆hND3Lufios :2006/11/04(土) 15:52:20
そんなときはctrl+カーソル
313仕様書無しさん:2006/11/04(土) 16:07:29
コテってアホばっかか
314仕様書無しさん:2006/11/04(土) 16:16:56
>>313

ん? いや、普通にctl+カーソルで飛んでいくけど・・・
315仕様書無しさん:2006/11/04(土) 16:23:16
オプソのソースはスペースタブが常識。
タブじゃないとダメとか言ってるのは日本固有の業務系ドカタか携帯ドカタ。
316仕様書無しさん:2006/11/04(土) 16:30:19
                 ____
               /      \
                | ─    ─ |
               | (●)  (●)|  
               |\(__人__)/|  常識的、と君は言うがな?
                \ |` ⌒´ | /  自分のいう常識が、必ずしも他人の常識と同じであるとはかぎらない。
                / 丶'  ヽ:::::  常識とは人の数だけ存在するのだよ。
               / ヽ    / /::::  これはどのような物事にもいえることだ。
              / /へ ヘ/ /:::::  例えば善悪。何が善で、なにが悪かなんてしょせんは人が決めたこと。
              / \ ヾミ  /|:::   必ずしもそれが絶対とは限らない。
             (__/| \___ノ/:::::::  ニーチェも「一切は許されている」って言ってるしね。
                /    /::::::::   社会で言われている善悪はいわば相対的な善悪なんだよ、
                / y   ):::    常識だってそうさ、社会で言われている常識は相対的な常識でしかない。
               / /  /::::    ならば絶対的な「それら」はどこにあるのか?
             /  /::::       それは個人の中に存在する、つまり人の数だけ「それら」はあるんだよ。
            /  /:::::        突然こんなことを言われても理解できないかもしれないが、
          (  く::::::::          きっと君にもわかる日がやってくる。
           |\  ヽ:::::         「真実は常に君と共に。」
            |  .|\ \ :::::       自分を信じて生きるんだ。
      \    .|  .i::: \ ⌒i::
       \   | /::::   ヽ 〈::
          \ | i::::::   (__ノ:
         __ノ  ):::::
         (_,,/
317仕様書無しさん:2006/11/04(土) 16:32:20
とりあえず、GNUのサイトから適当にダウソしてソースをみてみろ。
318仕様書無しさん:2006/11/04(土) 16:32:42
オプソのソースはスペースタブが主流。
タブじゃないとダメとか言ってるのは日本固有の業務系ドカタか携帯ドカタ。
319仕様書無しさん:2006/11/04(土) 16:33:30
Delphiだと字下げは2文字が基本なのでスペース
320仕様書無しさん:2006/11/04(土) 16:33:37
インデントなんぞプロジェクトに合わせりゃ良いだけだって。
俺はわざわざコーディングルールにしなくても良いとは思うけど。
321仕様書無しさん:2006/11/04(土) 16:34:55
スペースインデント野郎は自分のインデント幅を
他人に押しつけたくてしようがないオナニー野郎なんだわ。
ホント腹を切ってしぬべきなのだわ。
32269式フリーPG ◆hND3Lufios :2006/11/04(土) 16:35:21
いや、MSのサンプルソースも殆んどスペースインデントだと思うな。
323仕様書無しさん:2006/11/04(土) 16:37:31
アホコテ氏ね
324仕様書無しさん:2006/11/04(土) 16:38:34
どうでもいんでんと
325仕様書無しさん:2006/11/04(土) 16:44:17
オプソがスペースなのは当たり前だろ・・・
気をつかってんだよ。
326仕様書無しさん:2006/11/04(土) 16:47:44
はあ?スペースなんて有り得ないな。
327仕様書無しさん:2006/11/04(土) 16:49:32
常識の無いドカタだな。
328仕様書無しさん:2006/11/04(土) 16:54:17
>>319
とりあえずDelphiってインデントが2文字なの?

というよりも、Delphiって専用のIDEがあるの?
329仕様書無しさん:2006/11/04(土) 16:56:49
過去にあったかもしれませんが、今は終わってます。
330仕様書無しさん:2006/11/04(土) 17:11:26
>>328
Delphiの前身のTurboPascalがIDEのはしりなんだよ
331仕様書無しさん:2006/11/04(土) 18:01:35
Delphi 買ったことあったなぁ
Versionすら忘れたけど
ほとんど使ってないから
332仕様書無しさん:2006/11/04(土) 19:23:35
ツールで簡単に変換できるものはどうでもいい。
333仕様書無しさん:2006/11/04(土) 20:43:27
半角スペースでインデントされていると、カーソルの移動が面倒くさい。
334仕様書無しさん:2006/11/04(土) 20:45:28
無限ループって怖くね?www
335仕様書無しさん:2006/11/04(土) 20:49:41
インデントと中括弧と命名規則は永遠の宗教論争だな。
336仕様書無しさん:2006/11/04(土) 21:12:38
はあ?インデントの度に1ないし3回もスペースバーをパンパンパンと叩くのか?
やめてくれ馬鹿馬鹿しい。
337仕様書無しさん:2006/11/04(土) 21:51:06
>>336
俺のキーボードはスペースキーがでかいからな..
http://www.microsoft.com/japan/hardware/keyboard/natural_ergonomic4000.mspx
338仕様書無しさん:2006/11/04(土) 22:14:21
OSXだとタブが多いな。
339仕様書無しさん:2006/11/04(土) 23:36:05
>>336
タブの代わりに指定数のスペース入れてくれるエディタは結構多いと思うがな。
まぁタブが入力できなくなるが、そういう需要があるんだろ。
しかし例えばスペース4つの倍数と規定されてたら、
ミスって3つや7つにしちまいそうな気もする。
俺はタブの方が好きだ。
340仕様書無しさん:2006/11/04(土) 23:37:37
>>336
君のキーボードにはTABキーがついてないのかね
今時、オートインデント機能も無いエディタ使ってるの?
やめてくれ馬鹿馬鹿しい。
341仕様書無しさん:2006/11/04(土) 23:53:01
オートインデントは正直うざい
342仕様書無しさん:2006/11/04(土) 23:58:01
ど〜でもいいですよ〜
343仕様書無しさん:2006/11/05(日) 00:17:55
逝けてるコーディングガール
344仕様書無しさん:2006/11/05(日) 00:33:58
季節を先取りした木枯らしが・・・
345仕様書無しさん:2006/11/05(日) 09:08:43
オプソもコーディングしてるときはタブだろ。
cvsに上げるときにgnu indent掛けてるんだろ。
346仕様書無しさん:2006/11/05(日) 11:55:38
おまいemacs使ったことないだろ。
347仕様書無しさん:2006/11/05(日) 12:44:31
おまいemacsしか使ったことないだろ。
348仕様書無しさん:2006/11/05(日) 12:51:53
TABをスペースに自動変換する機能が無い糞エディタって何?
349仕様書無しさん:2006/11/05(日) 13:23:55
edlin
350仕様書無しさん:2006/11/05(日) 15:59:11
>>316
「真実は常に君以外と共に。」
だろ。
351仕様書無しさん:2006/11/05(日) 16:09:49
>>336が使ってるのは『メモ帳』です。
352仕様書無しさん:2006/11/05(日) 21:00:52
4タブと8タブがの奴が居るのが一番悩ましい。
置き換えは簡単だが、参照にファイルの変更を伴うのが苦痛だよ。

量子力学じゃあるまいし。
353仕様書無しさん:2006/11/05(日) 21:36:10
よくわからないけど、インデントが合っていないと困ることってあるの?
354仕様書無しさん:2006/11/05(日) 21:38:06
>>353
なんで、わかんないのにマ板にいるんだよw
355仕様書無しさん:2006/11/05(日) 21:39:01
>>354
>>353はスパゲティーメーカーなんだよwww
356仕様書無しさん:2006/11/05(日) 21:44:05
>>352
量子力学との関連はどう理解すればいいの?
357仕様書無しさん:2006/11/05(日) 21:46:17
インデントを決めとかないとPGがケンカするからですw
358仕様書無しさん:2006/11/05(日) 22:09:54
観測する事で波動関数が収束することを、むりやりこじつけたかったのだろww
バカが。
359仕様書無しさん:2006/11/05(日) 22:15:46
結局インデントがタブだろうがスペースだろうが4文字だろうが8文字だろうが
現場で統一されてればそれでいいんだよ
360仕様書無しさん:2006/11/05(日) 22:54:26
PGならゴチャゴチャ言ってねーで変換プログラムくらい作れやー
361352:2006/11/05(日) 23:10:18
>>358
そのとおり。
観測するという行為自体が観測対象に影響を与えるって言いたかった。

>>356
そういうこった。
362仕様書無しさん:2006/11/05(日) 23:12:32
>>361
「バカが。」っていわれてるんでちゅよ(´・ω・)
363仕様書無しさん:2006/11/05(日) 23:36:09
>>362
自覚してるってことでそw
364仕様書無しさん:2006/11/06(月) 00:30:59
>>361
それって何?

ハイゼンベルクのなんちゃら原理?
コペンハーゲン解釈?
365仕様書無しさん:2006/11/06(月) 00:35:47
シュレディンガー音頭
366仕様書無しさん:2006/11/06(月) 00:58:21
箱の中の猫?
367仕様書無しさん:2006/11/06(月) 01:00:52
踊っているか、踊っていないか、それとも
368仕様書無しさん:2006/11/06(月) 02:03:51
箱を開けたはずのシュレディンガーが、
箱の中に入っている!!
369仕様書無しさん:2006/11/06(月) 09:44:59
死んでるとか死んでないとかじゃない、
もっと恐ろしい物の片鱗を味わったぜ
370仕様書無しさん:2006/11/06(月) 09:57:53
>>369
kwsk
371仕様書無しさん:2006/11/06(月) 12:35:41
ここでいつものAA登場
372仕様書無しさん:2006/11/06(月) 12:50:54
   ∩___∩
   | ノ      ヽ
  /  ●   ● | 
  |    ( _●_)  ミ   これですか?わかりません><
 彡、   |∪|  、`\
/ __  ヽノ /´>  )
(___)   / (_/
 |       /
 |  /\ \
 | /    )  )
 ∪    (  \
       \_)
373仕様書無しさん:2006/11/06(月) 23:25:21
ガスを充満させた箱の中に(ry
374仕様書無しさん:2006/11/06(月) 23:48:35
・ソースコードのインデントを自動整形してくれる。
・ハードタブ(TAB)をソフトタブ(半角スペース)に変換してくれる。
・ソフトタブの半角スペース数を設定できる。

ソースコードを書くエディタには、やはりこれは欲しい機能ですね。
375仕様書無しさん:2006/11/06(月) 23:49:40
上記3点を満たしているエディタやIDE、満たしていないエディタ、IDEを報告してください。
376仕様書無しさん:2006/11/06(月) 23:57:35
クラスの初期化ロジックを別ファイル(ヘルパクラス)に分けて
記述しなければならないというルールがあって参った。
初期化の中でクラスのメソッドやフィールドを呼ぶので
軒並みpublicにしなければならないという・・・
377仕様書無しさん:2006/11/07(火) 00:16:33
>>376
そのルールのメリットは?
378仕様書無しさん:2006/11/07(火) 00:48:29
>>376
この糞ルールのために、MSはPartialクラスを実装したに違いない!!!!





つか、そのルール作ったやつ死ねよ
379仕様書無しさん:2006/11/07(火) 01:19:13
まあシュレーディンガーの猫がなんのことか知りたいのなら
これを読めって話だ。
http://gazouko.tripod.com/img/dora/dora1.html
380仕様書無しさん:2006/11/07(火) 15:56:19
viの整形に逆らうな
381仕様書無しさん:2006/11/07(火) 21:47:02
美の成形か。
382仕様書無しさん:2006/11/08(水) 01:28:23
geditの日本語入力まわりの不具合をなんとかしてください。
vi嫌いなのにviで入力なんて・・・
イマックスはよー分からん。
383仕様書無しさん:2006/11/08(水) 23:41:35
今ックス
384仕様書無しさん:2006/11/08(水) 23:48:58
emacs最高!!
385仕様書無しさん:2006/11/09(木) 01:04:44
Tabだなぁ。
Tabはインデント、スペースは構文上の区切りという規約にしてる。
インデントの規約は「○○は1インデント、××は2インデント」とかで決めてるから特に困らないな。

インデントの幅は見た目の問題なんだから、見る側が好みに合わせて設定すりゃいい。
#と、HTML4+スタイルシートちっくな考え方をしている
386仕様書無しさん:2006/11/09(木) 19:01:44
387385:2006/11/09(木) 23:06:01
>>386
「見た目の問題なんだから、見る側が好みに合わせて設定すりゃいい」
とか書いてしまった俺には何の意味もないな。



Pで改行すんな
ULはインデント用のタグじゃねぇ
PにULやらOLやらTABLEやら突っ込むな
NOBRもTTも使うな
テーブルでレイアウトすんな コンチクショーヽ( `Д´)ノ



以上
388仕様書無しさん:2006/11/09(木) 23:50:37
>>385
テキストエディタの中だけならそれでいいんだけどね。
CUI のコマンドシェルや GUI のテキストコントロールなど、
標準でタブ幅の設定ができない箇所は多い。
タブを使わなければ、そんな箇所でも問題は起こらない。

標準で豊富なカスタマイズが可能になっている HTML と
同じ考え方は不適切だと思うね。
389仕様書無しさん:2006/11/10(金) 00:23:45
ノーブラ禁止
390385:2006/11/10(金) 00:28:06
>>388
>CUI のコマンドシェルやGUI のテキストコントロール
おまいはどこでコーディングしてんだ。
ソースコードの解析ツールとかgrepの結果とかの話か?


>標準で豊富なカスタマイズが可能になっている HTML と
>同じ考え方は不適切だと思うね。
別な意味を持っているものを、同じもので無理やり実現しようとしてることに違和感を感じるんだよな。
意味に合った要素を準備するのはHTMLに限らないと思うんだが。
HTMLだって昔はごっちゃだったのを整理したんだし、その辺を整理するのも悪くないと思う。

まぁ、プロジェクトで使ってるツールで不都合なことが多すぎって状況なら別にスペースでもいいんだけど…
391仕様書無しさん:2006/11/10(金) 11:34:01
開発中のソースはリポジトリに放り込んでおいたら
翌日にレポートが出来てて今日もいっぱい警告出てるって感じじゃないのか
392仕様書無しさん:2006/11/10(金) 20:37:25
>>387
> テーブルでレイアウトすんな コンチクショーヽ( `Д´)ノ

よくわかるんだけど、でもそれに代わるいいものがないんだよねぇ。
393仕様書無しさん:2006/11/10(金) 20:39:16
CSSでやりゃいいじゃん
394仕様書無しさん:2006/11/10(金) 22:24:50
古いブラウザ対応しなきゃならんとなるとCSS駄目。
395385:2006/11/10(金) 23:00:03
>392
> >>387
> よくわかるんだけど、でもそれに代わるいいものがないんだよねぇ。
386のサイトに関しては、「いっそ全部preで囲んでしまえ」とかと思うワケよ。
Pで改行してULでインデントしてTABLEで桁を揃えてんだからな。


>394
>古いブラウザ対応しなきゃならんとなるとCSS駄目。
テーブルレイアウトはケータイやPDAで見ると全部垂れ幕状態になって非常に見難い。
「見えればえ〜やん」ってスタンスなら、ちゃんとマークアップして
見た目はブラウザお任せな方がずっと汎用性が高い。
ちゃんとマークアップしてれば、フィルター作って各ブラウザ用に変換かけるのも楽だ。

素人が好きに作ってるページとかなら別にいいんだけど、技術屋がやってるのを見ると
「あぁ、ブラウザの差異を機械処理で吸収するとか頭にないんだなぁ」と思う。
396仕様書無しさん:2006/11/11(土) 00:02:06
エリクサー高えんだよ。
397仕様書無しさん:2006/11/11(土) 01:01:01
確かに!
見れればいいじゃんっつーなら
テーブルで整形なんてすんなつーはなしだな
398仕様書無しさん:2006/11/11(土) 01:07:12
>>395
業務でやるなら携帯とPCは完全に別扱いにするだろ。
どうせ別々のコンテンツ用意するんだから。

NN4.7に対応しなきゃならん場合でもフィルタ用意するのか?
そもそも数年前からメンテしてる場合だとCSSはまともに使えん。
かといって今風のやり方にするために顧客に金出させるわけにもいかん。

新規で最新環境のみの対応ならどんなに楽か。
399仕様書無しさん:2006/11/11(土) 01:17:21
すまん、業務じゃなくて「技術屋が個人で」か。
趣味にどれだけ時間裂けるかだな。
>>386のページは2000年だからこれでも普通だと思う。
オーサリングソフト使ったようにも見えるし。
400仕様書無しさん:2006/11/11(土) 03:26:50
NNのことは忘れろ!
401仕様書無しさん:2006/11/11(土) 03:45:11
今更NN4.7はないだろ・・・
常識的に考えて・・・
402仕様書無しさん:2006/11/11(土) 04:05:36
そんな危険なソフト使ってること自体が犯罪に近い
403仕様書無しさん:2006/11/11(土) 14:21:22
NN4.7対応を続けるところはいくらでもあるぞ。
http://www.google.co.jp/search?hl=ja&q=%E6%8E%A8%E5%A5%A8+Netscape+4.7&lr=
404仕様書無しさん:2006/11/11(土) 14:30:16
そいつらみんなばかばっか
405仕様書無しさん:2006/11/11(土) 14:42:38
>>385
Tabだと
1文を途中で折り返したいときに困るんだよなぁ
406仕様書無しさん:2006/11/11(土) 14:58:41
>>405
状況が想像できん。詳しく頼む。

おおかたヘボいエディタを使ってるか、
使い方を間違ってるだけなんだろうけど。
407仕様書無しさん:2006/11/11(土) 15:16:12
>>405
  スペースでも、
同じ
  ことが言えるん
じゃ
  ない?
408仕様書無しさん:2006/11/11(土) 15:43:46
つまり >>405 は、そもそもインデントしないということか。そりゃ逝けてるな。
409仕様書無しさん:2006/11/11(土) 16:47:16
お前ら馬鹿すぎ。
405が言いたいのは

Results results = HogeLogic.getResults(arg1
                         ,arg2
                         ,arg3
                         ,arg4
                         ,arg5);

って書きたいときにarg2以下がtabだと揃わないって事だと思う。
つーか、基本的にはtab使う奴なんて死んだ方がいい。
410仕様書無しさん:2006/11/11(土) 16:53:40
揃える必要性を感じない

どうしてもってならこれでいいじゃん揃うよ

Results results = HogeLogic.getResults(
              arg1
              ,arg2
              ,arg3
              ,arg4
              ,arg5);
411385:2006/11/11(土) 17:09:36
>398
業務の場合も含めてだけど…
ケータイで「も」見れることが大事なのだよ。
昔からのシステムを作り直せとは言わないけど。

>NN4.7に対応しなきゃならん場合でもフィルタ用意するのか?
テーブルレイアウトしか受け付けないようなブラウザには
テーブルレイアウトに変換した結果か素のHTMLを見せてりゃいいだろう。


>399
技術屋の「見た目より書いてあることが大事」的な思考には
正しいHTMLが一番適しているからな。
一番手がかからないぞ。
412仕様書無しさん:2006/11/11(土) 17:11:46
>>409
エディタんも整形がバカなだけだろ。
Tabとか言うレベルの話じゃない。
413仕様書無しさん:2006/11/11(土) 17:18:16
>>409
煽乙
414仕様書無しさん:2006/11/11(土) 19:36:51
>>409
途中までタブで以降スペースでインデントすれば。
俺は>>410の書き方だけど。
415仕様書無しさん:2006/11/11(土) 19:39:50
>>414
その非統一さがいやなんだろうが。

まぁ、Javaなら結局エクリプスのフォーマッタで一発なんだが。
416仕様書無しさん:2006/11/11(土) 19:56:36
>>415
失せろ。java糞。

IDEの話なんかしてないんだよ。
417仕様書無しさん:2006/11/11(土) 19:59:20
エクリプスはもはた業界標準のIDE。
使えない爺はさっさと引退しなよ。w
418仕様書無しさん:2006/11/11(土) 20:04:18
業界標準なのかよくわからんが、
エクリプスで多言語用のアドイン入れるくらいなら
絶対、秀○使う。

インテリセンスよりも打った方が早い。
419仕様書無しさん:2006/11/11(土) 22:01:02
>>393 >>395
たぶん意図がうまく伝わってないかな。
テキストの整形程度ならそりゃテーブルは使わないだろうが、
問題なのはサイト全体のデザインとしてのレイアウトを、テーブル
以外でうまくやる方法がないことだと思うよ。
<div>でposition:absoluteを使う方法はあるが、いちいち座標を
指定するのもなんだし、ソースを見てイメージが浮かばないし。
420仕様書無しさん:2006/11/11(土) 22:12:11
>>418
おれも秀○派。

ところでエクリプスの画面って2分割できないの?(プラグ印でもいいけど)。
標準状態ですごく使いにくいんだが・・・

VSがネ申に見える。
421仕様書無しさん:2006/11/11(土) 22:36:40
>>420
いや、VSは普通に神だろ。
今更MSに無用な反目を向ける阿呆は放置でよし。

で、2005がもう少し軽くなってくれたら嬉しいなぁ。
422仕様書無しさん:2006/11/11(土) 22:42:08
VSは基本的に重いことが問題なわけで
解決するどころかどんどん重くなってるようだが
423仕様書無しさん:2006/11/11(土) 22:44:54
エクリプスよりははるかにマシ。
42469式オサンクローン ◆4E1yVnBRhg :2006/11/11(土) 22:49:23
なんだなんだツール薀蓄ばかりのジャワ糞がここまで進出してきてるのか
425仕様書無しさん:2006/11/11(土) 22:54:46
>>421
あのさ、おまいさんがエディットしてるPrjは
ASP.NET VBかC#だろう。あれは多少重いな。しかしC/C++のPrjはスコスコと軽いぞ
426仕様書無しさん:2006/11/11(土) 23:00:43
>>425
>しかしC/C++のPrjはスコスコと軽いぞ
ウソツキ...
427仕様書無しさん:2006/11/11(土) 23:04:43
スマンスマン漏れのは2003だったよ
428仕様書無しさん:2006/11/11(土) 23:07:46
>>427
それもManagedC++を触るとえらく時間かかるようにならん?
デバグとか。
429385:2006/11/11(土) 23:38:02
>419
大丈夫言いたいことはちゃんと分かってる。
>392 と >395はそれとあんま関係なく >386 のサイトに関してのコメントだ。
2000年だそうだし、しょうがないけど。

>問題なのはサイト全体のデザインとしてのレイアウトを、テーブル
>以外でうまくやる方法がないことだと思うよ。
おれもCSSにレイアウトマネージャがあると嬉しいけど、
その理由でHTMLにテーブルを入れるのは安直すぎるぞ。

データと見た目を分けることに意味があるんだよ。
それを混ぜると上手くいかないことが今までの経験で
分かったからHTML+CSSな流れになったんだろうに。
何でわざわざ同じ轍を踏みに行く?
430仕様書無しさん:2006/11/11(土) 23:52:08
>428
漏れはアンマネージ専だからわからん
スマソ
431仕様書無しさん:2006/11/11(土) 23:53:05
>>385
の語り口はおじゃばかw
432仕様書無しさん:2006/11/12(日) 02:19:05
KDevelop使ってのは俺だけ?
433仕様書無しさん:2006/11/12(日) 02:30:10
さけてるコーディングルール
if文には必ず、{} を付ける
434仕様書無しさん:2006/11/12(日) 15:03:38
>>419
テーブルタグ使ったら、座標の指定や幅の指定がいらなくなるのか?
435仕様書無しさん:2006/11/13(月) 00:13:14
>>410
いい例が思いつかないが...
     if(
   XX == YY ||
   ....)
     {
とか。
436仕様書無しさん:2006/11/13(月) 00:20:47
意味和漢ね
437仕様書無しさん:2006/11/13(月) 07:55:25
if (NULL == *pStr)
return;

じゃなくて

if (NULL == *pStr) {
return;
}

って事だろ。俺は後者派。
前者は新しく処理くわえた時、不具合出やすいからな
438仕様書無しさん:2006/11/13(月) 08:06:03
>>437
っていう主張も多いんだけど、ルールにして
他人に押し付けるほどじゃないんじゃね?
と思ってしまう。

特に俺って
if ( a == 0 )
{
  return;
}

っていうコーディングスタイルだからなぁ。
439仕様書無しさん:2006/11/13(月) 08:13:33
つけるならどっちでもいいが、一行だから省くと時折いたいめに会うって事だよ
条件式で定数を前置にしろーと同一だな
440仕様書無しさん:2006/11/13(月) 10:52:42
きょう日のエディタ、開発環境には
ブロック範囲のガイド表示機能くらいついてる
441仕様書無しさん:2006/11/13(月) 11:43:30
中括弧問題をグダグダいう奴はModula2を使え
442仕様書無しさん:2006/11/13(月) 12:03:12
if ( a != 0 ) i++; j++

もちろんわかってて書いてますがなにか?;
443仕様書無しさん:2006/11/13(月) 12:03:50
;
444仕様書無しさん:2006/11/13(月) 12:46:26
自分がわかってるから良いとかエディタでどうのっていうなら
コーディングルールいらねーじゃん
なんの為のルールか考えろ
445仕様書無しさん:2006/11/13(月) 13:13:01
括弧を新しい行に書くのってどういう場合に有利なんだろ。
コーディング規約になってるのも多いけど。
446仕様書無しさん:2006/11/13(月) 13:44:42
pascalからの移行組の発想ではないか、と
思ったことがある。

if cond then
begin
 
end;

ちなみに、逆にCからdelphiに来た人で

if cond then begin
 
end;

なんて書いてた人がいたがこれは結構見づらかった。
447仕様書無しさん:2006/11/13(月) 14:11:02
>>444
コーディング規約にあれば従う
お前のところではifには必ず括弧付けろとあるんだろうが、
その項目がない規約もあり、だからあれこれスレで雑談してる
俺正義、お前の意見聞きたくも無いってんならシランがな

エディタや開発機能がシンプルだった頃と、
道具で補完できる今となら、規約が変わっても不思議じゃないと思うがね
448仕様書無しさん:2006/11/13(月) 14:45:16
同意。
逆に、定期的な改訂周期が存在しない規約なぞ糞だと思うのだ。
449仕様書無しさん:2006/11/13(月) 14:46:47
>>447
最近じゃ体裁に関するルールはxxxxのツールにyyyyなルールファイル使って整形しろだったりするな
450仕様書無しさん:2006/11/13(月) 17:59:29
あのさ
プログラムってなんだかンだ
直列回路じゃん

並列回路言語つくらないか?
451仕様書無しさん:2006/11/13(月) 18:38:11

おまえもしかして1970年代ぐらいで生活してるの?
21世紀に戻ってこいよ。
452仕様書無しさん:2006/11/13(月) 18:41:51
450はスレッドを知らない
453仕様書無しさん:2006/11/13(月) 20:28:26
>>445
インデントが分かりにくいというだけかと
454仕様書無しさん:2006/11/13(月) 21:40:25
>>446
if cond then begin

end;
こっちの方が(・∀・)イイ!!

っつうか、
if cond then
begin

end;
はステップ数水増しでつw
>>446
if cond then begin

end;
こっちの方が(・∀・)イイ!!

っつうか、
if cond then
begin

end;
はステップ数水増しでつw
455454:2006/11/13(月) 21:41:40
スマソ。チャタッタm(__)m
456仕様書無しさん:2006/11/13(月) 21:46:31
チャタ(・∀・)リング
457仕様書無しさん:2006/11/13(月) 22:23:42
>>454
で、ステップ数がどうしたの?
458仕様書無しさん:2006/11/13(月) 22:32:01
ふぅ。出るパイ。。。
459仕様書無しさん:2006/11/13(月) 23:39:26
おれわさ。

{
  ブロック内の処理
}


ついてるほうが好きなんだわ。


ただそれだけ。



埼玉も今週末あたり紅葉してるかな。
460仕様書無しさん:2006/11/14(火) 00:13:05
>>454
俺もそのコーディングスタイルなんだが、マイナーだな
俺の理由は、
・行数減らしたい
・C言語ではカーネルスタイルでコーディングしてる
・MODULA-2っぽい
461454:2006/11/14(火) 00:39:15
>>457
出鱈目にステップ数が1行無駄なんでつぉ〜。
457タソは、いまだにコーディングシートにφ(.. )カキカキでつかねぇ?
462仕様書無しさん:2006/11/14(火) 00:42:02
括弧の位置なんてどうでもよかろう。宗教みたいなもんだし
大事なのは全員が最後まで一貫して使うことだ
463仕様書無しさん:2006/11/14(火) 01:02:00
でも昔いたな、配列の初期化とかで、予備含めて添え字100くらいあるのを
ループとか使わずに100行書いてた。
彼曰く「ステップ数稼ぎだよ」「やってることは同じでしょ」「ループなんて使ったらもったいないじゃん」。
合ってるよな。間違いない。金になる考え方だ。

それでも、わかっていてもステップ数を減らしてしまおうとするのは何故なんだろう?
自分で自分の首を絞めているだけなのに。
ステップカウンタツールも自製他製問わず「空行、コメント行を省く」にチェックを付けてしまうのは何故なのか。
空行やコメント行にもソースの可読性向上には重要な意味があり、規約でも必須としているはずなのに。
納品前夜、終電見送って打ち込んだコメント行が、実績にならなくて良いのだろうか?
納品物に記入されるステップ数に、昨晩打ったコメント行はカウントされていない。
それでもやり遂げた充実感に満たされるのは何故なのだろう。
464仕様書無しさん:2006/11/14(火) 01:17:04
今時、ステップ数で評価されるプロジェクトなんかあるのか
まあ、あるんだろうなw
ホワイトスペース入れられる所すべてに改行入れとけよw
465仕様書無しさん:2006/11/14(火) 01:18:25
ステップ数でプログラムを評価しようというのが、そもそもナンセンス。
466仕様書無しさん:2006/11/14(火) 01:44:54
>>462
宗教みたいじゃないコーディングルールの方が少ないよ。
そこをあえて宗教論争して盛り上げないとここは。
467仕様書無しさん:2006/11/14(火) 02:14:20
>>464-465
俺はステップ数以外でやってるプロジェクトやったことないなぁ。
複雑さで係数かけるやり方とかあるけど、やっぱ客観性に乏しいんだろうね。
係数が恣意的になっちゃうから。
468463:2006/11/14(火) 02:24:37
よくよく考えたら10年前の話だわorz
そいつが会社辞めたのはその数年後だったな。
写真が趣味で、通勤途中で見かけた美人を撮っては見せてくれたのを思い出す。
この趣味も今じゃありえないな…
469仕様書無しさん:2006/11/14(火) 07:45:47
たまに面接で聞かれる。ステップ数どんだけ書いたかって。
そもそもステップ数ってなんだろ?
あと何行書いたかとか聞かれる(今までのトータルで)。
そんなの数えてないし。行数って大事なの?
Javaなら短い行でできたファイルを量産するって結構あるから
それ全部足して自己管理するのはめんどくさ。
470仕様書無しさん:2006/11/14(火) 08:25:38
>>463は文才あるな。
小説家に転職したらいいのに。
471仕様書無しさん:2006/11/14(火) 12:25:38
>>463
ステップ数は殺し屋に何人殺したことがある?って聞いてるようなものかな
その仕事場ではきっと重要なんだよ
472仕様書無しさん:2006/11/14(火) 21:00:27
貴様は今まで食べたパンの数を
473仕様書無しさん:2006/11/14(火) 22:07:23
音をあげさせてやる
パウッ
474仕様書無しさん:2006/11/16(木) 20:56:53
避けてるコーディングルール
再帰はつかうな
475仕様書無しさん:2006/11/16(木) 21:08:07
>>474
そんなの初めて聞いた。

なんでだろ?
476仕様書無しさん:2006/11/16(木) 21:31:24
つ[無限ループ]


ま、おれは使うんだけど。ディレクトリ階層の検索とかでね。
477仕様書無しさん:2006/11/16(木) 21:33:29
>>475
再帰やマルチスレッドを考慮できないバカは結構いる
478仕様書無しさん:2006/11/16(木) 23:09:49
>>475
単純に、スタックオーバーフローを避けるためだろ。
再起でスタックがどんどん積みあがって落ちる。

schemeみたいに末尾再起を正しく取り扱う言語を使ってたり
再起が浅いことが保障されてる場合ならいいけど
再起が深そうなときに使うのは少し怖い。
479仕様書無しさん:2006/11/16(木) 23:10:19
再起→再帰
でした。
480仕様書無しさん:2006/11/17(金) 11:59:57
昔のCOBOL/FORTRAN/BASICは再帰できない。
481仕様書無しさん:2006/11/17(金) 16:14:41
ここってネタスレじゃなかったの?
482仕様書無しさん:2006/11/17(金) 17:49:21
>>477
組み込みで再帰を使うのはバカ
483仕様書無しさん:2006/11/17(金) 18:42:53
プロセスのリサイクルって奴じゃなかったっけ?
484仕様書無しさん:2006/11/17(金) 19:45:18
>>482
つまり、
「Postscriptプリンタはバカ」
って言うことか?
485仕様書無しさん:2006/11/17(金) 21:07:48
>>484
実際それは言えてる
486仕様書無しさん:2006/11/18(土) 14:54:52
>>482
Postscriptプリンタが馬鹿なんじゃなくてPostscriptプリンタを作ろうと言い出した奴が馬鹿
487仕様書無しさん:2006/11/18(土) 15:00:59
>>486
それも言えてる
488仕様書無しさん:2006/11/23(木) 01:27:59
デバッグする時はまずバグの特定をして、そのバグを修正する。
何処がバグか不明なのに、
とりあえず、不具合を起こさないような動きをするように変更しるな。
489仕様書無しさん:2006/11/23(木) 07:18:55
if(str == null)
ってnullの比較するじゃん。でもnull代入のコーディングミスの危険性があるから
if(null == str)
と書くべきじゃないかと、ソースレビュー時にPLが問題視。nullチェックは後者が常識、前者では品質が保たれていない、だと。
全ソースをチェック、修正することになった。

もちろん、かなりのソースに関連があると思われたため、単体から試験をやり直すことにしよう、という話に。
すでに結合試験が始まっていたため俺は大反対したがPLの意志は固く、かなりのソースに修正が入り、試験もやり直し。
もともと遅れていた工程がもっと遅れた。遅れの理由はもちろん(?)、「PGのコーディングスキル不足」とかなんとか。

ちなみに結構最近の話。言語はJava。
490仕様書無しさん:2006/11/23(木) 07:54:42
そんなPL見捨ててしまいなさい。
491仕様書無しさん:2006/11/23(木) 09:48:02
>>489
同情します。
492仕様書無しさん:2006/11/23(木) 09:50:52
str = null とする馬鹿が多いのだなw
さすがジャワ糞の集合
493仕様書無しさん:2006/11/23(木) 10:00:38
null == strを代入とすると
null = str
nullにstrを代入できるのか?できたとしてnullだろう。
で、nullはtrueなのかfalseなのか?
494仕様書無しさん:2006/11/23(木) 10:01:17
>>489
おまいのようなPGしかいない、PLに同情するよ
495仕様書無しさん:2006/11/23(木) 10:59:06
>>493
if (str = null) と書いてあると、コンパイル時に「型が違う」と言われる
という解釈で良いのかな?
496仕様書無しさん:2006/11/23(木) 13:48:31
そんなのcheckstyleあたりで警告出せるだろ
コーディング完了基準にcheckstyleでのチェックで警告0ってのを入れれば大した手間にならないよ
497仕様書無しさん:2006/11/23(木) 14:08:08
if (str = null) ならコンパイルが通る。
if (null = str) ならコンパイルが通らない。→ミスが防げる。ってことよ。
498489:2006/11/23(木) 14:10:09
なんか理解してくれてないから自分でいうけど、
Javaだと if (str = null) はコンパイル通らんのよ・・。
499仕様書無しさん:2006/11/23(木) 14:19:15
ああ、確かにJavaは通らん。
気を利かせてくれてるんだろ。
500仕様書無しさん:2006/11/23(木) 14:23:27
そっかJAVAはif文の中身はブール型にならなきゃダメだったね。
501仕様書無しさん:2006/11/23(木) 15:26:55
C#とかも。
502仕様書無しさん:2006/11/23(木) 15:51:09
真偽値型を備えていて、なおかつifの条件式に
真偽値型以外が許される言語のほうがめずらしい。
503仕様書無しさん:2006/11/23(木) 16:24:05
つか、Cでも最近のコンパイラは条件式のとこに代入式が入ってたら警告出せるぞ。
504仕様書無しさん:2006/11/23(木) 17:00:47
>>503
ついでに数値型が入っていたときも警告出してほしい。
505仕様書無しさん:2006/11/23(木) 17:38:04
それがルールであるならばコード化作業着手以前に
周知すべき事項だろ。
PLの自己満足のために「ジャンケンあと出し」や「証文の出し遅れ」
を通してしまうとは。
「PMは何をしている?」と問いたいね
506仕様書無しさん:2006/11/23(木) 17:42:24
>>503
if( ret = func() )
の場合も警告出るの?
別に間違いでは無いと思うのだけど...俺は書かんけど。
507仕様書無しさん:2006/11/23(木) 18:05:59
>>506
だから「警告」なんだろ。エラーじゃなくて。
508仕様書無しさん:2006/11/23(木) 18:14:51
>>506
警告出ますよ。というか、出るようにできるというか、出ないようにもできるんだけど。
509仕様書無しさん:2006/11/23(木) 18:30:53
>>507 ワーニングで充分じゃんw
っつうか、ワーニング残しておくの??
510仕様書無しさん:2006/11/23(木) 18:35:14
まー確かに警告があると気持ち悪いわな
511仕様書無しさん:2006/11/23(木) 18:36:50
少なくとも全ソースチェックとやらは警告レベルを上げればC言語でも出来る。
もし、目視チェックしてるとしたらリアルバカだなw
512仕様書無しさん:2006/11/23(木) 18:38:36
>>509
問題なく消せるときは消しておく。 >>506 なら if((ret = func()) != 0) とか。
根拠の無いキャストが要るようなときは放置。
513仕様書無しさん:2006/11/23(木) 19:10:49
if ('\0' != p) {

なんて書き方をCでやる必要などまったく無い。

そんなのはコンパイラの警告機能が劣ってた80年代のまま脳味噌が停止した奴か、
古臭いコンパイラを強いられてるところだけ。
ましてやJavaでだなんてわけわかんね。
514仕様書無しさん:2006/11/23(木) 20:20:30
>>498
ますますわからん。じゃ、なぜそのPLはあえてそれを使おうとしてるの?
もう>>498のように説得してそれの修正をやめるべきだと思うけど。
つか、自分だったらそうする。
515仕様書無しさん:2006/11/23(木) 20:24:20
ついでにこういう無駄な修正はデグレや修正ミスの原因になるとかなんとかも
付け足す。
516仕様書無しさん:2006/11/23(木) 21:14:11
>>514
PLは、「ブール型」という概念を知らなくて、なおかつ、
C言語とJavaとで文法が違うってのを知らないんだろう。
517仕様書無しさん:2006/11/23(木) 21:24:25
親は子供の事を意識しない。
マジで親が子供のやる事にちょっかい出すと最悪な事になる。
C++の話だよ。
518仕様書無しさん:2006/11/23(木) 21:29:10
継承の話?
519仕様書無しさん:2006/11/23(木) 21:57:11
職場の話だろwwwwwwwww
520仕様書無しさん:2006/11/23(木) 22:13:27
いや、しがらみでうちに保守が回ってきた
よそが作ったC++のクソコードのことだな。きっと。
521仕様書無しさん:2006/11/23(木) 22:17:30
いやいや、うちの親会社のことだろう。
522仕様書無しさん:2006/11/23(木) 22:42:46
>>516
仮にそうだとしても、その程度のことを説明して納得させられない時点で
自業自得だと思う。
523仕様書無しさん:2006/11/23(木) 23:21:49
最も逝けてるコーディングルール。それは……何でもアリ

識別子の命名パターンだけをとっても
・GNUスタイル(get_foo_bar)とcamlCase(getFooBar)の混在
・ハンガリアンのようなものに則っていたり、いなかったり
・大文字で始まってるけどクラス名じゃない
・小文字で始まってるけどクラス名
・全部大文字だけど定数じゃない!
な調子。

こんなバーリトゥードの下、3〜4人で同じソースをつついてるから
10行毎に言語が変わっているように見える。
524仕様書無しさん:2006/11/23(木) 23:35:38
>>523
なかなか見どころがあるぢゃないか。
525仕様書無しさん:2006/11/23(木) 23:50:32
>>523
逝けてる以前にスタイルをバラバラにすること強要して
やってるんでなければルールとは言えないがな。
526仕様書無しさん:2006/11/24(金) 00:01:30
>>489
PLはジョエルのエッセイでも読んだんだろ。
527仕様書無しさん:2006/11/24(金) 08:10:25
ここって、フリーの人間が多いの?
最近の言語の補助に頼ってると環境が変わったとき痛い目みるんじゃね?
そういう事もあって、できる回避策はやっておくのに越したことはない。

個人で自宅環境しかないなら知らんが
528仕様書無しさん:2006/11/24(金) 09:11:36
>最近の言語の補助に頼ってると環境が変わったとき痛い目みるんじゃね?
こういうアホが紛れ込むと厄介だよな。マジで。
529仕様書無しさん:2006/11/24(金) 11:13:05
>>523
バーリトゥードにも禁じ手は有る。(頭突き、目潰し、急所)
『全部大文字だけど定数じゃない!』は目潰しくらいに当たらんか?
530仕様書無しさん:2006/11/25(土) 00:52:49
>>527
>環境が変わったとき痛い目みるんじゃね?
痛い目見ないように環境の方を変えろ。
機械ができることを人間がやってる方が馬鹿らしい。
531仕様書無しさん:2006/11/25(土) 02:31:51
>>529
それが通用しないのがこぼらーっすよ。
532仕様書無しさん:2006/11/25(土) 03:38:33
環境が無いなら作る。
それが出来るのが真のプログラマー。
533仕様書無しさん:2006/11/25(土) 12:02:51
まともな環境を使わせてくれないような仕事は
大抵デスるので受けなきゃいいんだよ


って部長に言いたい
534仕様書無しさん:2006/11/27(月) 00:02:58
>>436
if( の行は既にindent入ってて括弧の中で改行すると
if( と 条件 がずれる。
535仕様書無しさん:2006/11/30(木) 21:33:06
staticやめてくれ〜〜。
536仕様書無しさん:2006/11/30(木) 22:57:25
うむ。C + winのコールバックとか。
537仕様書無しさん:2006/12/01(金) 13:03:02
C++とかJAVAとかC#は、お節介すぎてなんかムカつく。
ファーム開発でプアな仕様の昔ながらのCクロスコンパイラを触るとホッとする。
538仕様書無しさん:2006/12/01(金) 13:35:46
リッチなアプリケーション作るのにC使うのも辛いだろう
539仕様書無しさん:2006/12/01(金) 20:05:15
C++はC互換じゃないのが痛い。
540仕様書無しさん:2006/12/02(土) 12:28:45
CからC++に移植すると結局分けの分からん事になるから
互換とかなくて良い。
541仕様書無しさん:2006/12/02(土) 12:30:06
馬鹿ほどこだわるCPP
馬鹿ほどえばりくさる「おじじぇくとすぃこう」w
542仕様書無しさん:2006/12/02(土) 12:35:01
とオブジェクト指向が判らない馬鹿が申しております。
543仕様書無しさん:2006/12/02(土) 12:36:21
まあ実際ほとんど構造化で書けるんだが
カプセル化はあったほうがいいな
544仕様書無しさん:2006/12/02(土) 12:52:04
オブジェクト指向がきちんとできる人だけで開発してるプロジェクトは問題ない。
オブジェクト指向が出来なくても構造化で全部やれる人だけで開発している場合も問題ない。
オブジェクト指向が出来る人とオブジェクト指向が出来ない人が混在して開発すると
悲惨な事になる。
545仕様書無しさん:2006/12/02(土) 15:27:03
staticって何で使ってはいけないの?
546仕様書無しさん:2006/12/02(土) 16:07:49
それがわからないなら使うな
必要なところでは使え
547仕様書無しさん:2006/12/02(土) 16:10:28
グローバル変数やスレッド共有変数と極めてよく似た性質を持っているから。
548仕様書無しさん:2006/12/02(土) 20:46:20
kwsk
549仕様書無しさん:2006/12/02(土) 20:50:02
staticやグローバルを否定する馬鹿は
業務アプリまたはディスクトッププログラマ
550仕様書無しさん:2006/12/02(土) 20:52:21
そりゃ低レベルは可読性よりも効率が要求されるからな
551仕様書無しさん:2006/12/02(土) 20:52:29
>>549
必要なところで使えって書いてあるのにwwwww

レス読まずに反射神経でレス書いたり、仕様書読まずにソースコード書いたり。
これからの季節、さぞ、デスマで大変だろうね。
552仕様書無しさん:2006/12/02(土) 20:55:40
>>551
だからいつも必要になる仕事をお前が知らないだけなんだよw
553仕様書無しさん:2006/12/02(土) 20:58:35
適材適所はauto変数だろうがstatic変数だろうが当たり前。
ついでにローカル変数かグローバル変数か、ファイル/クラスグローバル変数なのかも。

どこの領域に取られるか、スコープがどうなるか理解できないバカは
一番実害の少ないauto変数しか使わせないのがいいのかもな。

そういう奴は初期化を忘れそうだけど
554仕様書無しさん:2006/12/02(土) 20:59:29
>>552
すまん。
お前が、いつ日本に来たかは知らないが、読解可能な文章を書いてもらえないか?
意味がさっぱりわからん。
555仕様書無しさん:2006/12/02(土) 21:00:24
スコープ厨==オブジェクト宗教厨
556仕様書無しさん:2006/12/02(土) 21:02:17
ドカタのコードはスコープの防火壁で囲まないと危険でしょー。
最近はさらにJVMのプロセス境界で実行環境自体を囲むんだぜ。
それでも防火壁に激突した跡を残すけどな。
それを「ぬるぽ」という。
557仕様書無しさん:2006/12/02(土) 21:02:48
あらららら、ジャワ糞だったんだあwwww
なるほどー
558仕様書無しさん:2006/12/02(土) 21:04:07
>グローバル変数やスレッド共有変数と極めてよく似た性質を持っているから。


同期ぐらい普通に取れよwwww
カタワwwwww
559仕様書無しさん:2006/12/02(土) 21:06:18
ジャワ糞はシブイぜ

朝起きてコンビニ寄る。これは絶対外せない日課だ。なぜって?
PCに向かった時のおやつを購入するためだ。最近はうずらの燻製たまごがお気に入りだ。
もちろんコーヒも購入する。すたあばっくすブランドだ。ジャワが好きな俺って結構おしゃれなんだ。
すたあばっくすのコーヒの横にあるうずらの燻製たまごパッケージがまた絵になるんだなあ。
・・・俺ってシブイ(独り言)
560仕様書無しさん:2006/12/02(土) 21:11:31
キモヲタは訳のわからない語りが多いな
561仕様書無しさん:2006/12/02(土) 21:15:03
>>グローバル変数やスレッド共有変数と極めてよく似た性質を持っているから。


>同期ぐらい普通に取れよwwww
>カタワwwwww

それなに?っていうのがジャワ糞たんなのです
562仕様書無しさん:2006/12/02(土) 21:19:59
>同期ぐらい普通に取れよwwww
>カタワwwwww

最初は良くても
そういうのが重なってくるといずれ把握できなくなるだろ
563仕様書無しさん:2006/12/02(土) 21:23:02
その程度のドカタをかき集めて開発している現場もあるんですよ。ご理解いただきたいです。
564仕様書無しさん:2006/12/02(土) 21:55:02
静的というのが理解できないんだから仕方ないじゃない。
565仕様書無しさん:2006/12/02(土) 23:46:38
性的なら得意なんだけどな
566仕様書無しさん:2006/12/02(土) 23:47:39
自慢じゃないが性的というのは理解できる。
567仕様書無しさん:2006/12/02(土) 23:48:34
うへ、かぶった orz..
568仕様書無しさん:2006/12/02(土) 23:49:59
お前ら・・・ (あぶねえオレも同じレスするところだったぜ)
569仕様書無しさん:2006/12/03(日) 00:05:36
おれも・・
570仕様書無しさん:2006/12/03(日) 02:05:21
オレの職場では担当者がstaticを使わざるおえないって言って来た時は
どうしても使わなくっちゃならない理由をレビューで説明してもらう。
それで、皆で他に回避策はないか、必然性は妥当かを考えて、
それでOKが出て初めてstaticを使えるってことになる。

何かをstaticにしてしまうと、
そのstaticに引きずられて、その後で拡張される時に
他の場所もstaticにせざる終えないって可能性が出てくる。
そうなると、保守性を考慮して作ったクラスの構成に
例外的な処理(static関数など)が入り込んでしまって、保守性が低下してしまう。
それに、インンスタンス化前にstatic関数が呼び出せてしまったりするなど
(もともとそれが、目的なら良いが)、危険な状態が発生する。
571仕様書無しさん:2006/12/03(日) 02:07:42
オブジェクト指向をやたらと振りかざすヤツは確かに困る。
しかし、しかしだ、
開発環境で必要とされているにも関わらず
理解する努力もせずにオブジェクト指向なんかいらねえとか言ってるヤツは
マジで、一体どう扱えば良いのか分からん。
仕事で要求されているにもかかわらず、
技術を身につけようとしないのは
プログラマ以前の問題だと思う。
572仕様書無しさん:2006/12/03(日) 02:29:17
>>549
確かにWebアプリとか作っててセッションオブジェクトとか使うけど、
あれってグロ変に近いものがあるからね。

ってこと?
573仕様書無しさん:2006/12/03(日) 04:07:03
staticだめってやつはInteger.perseIntもつかうなよ?
574仕様書無しさん:2006/12/03(日) 06:37:30
へー。Javaってstaticもつかえないんだ。本当に糞言語なんだね。
575仕様書無しさん:2006/12/03(日) 09:07:06
物事には用途があるからな
576仕様書無しさん:2006/12/03(日) 10:17:22
Javaは動的に確保するのがスタンダード
577仕様書無しさん:2006/12/03(日) 11:08:37
>Javaは動的に確保するのがスタンダード
動的になにも考えず確保しつづけるジャワ糞(馬鹿)
そしてスレッドコンテキスト切り替えの最適化もろくにできない欠陥VMが
悲鳴をあげだし再起動。またメモリがどんづまったりスレッドでジャムると
再起動に時間がかかるんだよなあ。
578仕様書無しさん:2006/12/03(日) 12:35:44
C厨爺は巣に帰れよ。きもいから。
579仕様書無しさん:2006/12/03(日) 12:37:44
はい、感情論出ました。
580仕様書無しさん:2006/12/03(日) 12:40:56
言語なんて手段にすぎないのになぜ争うかなぁ・・・
ちょっと上の立場の奴から見たらおまえらLv低すぎだぞ、と。

JavaでもCでもPerlでもなんでも、目的(客の要望)を果たせればそれでいいと思うのだが・・・
まぁ、後の品管のためにもコーディングには凝るとしてだ。。
581仕様書無しさん:2006/12/03(日) 12:46:41
>>580
お前は一生COBOL以外使うな
582仕様書無しさん:2006/12/03(日) 13:01:45
ジャワ糞が業界をだめにする
583仕様書無しさん:2006/12/03(日) 13:05:11
COBOLを馬鹿にするな〜!

ってかCOBOLは知らないなぁ。とりあえず使う機会に出会わなかった。
584仕様書無しさん:2006/12/03(日) 13:08:22
確かに、言語にやたら拘るのもどうかと思うな。
ただ、ひとつの言語しかできないヤツは、死んでほしいとは思うけど。
585仕様書無しさん:2006/12/03(日) 13:18:44
Javaでstaticをつかいこなせないからって、Cでもstaticを使うなというのは基地外沙汰。
586仕様書無しさん:2006/12/03(日) 13:20:29
Cは小規模なプログラムを書くのに向いてるからいいんじゃね
587仕様書無しさん:2006/12/03(日) 13:22:14
チマチマと組み込みソフト書いてるんでしょ?
588仕様書無しさん:2006/12/03(日) 13:26:38
staticはレビューしないと使用禁止だなんてどれだけ低レベルな会社なんだぜ。
589仕様書無しさん:2006/12/03(日) 14:06:29
static使うとだめなんだぜ?

(笑)
590仕様書無しさん:2006/12/03(日) 14:09:40
OS/2で開発してたときだが
上位会社からデバッガ使用禁止と言われたことあるなあ
理由はそこの課長がデバッガの使い方知らないから
いや、まじでw
591仕様書無しさん:2006/12/03(日) 14:15:15
>staticはレビューしないと使用禁止だなんてどれだけ低レベルな会社なんだぜ。
そういう考え方をするヤツが、俺は分かってるから平気だと言いながら
バグを作り込むんだ。しかも自分が問題を発生させてる自覚もない。
592仕様書無しさん:2006/12/03(日) 14:26:22
saticの妥当性についてレビューするのは良い事だと思うけどなあ。
593仕様書無しさん:2006/12/03(日) 14:44:01
staticを使う理由があって、その理由が納得できるものであればgood.
でも、
「オブジェクト指向うぜ〜、カプセルかめんどくせ、デザインパターン分けわからん
鬱陶しいからstatic使ってでcみたいにやれば楽じゃね。」
ってのはbad.
594仕様書無しさん:2006/12/03(日) 14:53:28
なんじゃそりゃ
595仕様書無しさん:2006/12/03(日) 14:54:07
オブジェクト指向が分からないヤツは技術的に問題がある。
オブジェクト指向をやたらと振りかざすヤツは性格的に問題がある。
596仕様書無しさん:2006/12/03(日) 14:57:49
staticのことはもう良いよ。許してやろう。staticに罪はないんだ。
597仕様書無しさん:2006/12/03(日) 14:58:11
シングルトンだぜ?
598仕様書無しさん:2006/12/03(日) 15:24:34
マルチプルインスタンスの対語は
シングルトンインスタンスなの?
599仕様書無しさん:2006/12/03(日) 15:27:32
>>598 どっちも意味不明。
600仕様書無しさん:2006/12/03(日) 16:37:23
へーstatic使うとカプセル化できないんだー
601仕様書無しさん:2006/12/03(日) 16:40:10
>>600 お前はバカか?
602仕様書無しさん:2006/12/03(日) 17:17:45
>>600
唖然( ゚д゚)ポカーン
603仕様書無しさん:2006/12/03(日) 17:21:04
>>590
管理職がコーディングに手を出すってあたりがそもそも駄目っぽいよな。
技術についていく暇のない奴が技術に口を挟むなというのだ。
「プレイングマネージャ」とやらは本当に優れた万能選手にだけできること。
604仕様書無しさん:2006/12/03(日) 17:22:31
いや、まて>>600はシングルトンの事を言ってるのかもしれんぞ。
とりあえず、危険だから近づくな。
605仕様書無しさん:2006/12/03(日) 17:25:51
>>600
>へーstatic使うとカプセル化できないんだー
以外と出来ないよ。
606仕様書無しさん:2006/12/03(日) 17:27:17
>>600
君に足りないのはstaticへの愛だ。
607仕様書無しさん:2006/12/03(日) 17:35:53
Javaってstatic使うだけで破綻するんですか。
608仕様書無しさん:2006/12/03(日) 17:40:05
馬鹿か。お前。
609仕様書無しさん:2006/12/03(日) 17:57:10
道具は使い方次第で人を殺す凶器にもなる
610仕様書無しさん:2006/12/03(日) 17:58:09
やっべぇ>>600-608の流れに禿ワラ
611仕様書無しさん:2006/12/03(日) 18:03:46
>>609も面白いねえ
612仕様書無しさん:2006/12/03(日) 18:05:09
とりあえずstaticは使うな。
613仕様書無しさん:2006/12/03(日) 18:11:07
>>612
元に戻った。www
こうして喜劇は繰り返される。
614仕様書無しさん:2006/12/03(日) 18:11:47
final static で定数定義すんのは常套手段だべ。
615仕様書無しさん:2006/12/03(日) 18:29:39
staticでこんなに笑える日が来るなんて。www
616仕様書無しさん:2006/12/03(日) 19:02:45
どうして使っちゃいけないの
617仕様書無しさん:2006/12/03(日) 19:09:59
使っちゃいけないというか使う場所は限られてる気がするな
あとはバグのトレースが面倒とか
それはともかく変数名ローマ字は勘弁してくれ
618仕様書無しさん:2006/12/03(日) 19:24:19
はあ?なんでトレースが面倒になるんだよ。
619仕様書無しさん:2006/12/03(日) 19:28:40
>>618
面倒にならない方法があったら、むしろ教えてくれ。
620仕様書無しさん:2006/12/03(日) 19:29:59
Eclipseを使え。Eclipseがすべて解決してくれる。
バカは余計なことを考えず、与えられたものを使え。
621仕様書無しさん:2006/12/03(日) 19:34:30
↑なにやら天才様がお怒りになりあそばしてるようでございまする。
622仕様書無しさん:2006/12/03(日) 19:37:40
      / ̄ ̄ ̄ ̄ ̄ ̄ \
/⌒ヽ  / ''''''     ''''''   ヽ
|  /   | (●),   、(●)   |
| |   |    ,,ノ(、_, )ヽ、,,     |
| |   |    `-=ニ=- '      |      天才の>>620さまがお怒りじゃ!
| |   !     `ニニ´      .!      >>620さま怒りをお鎮めくださいじゃ。
| /    \ _______ /
| |    ////W\ヽヽヽヽ\
| |   ////WWWヽヽヽヽヽヽヽ
| |  ////WWWWヽヽヽヽヽヽヽ
E⊂////WWWWWヽヽヽヽヽヽヽ
E////         ヽヽヽヽヽヽヽ
| |  //WWWWWWWヽヽヽヽヽヽヽ
623仕様書無しさん:2006/12/03(日) 19:39:44
はあ?なんで変数名ローマ字が駄目なんだよ。
624仕様書無しさん:2006/12/03(日) 19:44:58
privateにしておけばstaticでも大丈夫。
625仕様書無しさん:2006/12/03(日) 20:07:23
>>623
>はあ?なんで変数名ローマ字が駄目なんだよ。
まじっすかwww
626仕様書無しさん:2006/12/03(日) 20:08:46
>>624
>privateにしておけばstaticでも大丈夫。
地味に面白い。w
627仕様書無しさん:2006/12/03(日) 20:11:26
ジャワ糞様が
スレを吉本喜劇に変えてくれました
628仕様書無しさん:2006/12/03(日) 20:12:45
C厨の成りすましとみた。
629仕様書無しさん:2006/12/03(日) 20:21:25
明日仕事だろ。歯磨きして寝ろ。
630仕様書無しさん:2006/12/03(日) 20:27:50
どうやら核心を突いてしまったようだ。
631仕様書無しさん:2006/12/03(日) 20:29:43
過去にもstatic談義が重くねスレで出たが
C/C++のstatic仕様と糞ジャワの仕様がまったく違うのを誰も指摘できなかった
ジャワ糞たちであった。アーメン
632仕様書無しさん:2006/12/03(日) 20:31:56
一番うざいのは、Java厨がJavaの知識でもってC/C++のソースを見て、

「何これ?なんでこんなstatic使ってるの?ププ」

ってのだな。
633仕様書無しさん:2006/12/03(日) 20:35:38
だからジャワ糞なのですよ
634仕様書無しさん:2006/12/03(日) 20:37:40
まあジャワ糞がいてくれるからマ板が面白くなる
これでいいんだけどね
635仕様書無しさん:2006/12/03(日) 20:38:28
C厨爺は巣に帰れよ。きもいから。
636仕様書無しさん:2006/12/03(日) 20:52:15
仲良く力を合わせれば良いのに
637仕様書無しさん:2006/12/03(日) 20:59:03
あわせても生まれるはパスタばかりかな
638仕様書無しさん:2006/12/03(日) 21:07:00
コーディングルールもクソもない。
Javaはクソ。
639仕様書無しさん:2006/12/03(日) 21:16:38
大辞泉より

ジャバ【Java】
米国サンマイクロシステムズ社が開発したインターネット用のプログラム言語。OS やパソコンの機種に関係なく動作することが可能で、動画や音声データ用のプログラムやインターネット対応のワープロなどのソフトを開発することができる。

くそ【×糞・×屎】
[名]
1 動物が、消化器で消化したあと、肛門から排出する食物のかす。大便。ふん。
:

...ぜんぜん違うじゃねぇかよ。
640仕様書無しさん:2006/12/03(日) 21:52:32
>>639 そうねぇw
64169式オサンクローン ◆4E1yVnBRhg :2006/12/03(日) 22:05:05
ジャワはマジ糞だなあ
642仕様書無しさん:2006/12/03(日) 22:13:24
なんか荒れそうになっても笑いがあっていい一日だったな。
643仕様書無しさん:2006/12/03(日) 22:16:11
ここは罵ると気持ちが落ち着く人達のスッドレですね
644仕様書無しさん:2006/12/03(日) 23:02:37
Javaを知らない俺にCとJavaのstaticの違いを詳しく
645仕様書無しさん:2006/12/03(日) 23:21:32
まぁ、C++の場合だと同じ意味合いでのstaticもあるんだけど、Cの場合は性的変態って、もとい静的変数っていうJavaにない別の文脈でも使われるってことだべか。
646仕様書無しさん:2006/12/03(日) 23:26:59
とりあえずおれは
・ 今のおれ(ちゃんと仕様にのっとって、不具合を生み出しにくい、リリース以降の障害もトレースしやすい)
・ 未来のおれ(忘れたころに過去システムの改修とか依頼された時、なんでこうしたんだろうとかどう仕様変更を実現しようかとか)
どっちも困らないコード書けばとりあえずいいと思っている。
647仕様書無しさん:2006/12/03(日) 23:53:08
とりあえず、Javaはポインタすら使えないのがウザイ。
何アレ?
648仕様書無しさん:2006/12/03(日) 23:58:36
Javaはポインタを使う必要性が無いからなぁ。
>>647みたいに、delete忘れてメモリリーク起こす心配もしなくていいんだぜ。
649仕様書無しさん:2006/12/04(月) 00:02:46
とりあえず、>>647がJavaでポインタ使えなくて困った例をしめしてくれると
ありがたいんだが。
650仕様書無しさん:2006/12/04(月) 00:19:12
そのくせJAVAはぬるぽを起こす
651仕様書無しさん:2006/12/04(月) 00:20:51
JAVAのポインタはアドレスを指さないだけだろ
652仕様書無しさん:2006/12/04(月) 00:31:22
Javaの場合はC++でいうところの参照だな。
>>650 ぬるぽと起こさずにどうしろと? だんまりを決め込めってのか?
ぬるぽってのはなぁ、「私を無視しないでっ」っていう理不尽なプログラマに訴えてるんだよ。切ないじゃねぇか。
653仕様書無しさん:2006/12/04(月) 00:42:04
>>647
おめぇはゲロみてぇなコア吐いてろwww
654仕様書無しさん:2006/12/04(月) 08:30:05
はあ?
Javaはもはや業界標準言語でしょ?
暴れてるのはC厨?VB厨?それともコボラ?
655仕様書無しさん:2006/12/04(月) 08:58:51
>>654がジャワ糞を代表して
ジャワ教を布教してくれる事と思います。
656仕様書無しさん:2006/12/04(月) 11:50:19
ぬるぽ無くしたいなら参照なくすしかないよな。
んで全て戻り値で取ってくる。
本当にそんな環境でプログラムしたいか?
657仕様書無しさん:2006/12/04(月) 18:20:28
経験を背景に発言させてもらえば。
楽しいぞw
戻りたいとは思わないけど。
658仕様書無しさん:2006/12/04(月) 20:01:40
蒸し返すようで悪いのだが、staticを使う時って、
(1)デザインパターン(シングルトン等)
(2)共有資源の確保
(3)インスタンス化する前にアクセスする必然性がある時
ぐらいかな。ぱっと思いつくのは。他にあるかな。
659酔いちくれ ◆J0rwikii8c :2006/12/04(月) 20:11:27
すげぇループwww

しかも、C丼の臭いがぷんぷんする。
クラスを配列化した場合に、起点となるヤシにすたてぃっくがないと
こまるなぁ
660仕様書無しさん:2006/12/04(月) 20:34:13
インスタンス化する必要の無いクラス、もしくはインスタンスが単一のクラスならいいじゃない。
661仕様書無しさん:2006/12/06(水) 13:43:50
>>658
>staticを使う時って、
>(1)デザインパターン(シングルトン等)
目的と手段が入れ替わってないか?
662仕様書無しさん:2006/12/06(水) 19:26:02
俺がstaticを使うのは、グローバル変数や関数をファイルローカルに隔離するときくらいかな
663仕様書無しさん:2006/12/07(木) 21:24:03
リアルタイム系の同期取りのためにstaticを使う。
664仕様書無しさん:2006/12/07(木) 21:50:26
303のstatix、元気かな
665仕様書無しさん:2006/12/08(金) 00:46:34
スタックポインタ経由じゃ遅いときだな。
666仕様書無しさん:2006/12/09(土) 01:16:40
クラスローカルでの整数定数でも使うなーstatic const int hoge = 1;
667仕様書無しさん:2006/12/09(土) 01:45:01 BE:119815283-2BP(294)
>>658
C#とかJavaのライブラリでも、それ以外でstatic使ってるだろ
668仕様書無しさん:2006/12/09(土) 01:49:58
>>549
ディスクトッププログラマというのがどんなものか想像つかないが、それはともかく、
それら以外にどんな種類のプログラマがいるの?
669仕様書無しさん:2006/12/09(土) 01:52:21
>>588
スレタイ嫁
670仕様書無しさん:2006/12/09(土) 02:16:39
>>669
亀レス乙。
671仕様書無しさん:2006/12/09(土) 08:14:21
【ディスクトップ】(外誤科)



Google検索結果 2003/12/16 ディスクトップ:41,700件

コンピュータ業界における誤字の代表格と言えば、「ディスクトップ」です。
専門家、一般人を問わず、様々な場面で目にすることができます。
文字としてもよくみかけますが、実際にこう発音している人も少なくありません。
無論、普通に発音すれば「デスクトップ」となるはずです。

確かに、「disk/disc(円盤)」はコンピュータと大きなかかわりがあります。
しかし、「円盤の上」では意味が通りません。
本来の語源となった英単語「desktop(机上、卓上)」は「desk」+「top」です。
この場合、「desk」を「デスク」と発音することについては異論がないでしょう。
それとも、「ディスクトップ」派の人は、「desk(机)」を「ディスク」と発音するのでしょうか?
672仕様書無しさん:2006/12/09(土) 09:48:11
>>668
昔ながらの分類だと

オープン系
Web系
組込み系
金融系
汎用機

とか?

ゲーム関係
とかも入るのかな。
673仕様書無しさん:2006/12/10(日) 03:26:28
>>672
オープン系
Web系
組込み系
金融系
汎用機

は全部業務系じゃね?組み込みはちと違うかも…
674仕様書無しさん:2006/12/10(日) 07:49:08
>>673
パッケージ屋とかミドル屋の立場は?
675仕様書無しさん:2006/12/11(月) 19:45:13
逝けてるコーディングルール

気軽にキャストすんな。
676仕様書無しさん:2006/12/11(月) 23:00:00
気軽なキャストって何?
677仕様書無しさん:2006/12/11(月) 23:13:25
「よくわからないけど警告がでなくなるから」キャストしとくとか。
678仕様書無しさん:2006/12/11(月) 23:21:19
>>677
>「よくわからないけど警告がでなくなるから」キャストしとくとか。
こ、怖すぎる。訳の分からんアドレスにアクセスしたらどないすんねん。
679仕様書無しさん:2006/12/12(火) 00:12:43
出向先の会社で設計からお任せしますと言われたのでクラス定義してたら
「あとでメンテ出来なくなるので、オブジェクト指向は使わないでください」
って言われた
680仕様書無しさん:2006/12/12(火) 00:30:18
>>679
でも確かにオブ指にこだわりすぎると、デザパタの多用や継承関係の増えすぎで
「コード一箇所見て処理が分かる」っていう昔ながらの手続き型なコードではなくなるね。

まぁ、クラス定義もするな、ってのはちょっと・・・だけど。
681仕様書無しさん:2006/12/12(火) 00:40:56
GetWindowLongはキャストしすぎ。
682仕様書無しさん:2006/12/12(火) 03:16:38
>>680
久しぶりだな「オブ指」のおっさん。
683仕様書無しさん:2006/12/12(火) 03:18:10
>>675
まともなルールじゃないか。
684仕様書無しさん:2006/12/12(火) 10:48:46
>>677
SQLでなんかレコードがダブるので
DISTINCTつけときましたってのが
いたんだけど、それと近いですね。

勿論、本番で激重ですよ。
685仕様書無しさん:2006/12/12(火) 11:30:12
>>684
実はシステムの不具合で重複のあっちゃいけないレコードが重複してたり、とか
一意制約つけるとかは好みでしない人がいる・・・自称DBAは個性派そろい。
686仕様書無しさん:2006/12/12(火) 21:10:08
>>680
>「コード一箇所見て処理が分かる」っていう昔ながらの手続き型なコードではなくなるね。

今は、見る場所が違ってきているんだよ。

本物のオブジェクト指向なら、コードの中身ではなく、
「オブジェクトの定義」を見れば、
その振る舞いが分かるように書かれている。
687仕様書無しさん:2006/12/12(火) 21:17:04
>>686
> 「オブジェクトの定義」を見れば、
> その振る舞いが分かるように書かれている。

ダウト。
688仕様書無しさん:2006/12/12(火) 21:21:00
トラブル発生時の対応の早さでいったらどうなんだろうね?
・ 手順型言語開発したシステム
・ オブジェクト指向型言語開発したシステム

おれは不幸にもまともなオブジェクト指向型言語開発したシステム、システム開発に出会った事ないんだ・・・
(Javaでふつーに手順型で開発してるのならよくあたるけど)

歳とった今思うのは、とりあえず客の要望を満たしてトラブルが少ないシステムなら
実装へのこだわりなど捨てられる、ってことかな。
689仕様書無しさん:2006/12/12(火) 22:50:23
>>688 そんなオサーンが書いたコードなんて、保守不可能なんでつねぇw
その時は顧客の要望を満たしていても、設変でボロボロなのねww

まぁ、ボロボロになるかならないかは、個人のコーディングの能力しだいな訳だが。
690仕様書無しさん:2006/12/12(火) 23:44:39
開発って自信家が多い?

やる気あるやつ  他の奴がやらない=できないと思いどんどん自信家になってく
やる気ないやつ  どうせ「やる気あるやつ」がどんどんやるだろう、と出来るだけ自分の仕事増やさないようにする

幸せなのはどっち?(細かい分類するとやる気あるけどできない奴、やる気ないうえできない奴、とかもいるんだけど)
691仕様書無しさん:2006/12/13(水) 00:05:23
まあ、出来るやつはめったに居ない
692仕様書無しさん:2006/12/13(水) 00:52:42
個人のコーディングの能力しだいで
既存システムの保守の容易さは左右される。

・・・自分にもその様に考えていた時期がありま(ry
693仕様書無しさん:2006/12/13(水) 01:04:00
できるけどしたくない
したいけどできない
694仕様書無しさん:2006/12/13(水) 16:50:59
Cだけど、IFを使ってコメントアウトってツライな。

2、3行ならいいけど、数百行とかコメントアウト用のIF文が
入り乱れてたらもう、何がなにやら。
695仕様書無しさん:2006/12/13(水) 21:10:26
コメントアウトの方法じゃなくて、コメントアウトしたコードが大量に残ってるって時点で。
696仕様書無しさん:2006/12/13(水) 21:50:15
>>694
そういう場合は、関数丸ごとコメントアウトして作り直してる。
文句言う奴にはdiff見せているんだが、diffなんて信用できないという奴がいると鬱。orz
手作業の方がよっぽど信用できないと思うのだが。
697仕様書無しさん:2006/12/13(水) 21:51:11
オブジェクト指向は良いよ。
最初はなんだよこれ全然分からん!!だったけど
今となってはオブジェクト指向つかうなと言われると面倒だなあと感じる。
698仕様書無しさん:2006/12/13(水) 21:53:39
おまいはマ板で何を言っているのか
699仕様書無しさん:2006/12/13(水) 22:23:55
マイタン(;´Д`)ハァハァ
700仕様書無しさん:2006/12/13(水) 23:11:44
ダウンキャストすんだったら、せめてdynamic_castしとけ、コラ〜!!!
701仕様書無しさん:2006/12/14(木) 01:01:01
>>697
おれは未だその境地に達せん。

自分の開発スタイルが悪いのか、全体的な開発方針が悪いのか。
702仕様書無しさん:2006/12/14(木) 22:10:56
バグの修正を数十箇所に埋め込まれるのを直させられるよりは、一箇所直せば全部直るってほうがマシ。
703仕様書無しさん:2006/12/14(木) 22:41:42
1箇所のバグが数箇所にも出てきてしまうという諸刃の剣
704仕様書無しさん:2006/12/14(木) 22:49:43
もともと同じコードなんだから、それは当然だろう。
むしろ、バグを持っているところと持っていないところでバラバラな方が深刻だと思わないか?
705仕様書無しさん:2006/12/14(木) 22:58:26
ちゃんとコード書けばバグは局所化し収束する
でたらめなコード書けばバグは指数関数的に増大する
706仕様書無しさん:2006/12/14(木) 23:00:00
>>703
それがオブ指向だ。

書くのが人間なんだからバグが出るのは避けられんさ。同じバグの出現箇所が1箇所だろうと1000箇所だろうとバグはバグ。
怒られるのは変わんねぇし。むしろ発見できて良かったね。とすら思うわ。

1000箇所に同じ記述がしてあったら終わってるしな。
707仕様書無しさん:2006/12/14(木) 23:06:02
オブジェクト指向でも構造化指向でもそこは変わらないよ
708仕様書無しさん:2006/12/15(金) 09:45:29
追跡しやすければ、箇所の多少はどうでもいいよ
709仕様書無しさん:2006/12/15(金) 22:40:20
Cで擬似オブジェクト指向にして作ってたら

「別の構造体型でのキャストは全面禁止、やってる行は全てコメントで理由を記述すること」

これにはキタ
擬似オブジェクト指向推進した俺が戦犯になって
ひどいめにあった
710仕様書無しさん:2006/12/15(金) 23:05:35
>>709
勝手にやるからだろ。
ちゃんと許可取ってからやれ。お前は頭いいけど他はバカなんだよ。
711仕様書無しさん:2006/12/16(土) 09:46:07
>>709
オブジェクトコンポジションなら問題ないのでは?
712仕様書無しさん:2006/12/16(土) 14:29:20
>>684
社会人になるまでは、こういうのって
ネタだと信じて疑いませんでした。
713仕様書無しさん:2006/12/16(土) 14:34:01
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;
  ヾ;;;ハ    ノ       .::!lリ;;r゙
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f. 
   ~''戈ヽ   `二´    r'´:::. `!
714仕様書無しさん:2006/12/20(水) 19:14:55
「ネストは二回まで」
結構厳しい。
715仕様書無しさん:2006/12/20(水) 21:30:31
おー、無闇にネストするのを防ぐ効果はあるかもね

縛ることはまったく無意味だがw
716仕様書無しさん:2006/12/20(水) 21:39:02
再帰してまえ
717仕様書無しさん:2006/12/20(水) 21:41:29
gotoつかえねぇ
718仕様書無しさん:2006/12/20(水) 22:28:38
>>714
せめて3回までだなw
719仕様書無しさん:2006/12/20(水) 22:50:26
static使うやつって何考えてるんだろうか。
720仕様書無しさん:2006/12/20(水) 23:31:32
全部gotoだけで書け
721仕様書無しさん:2006/12/20(水) 23:51:08
>>720
30年近く前のソースをリバースしてるが、gotoだらけでクラクラするぜ。
メモリ無いから、1行でも短くなるようにgotoしまくって、本筋がどこかわからねぇ。
同じくメモリの制約で変数は3文字まで、1文字目がIなら整数型。
文字は英字の大文字しかないし、文字型なんて無いから整数型に。
もちろんコメントもインデントも一切ない。
ルーチン名も意味の無い数文字のコード名。
これにくらべれば、どんなソースも許せるとおもた。
722仕様書無しさん:2006/12/21(木) 00:27:31
BASICかいな
723仕様書無しさん:2006/12/21(木) 00:32:45
その種のことには下限は存在しないよ。
もちろん「再作成した方が将来的なコストも含めて安上がりになる」
という分岐点は必ず存在する。
貴方の担当しているソースはその分岐点を超えているようだけど。
724仕様書無しさん:2006/12/21(木) 00:46:18
>>721
あまり元が酷いようだと、ソースのコンセプトだけ読み取って
ゼロから作成し、
「自作のキラリと光るな隠し仕様を入れる」のがクールで(・∀・)イイ

「いちおうC言語だけど4000行が一関数、その中を goto 制御文だけが飛び交う」
という奴を受け持ったときは
動作から仕様を類推し、かつソースを一読してゼロベースで作ったyo.

生データがバリバリ埋め込まれていたのは、全て構造体の配列に置き換え、
ちまちまとした goto 制御文は、スクリプト+スクリプト・インタープリターに置き換えた。
これで要求仕様が変わってもスクリプト変更だけで済んで楽々だね。(w
725仕様書無しさん:2006/12/21(木) 01:18:00
>>724
こうやってヒトは強くなっていく・・・
726仕様書無しさん:2006/12/21(木) 02:28:50
>>724
そういう修正が許される職場は決して多く無いと思うがねえ
ソースが汚いって理由で動いてるコードを書き直すなんてウチでは許されない
たとえバグが埋め込まれてあっても、そのバグは発動して表沙汰になるまではいぢっちゃダメ
727仕様書無しさん:2006/12/21(木) 02:37:25
>>715
静的検査とかだと複雑度を一定以下に抑える、とかあるね。<ネスト
http://www.atmarkit.co.jp/fjava/rensai3/eclipsetst03/eclipsetst03_1.html
728仕様書無しさん:2006/12/21(木) 02:39:17
仕様or動作通りに書き直す
→バグ発生
→おまえのせいだ
→( ゚Д゚)マズー
729仕様書無しさん:2006/12/21(木) 02:45:58
マクロを使っているJavaソース(gcc -Eとか使ってプリプロセス)
Eclipseは勿論のこと、あらゆるJavaコードエディタ、IDE、ソース処理ツールが役に立たなくなる……
730仕様書無しさん:2006/12/21(木) 03:44:26
>728
>725
731仕様書無しさん:2006/12/21(木) 06:56:21
なるほど
自分が作ったバグでなければいいわけか
732仕様書無しさん:2006/12/21(木) 08:25:33
>>726
そういえば、その酷いソースは「動いていなかった」な。
他社の作ったプロトタイプだった。

>>726
そういう場合は「動いているもの」と並行して、
「新しいもの」を作るのはどうよ。

もちろん、社内的な同意をとった上でな。
その後静かに「新しいもの」に徐々にユーザが移行するのを待ち、
ある時点で「酷いけど動いているもの」を消去する。
733仕様書無しさん:2006/12/21(木) 09:35:51
リファクタリング
734仕様書無しさん:2006/12/21(木) 09:38:32
要は作り直しだろ
735仕様書無しさん:2006/12/21(木) 11:42:21
CASEツールで
無 馬太..._〆(゚▽゚*)だし
される。
736仕様書無しさん:2006/12/21(木) 22:23:00
>>732
どこの現場でもみんな同じなんだなぁ・・
737仕様書無しさん:2006/12/21(木) 22:40:12
「社内的な同意」なんてぇものが
簡単に取れるようならこんなに話題にならんだろ。
ましてや発注元の同意が必要となるなら絶望的だ。

反対する人間の「品質管理の不備を隠したい」
という恥ずべき感情を覆す事は容易ではないぞ
738仕様書無しさん:2006/12/21(木) 22:43:51
>>737
うーん、その通りなんだけど、
でもリファクタリングはどっかでやらないと、仕様変更が来るたびに泣く羽目になるんだよなぁ。
739仕様書無しさん:2006/12/21(木) 23:39:50
>>738
追加案件が来たときに、元ソースが手の付けようのないほど激しくスパゲッティしてバグを持っていたせいか、
処理の入口で分岐させて追加部分だけを完全に別のロジックを実装した人がいた。
その気持ちはとてもよく理解できたのだが、項目追加するだけでも大変になったので、俺に回ってきたときに
思い切って意見具申して作り直してしまったよ。
740仕様書無しさん:2006/12/22(金) 00:27:08
>>739
まぁ、上司は客の都合で考えるから保守的になりがちだけど(動いてるものには触るな)、
プログラマは自分の後を引き継ぐ人の事考えて作るからな。

俺もおまいさんに賛成だぜ。変更するリスクはあるけど、
そういう提案できるやつは基本的にリスクを踏まえた上で発言してるやつのはずだからな。
741仕様書無しさん:2006/12/22(金) 09:38:05
>>739
>>740 禿同。
そして、その提案を理解して承認してくれた上役もしっかりしていて羨ましい。

動いているものは触るなという原則はアリだけど、
直さなきゃいけないときに直さない言い訳ではあかんわな。
742仕様書無しさん:2006/12/22(金) 21:46:44
私は部下から作り直しの申し立てがあったら
その部下の技量を見て許可か不許可を判断する。もちろんリアルな話で金と時間も考慮しますが。
許可にして問題発生したら、私が責任を取って取締役に報告しますね。
「私の判断で作業指示を出しました」と。
許可するってことはその技術者の技術力を信頼してるってことです。
信頼するかどうかを判断するのは私の能力ですから。
といっても許可を出すのは全体の20%ぐらいです。それが現実です。
743721:2006/12/23(土) 00:24:41
亀になったが。
このソースはこのまま使い続ける必要があり、
製造終了、維持部品の製造も終了したマシンを特別に作らせてまで使ってる。
こっちで勝手に直せない性質のシステムなので。
もうすぐ新バージョンが送られて来るんだが、環境から何からまったく変わるので
変更を把握するためにも現状の確認が急務なのよ。
長年安定して動いてるんだけど、それだけに資料が無くなっててね。
基本仕様だけなら単純なもんだから、簡単に作れるけど、独自言語の計算精度
まで含めて完全に再現は出来ないし。
744仕様書無しさん:2006/12/23(土) 01:35:32
>このソースはこのまま使い続ける必要があり、
>製造終了、維持部品の製造も終了したマシンを特別に作らせてまで使ってる。

 よっぽどの理由があるのですね。
 計測系システムですか?

>独自言語の計算精度まで含めて完全に再現は出来ないし

 うおー燃える、
 漏れが担当だったら、
 「独自言語の floating point 演算」を再現して完全移植を目指すだろう。

 大学の頃に、定理の証明のために、
 浮動小数点演算のソフトシミュレータを作っったことを思い出したよ。
 
745仕様書無しさん:2006/12/23(土) 01:38:34
>>743
もしかしてオンライン系のシステム?
そういう類のものだと、お疲れ様ですとしか言い様がないな。
資料がないのは全く納得いかないが。
746仕様書無しさん:2006/12/23(土) 16:30:31
98ってまだ作ってるのかなぁ?(ボソ
747仕様書無しさん:2006/12/23(土) 17:11:04
PC98?
748仕様書無しさん:2006/12/24(日) 03:52:58
(゜_゜)(。_。)PC-9801とかFC-9801。
749仕様書無しさん:2006/12/24(日) 10:25:16
マジレスすると、とっくに製造終わってる。
ただ、世の中には現役のマシンはそれなりに残ってるので、
商売として修理・再生してる中小メーカがいる。
750仕様書無しさん:2006/12/24(日) 10:47:47
この混沌としたコーディングの世界で
どうやって上手く立ち回るかがマの能力だと思うようになった。
751仕様書無しさん:2006/12/24(日) 11:55:17
>>743 が言うのが N88BASIC + PC9800シリーズだったならば、
N88BASIC インタープリタが Win環境に移植されていれば、
問題が解決しないか?

動作環境と演算精度の両方の問題で。
752仕様書無しさん:2006/12/24(日) 12:05:49
エミュレータでええやん
753仕様書無しさん:2006/12/24(日) 12:39:27
いまどきリプレースできずに残ってるものは、それなりに特殊な事情が
あるんじゃないかな。特定の拡張ボードに依存してるとか。
754721=743:2006/12/24(日) 14:49:19
あーなんか誤解を招く流れになってるけど、わたしんとこの環境は
とある海外製の専用CPUで動くシステムのサポート環境です。

サポート環境だから、当時としては汎用性のあった海外製の汎用機が中心。
ただし周りのハードウェアは当時の物なので、入出力もすべてワンオフ。
ターゲット環境が完全オリジナル環境で、その環境用のソフトとか入ってるけど
それらも含めて日本では触れない事になってるから、置き換えは無理です。

これ以上はシステムが特定できちゃうので勘弁。
意外とこう言う環境は多いですよ。
具体例を挙げれないのが辛いとこですが。
755仕様書無しさん:2006/12/24(日) 15:47:20
VAX?
756仕様書無しさん:2006/12/24(日) 15:58:44
一文字ごとに改行すること
757仕様書無しさん:2006/12/24(日) 18:35:26
いろんな現場を見てきて思うんだけど
そろそろ1ライン80文字の制限は、なくしてもよいと思うんだが。

特にJava何かだとクラス名は、長いし、改行多すぎて見にくいのだけど。

スクリプトとかならまだしも、今時、ターミナル上でソースを修正することなんてあんの?
758仕様書無しさん:2006/12/24(日) 18:55:36
「一目で捉えられる」ということが重要なのだ。
確かにPCの画面は大きくなり、コードエディタのウィンドウは横にスクロールできるようになったが
人間の視界は拡がっていない。
759仕様書無しさん:2006/12/24(日) 19:28:00
>確かにPCの画面は大きくなり、コードエディタのウィンドウは横にスクロールできるようになったが
すでに80桁越えてる。
760仕様書無しさん:2006/12/24(日) 20:58:40
>>757
「1関数25行を目安に」なんてのも有ったような(w
761仕様書無しさん:2006/12/24(日) 21:33:30
80桁とか25行ってのは制限がきつすぎるとは思うけど
まったくなしにするとやたら横や縦に長いソースを書くやつがいるからなあ。
妥当なところを決めるのは難しいねえ。とりあえず倍の160桁50行くらい?
762仕様書無しさん:2006/12/24(日) 22:44:46
関数が一画面に収まってると断然理解し易いってのはあるよね
763仕様書無しさん:2006/12/24(日) 22:48:54
1行80文字、25行ってのは
かつてのPC―9800シリーズの制約だったからね。

だからといって、それを金科玉条の如く永遠に語り継ぐのもオカシイ。
1280x1024dot/9point の世界に措ける「一画面に収まる」の定義であるべき。

764仕様書無しさん:2006/12/24(日) 22:53:17
>>762
そうでもないと思ふ。
先輩が割りとトリッキーな関数(21行)を作って見せてくれたが、とりあえず「動くが読めね」状態だた。
皆が読めるようなきれいな奴なら100行くらいでもいいと思う。

>>758
MSゴシックの8px推奨w視界が狭くてもたくさん文字入るお。
765仕様書無しさん:2006/12/24(日) 22:56:37
1440×900のワイドディスプレイを
縦にして「一画面に収まる」にしようぜ!
766仕様書無しさん:2006/12/24(日) 23:06:06
>>765
縦にするくらいなら、いっそのこと斜めにするか。
高さも横幅も増える。
767仕様書無しさん:2006/12/24(日) 23:16:42
>>762
そうともいえない。それが適切なまとまりならそうだけど。
無理に関数分けたような場合だと、かえってわかりにくい。
768仕様書無しさん:2006/12/25(月) 00:35:37
わかりやすさのためだけに関数分割するわけではなかろう。
769仕様書無しさん:2006/12/25(月) 05:43:08
印刷して見ることが、多いから一行は、長くても100〜120くらいまでがいいと思う。
770仕様書無しさん:2006/12/25(月) 07:58:55
一つの関数長いとコンパイル後のファイルサイズ増えるんだよな。
長い関数を小分けにしていったらどんどんサイズ小さくなっていったよ。
771仕様書無しさん:2006/12/25(月) 10:11:09
あれへんあれへん
772仕様書無しさん:2006/12/25(月) 10:42:11
あんまり関数が長いとオプティマイザも
読むのを途中であきらめる、とか。
773仕様書無しさん:2006/12/25(月) 17:51:18
面倒だからオーロラビジョン使え
774仕様書無しさん:2006/12/25(月) 20:41:08
if ((a == b) && (c == d) && (e == f) && (g == h) && (i == j) && (k == l) && (m == n)) {
 …
}
よりも
if (
  (a == b) &&
  (c == d) &&
  …
  (k == l) &&
  (m == n)
) {
 …
}
の方が(・∀・)イイ!!でつねぇ。

特にSQLで
select FieldA, FieldB, FieldC, FieldD, FieldE, FieldF, FieldG, FieldH, FieldI, FieldJ, FieldK…
はやめれw
select
  FieldA,
  FieldB,
  …
  FieldJ,
  FieldK
from
  TableA
  inner join TABLE B on
  …

横スクロールって結構ウザイんだなぁ。
775仕様書無しさん:2006/12/25(月) 20:46:06
From区には大抵マスタをLeft joinってのがおおいけどな。

まぁ、SQLに関してはそうだな。
776仕様書無しさん:2006/12/25(月) 21:00:23
>>774
こんな条件判断をしなくちゃならんコードがすでに糞コードだと思うが・・。
一行にかけないくらい長いならメソッドに切り出せよ。
777仕様書無しさん:2006/12/25(月) 21:32:45
・コメントは必ずコードと同一行に入れること、
・コードは39桁まで、空白一つ空けて41桁以降はコメント
・合わせて80桁を超えないこと
・一読性を保つため無闇に関数分けをしないこと、
特に別ソースを参照しなければならないような作りは極力避けること

…かくして80桁×数千行の
ちょっとずつ違うけど似たような処理をする関数が
量産されていくのであった
778仕様書無しさん:2006/12/25(月) 23:47:47
「一読性を保つため」ってのは初めて聞いたよ。いっそ素晴らしいなおい。
779仕様書無しさん:2006/12/26(火) 00:17:34
関数の粒度が揃ってて、上から順番に読んで行けば何しているかわかるなら、
200行くらいいいけど、関数のサイズをそろえるとキャッシュがうまく回る。
気がする・・。
780仕様書無しさん:2006/12/26(火) 01:37:58
>>774見てて思い出したんだけど
こういう横に長いif文とか引数やたら多いメソッド呼び出し書いて途中に改行挟む時、
インデントはこうすべき、みたいな決まり事って存在するの?

中括弧のつけ方とかなら明確に派閥あるけど
この手のインデントって人によってバラバラな気がする。

まあ、>>776の言う通りそもそも書かないのが一番なんだけどさ。
781仕様書無しさん:2006/12/26(火) 02:26:48
>>779
>関数のサイズをそろえるとキャッシュがうまく回る。
>気がする・・。
これってどういう意味?
782仕様書無しさん:2006/12/26(火) 09:16:02
んなことないから無視汁
783仕様書無しさん:2006/12/26(火) 10:16:51
>>776
そこに反応しなくてもw
一行ソースが見づらいという例だろに。
784仕様書無しさん:2006/12/26(火) 11:59:31
細かいが、SQLなら、前カンマの方がいいと思うぞ。

select
column1
,column2
,column3
from
table1
inner join table2 on ...
785仕様書無しさん:2006/12/26(火) 15:04:43
いやーおれはどうもなじめないんだよなあ、前カンマ。
効能は判るんだけど、ぱっと見て
頭にすーっと入ってこない。慣れかと思ったけど、
慣れないねぇ・・・・うーん。

俺の周りでも結構意見が割れて、半々ってところ。
786仕様書無しさん:2006/12/26(火) 15:06:25
あと、WHERE句のANDの位置ね。

WHERE
col = 'hoge' AND
col2 = 'fuge'

考え方は前カンマと同じ。
追記しやすさを考えた結果。
気持ちはすんごく判るんだけど
これも馴染めないんだよなあ・・・・。
787仕様書無しさん:2006/12/26(火) 18:11:18
ちゃんとインデントしてあればどっちでもいいよ派
788仕様書無しさん:2006/12/26(火) 18:14:46
789786:2006/12/26(火) 23:17:47
>>787
だはは、半角スペースが無視されるの
すっかり忘れてた。
790仕様書無しさん:2006/12/26(火) 23:51:20
>>781
同じ大きさのブロックでスワップしてフラグメンテーションがおこらない
ような気がしねーよな、やっぱりw

と書いてあるようだ
791仕様書無しさん:2006/12/28(木) 17:33:18
まてまて。そんな事はどうでも良いのでは?
大体、各関数の物理的なサイズに拘束されなければ仕様をみたせない
なんていうプログラムは保守がほとんど不能だろ。
コードや構造を改善するより動作環境を改善すべきだろ。
792仕様書無しさん:2006/12/28(木) 23:54:22
>779
> 関数の粒度が揃ってて、上から順番に読んで行けば何しているかわかるなら、
> 200行くらいいいけど、関数のサイズをそろえるとキャッシュがうまく回る。
> 気がする・・。
すまん。何回読んでも理解できん。
「〜なら」の使い方が論理的におかしい気がする。
職業病だろうか。
頭が溶けてしまいそうだ。
793仕様書無しさん:2006/12/28(木) 23:57:21
>>792
「〜から」に脳内変換してたから気づかん買った
794仕様書無しさん:2006/12/29(金) 00:09:55
>>779
こういう事?
if ( 関数の粒度が揃っている && 上から順番に読んでいけば何をしているかわかる ) {
if (関数は200行未満) {
if (関数のサイズを揃えた){
キャッシュが上手く回る;
}
}
}
795仕様書無しさん:2006/12/29(金) 00:10:44
>>779
こういう事?
if ( 関数の粒度が揃っている && 上から順番に読んでいけば何をしているかわかる ) {
 if (関数は200行未満) {
  if (関数のサイズを揃えた){
   キャッシュが上手く回る;
  }
 }
}
796仕様書無しさん:2006/12/29(金) 00:19:46
>>795
いや>>779を善意に解釈するとこういう事だろう
> 関数の粒度が揃ってて、上から順番に読んで行けば何しているかわかるなら、
関数の粒度が揃っているなら、上から順番に読んでいけば何をしているか分かる。
→関数を理解するのは人間である。
 粒度は人間の視点から見た概念である。
 粒度が揃えられれば、人間にとって理解が容易になる。

ならば
人間を機械とするならば、粒度はサイズである(この時点で論理がおかしい)。

>関数のサイズをそろえるとキャッシュがうまく回る。
関数のサイズが揃っているならキャッシュが上手く回る。
→関数を解釈して実行するのは機械である。
 サイズは機械からみた概念である。
 サイズが揃えば、機械に取って処理が楽になる(キャッシュが上手く回る)
797仕様書無しさん:2006/12/29(金) 00:20:19
ゲームとはちょっと違いますが、誰かこの論文の日本語訳を探してください!!GENERAL CHARACTERISTICS OF MOLLUSCSがタイトルです!
798仕様書無しさん:2006/12/29(金) 00:32:28
軟体動物の一般的な特徴
799仕様書無しさん:2006/12/29(金) 13:33:35
休みの日まで論理的思考なんかしたくないわね。
800仕様書無しさん:2006/12/29(金) 20:07:08
引退しなされ
801仕様書無しさん:2006/12/29(金) 22:10:42
部屋の掃除をしようとしたら、
どういう手順で作業を進めると効率が良いか
アルゴリズムをくんでいる自分がいる。
802仕様書無しさん:2006/12/29(金) 22:34:53
女は右脳で考えるから行動が早いんだよね。
男は左脳で考えるからリスクファクターばかり印象に残ってしまい、現状維持に努めようとする。
803仕様書無しさん:2006/12/29(金) 22:38:25
女は直感と感情で動く
よくも悪くも動物と行動が同じ
804仕様書無しさん:2006/12/29(金) 22:40:53
男でも女のような感情だけで動くヤツはふつー居るし結構多い
マには少ないだけ
805仕様書無しさん:2006/12/29(金) 22:56:00
感情で動いたら既存スパゲティの破壊衝動に衝き動かされるしなw
806仕様書無しさん:2006/12/30(土) 00:04:33
>795
その昔に日本語の通じない外国人技術者と仕事をしたことを思い出した。
コミュニケーション手段はC言語。
807仕様書無しさん:2007/01/03(水) 11:01:20
新年あけおめ、
プログラマならば、紅白なんぞ見ずに三が日コーディング三昧でつよ。
808仕様書無しさん:2007/01/03(水) 12:47:04
あけおめ。自分はカフェドクリエで構想&設計三昧です。今日中にまとめて明日から業務中に|゚Д゚)))コソーリ!!!!実装する。
809仕様書無しさん:2007/01/20(土) 10:06:53
↑がんがれ
810仕様書無しさん:2007/01/20(土) 14:15:45
>>801 部屋の掃除をリファクタリングと思ってる俺がいる。

基本は「捨てる」だな。
811仕様書無しさん:2007/02/10(土) 00:56:59
何処かのcpioのソースで1000行以上に跨る関数を見た記憶が…
812仕様書無しさん:2007/02/11(日) 15:08:38
コメントを書かない。
修正によりコメントが偽りとなるから・・・・。
813仕様書無しさん:2007/02/11(日) 15:27:51
たとえば
if (x==y) DEBUG_PRINT ("Debug Msg\n");

{}なしにこんなの使うやつ死刑。
814仕様書無しさん:2007/02/11(日) 15:42:18
それなら自分は1万回以上死刑になっているな。
なんで死刑になるのかを書いてみてくれないか
815仕様書無しさん:2007/02/11(日) 15:52:42
>>811
むかしの8ビットマイコンのBASICは65535行までしか書けなかったが、
それをオーバーしそうになるケースが多々あった。
816仕様書無しさん:2007/02/11(日) 15:58:04
>>814
DEBUG_PRINTみたいにビルドモードによって変わるものを{}で収まらないとそれがどうなるか分からない。
if (x==y) DEBUG_PRING ("Debug Msg\n");
x=z;
これをReleaseでビルドしたらこんなものになる。
if (x==y) x=z;

817814:2007/02/11(日) 16:04:32
わかったわかった。
VC(かなんか)の固有の仕様なのか
818仕様書無しさん:2007/02/11(日) 16:11:35
その例だと最悪でも
if (x==y) ; (空文)
x = z;
とかにならんか?
819仕様書無しさん:2007/02/11(日) 16:14:58
DEBUG_PRINT の展開結果が複文だったら(ry
820仕様書無しさん:2007/02/11(日) 16:16:43
ふつー複文をマクロで関数っぽく定義する場合は do {
} while (0) で囲んだ形で定義するよね。
821仕様書無しさん:2007/02/11(日) 16:24:22
ネタ
822仕様書無しさん:2007/02/11(日) 16:33:04
>>47
ごれ今度やってみるわw
823仕様書無しさん:2007/02/12(月) 00:02:09
>>817
アホカw
お前の頭の方が固有な仕様だ。

>>820
そんなことしなくても
{

}
でいいんじゃね?
824仕様書無しさん:2007/02/12(月) 00:34:25
>>823
while (0)
でグーグル
825仕様書無しさん:2007/02/12(月) 00:40:58
826823:2007/02/12(月) 00:47:27
>>824-825
ありがとう
827仕様書無しさん:2007/02/13(火) 08:07:24
gcc の拡張マクロ使っちまえ
828仕様書無しさん:2007/02/13(火) 20:49:25
>>815
それ、行番号の最大値じゃなくて、行数のこと?
その行数だと、1行が1バイトしかなくても、ソースのサイズが64Kになってしまうが。。。
829仕様書無しさん:2007/02/13(火) 21:01:55
8ビットマイコンのBASICだと、プログラムが行番号込みの
中間コードで記憶されてたものだが、行番号の領域が2バイ
トしかなかったというケースだろう。

830仕様書無しさん:2007/03/02(金) 23:31:26
なんかあったらダウンキャストでオケ
831仕様書無しさん:2007/03/24(土) 18:07:25
Java

例外は全部その場でcatchして戻り値で返す。
エラーステータスは-1や0や1が混在している。
832仕様書無しさん:2007/04/29(日) 00:28:37
1クラス1ファイル
833仕様書無しさん:2007/04/29(日) 02:01:14
>>831
人から引き継いだシステム、例外全部最上位までふっとんでいくんだが・・・
tomcat自体のキャッチらへんまで

障害でてログを追っても何がなんだかさっぱり分からん。

そんなおれからすると全部その他でキャッチして戻り値返し、までは許せるかな、と・・・
(C++もJavaも例外の仕組みはどうもスカン)
834仕様書無しさん:2007/04/29(日) 02:53:29
1クラス1ファイルは普通だろうが
835仕様書無しさん:2007/04/29(日) 03:14:32
Javaの1クラス1ファイル規定はいまや理不尽だよな
836仕様書無しさん:2007/04/29(日) 03:41:55
>>835
・1ファイルに複数クラス記述したい
・1つのクラスを複数ファイルに分けて記述したい
どちらの要求に対する理不尽?
837仕様書無しさん:2007/04/29(日) 16:39:57
どちらでも同じことだろう
IMEでどうにでもなることを言語仕様にしてるのが問題
838仕様書無しさん:2007/04/29(日) 18:27:25
IDE?
839仕様書無しさん:2007/04/29(日) 18:30:41
しーっ
840仕様書無しさん:2007/04/30(月) 13:52:58
>>833
最上位まで誰も補足せずに飛んだんなら、どこで例外が発生したか分かりやすくてそんなに問題にならないと思えるが?
最悪なのは

catch(FooException e){
 throw new BarException("○○の処理で落ちた");
}

みたいな元となる例外の情報を握りつぶして上にアプリケーション例外を投げる事だな。
せめて

catch(FooException e){
 throw new BarException("○○の処理で落ちた",e);
}

みたいにして例外の発生元だけは保持していて欲しい。
841仕様書無しさん:2007/04/30(月) 21:58:57
>>840
>最上位まで誰も補足せずに飛んだんなら、どこで例外が発生したか分かりやすくてそんなに問題にならないと思えるが?
どこで発生したかわかっても、何で発生したのかがわかりにくかったりするんじゃないか?
ループの中だと原因になったデータのキーが分からなかったりするし。

あと、ブラウザ上にスタックトレース丸見えはちょっとイヤだな。


> 元となる例外の情報を握りつぶして上にアプリケーション例外
共通のライブラリのメソッドが全部throws Exceptionになっていて、
何でもキャッチして、スタックとメッセージ握りつぶして…ハンドリングしない
っていう↓見たいな感じの規約&フレームワークなら見たことならあるな。
catch(Exception e){
 throw new Exception("error");
}
842仕様書無しさん:2007/05/01(火) 08:23:31
C++でboost::shared_ptr等のスマートポインタ使ってると
newやdeleteに対する制限をコーディングルールレベルで規定しないと駄目なんだな
843仕様書無しさん:2007/05/01(火) 09:31:54
>>842
意味が分からん。何の制限の話?
844仕様書無しさん:2007/06/12(火) 02:59:59
ロジックを持つクラスはインスタンスフィールド禁止。
インスタンスフィールドを持つクラスはgetter, setterのみ。
845仕様書無しさん:2007/06/12(火) 03:50:26
>>844
貧血症ドメインモデルと
ステートレスなロジッククラス
の組み合わせって事だろ。

そんなに悪いルールじゃないよ。
議論のしどころとは思うけど。
846845:2007/06/12(火) 03:52:36
あ、ごめん、この会社辞めようと思ったソースコードスレと
勘違いしてた。議論のしどころの話をするのねここは。
847仕様書無しさん:2007/06/13(水) 00:47:28
>>845
>ステートレスなロジッククラス
んにゃ、文字通りインスタンスフィールドが禁止。
staticなフラグ+synchronizedメソッドはOKで、ステートレスになっててもロジッククラスの入れ子はNG。

Singletonモドキ、Monostateモドキが大量発生中…
848845:2007/06/13(水) 03:50:18
>>847
ああなるほど、参照先がステートレスだろうと
インスタンスフィールド一切ダメなのね・・・。

もういっそロジック、全部クラスメソッドにしちゃって
Cみたくすりゃいいのに。
849仕様書無しさん:2007/06/27(水) 01:19:54
今いるプロジェクトはgetとdoばっかりだ。
getterも計算するメソッドも設定ファイル読み込みも全部getHoge。
動作を表すメソッドは全部doHoge。
doExcecuteってなんだよ。JavaBeans使おうとしたらDB検索に行きやがるし。
850仕様書無しさん:2007/06/27(水) 02:09:15
>>849
「実行する」に対して
「実行を行う」ぐらいに思っときゃおk
それにしてもその職場バカスww
851仕様書無しさん:2007/06/27(水) 02:28:18
>>849
Excecute (笑)
852仕様書無しさん:2007/06/27(水) 03:48:00
頭痛が痛くなるルールだ
853仕様書無しさん:2007/06/27(水) 04:01:38
do + 現在動詞で強めの表現になる。
文法的には間違ってないかもしれん…。
854仕様書無しさん:2007/06/27(水) 10:44:07 BE:716073784-2BP(21)
typedef std::string mojiretsu;
mojiretsu dame_na_bun_okikae(const mojiretsu& moto_no_bun, const mojiretsu& dame_na_bun, const mojiretsu& okikaeru_bun);
やっぱり日本語だよね\(^o^)/日本語最高
855仕様書無しさん:2007/06/27(水) 11:34:34
( ゚д゚)、ペッ
856仕様書無しさん:2007/06/27(水) 13:18:15
引数名がしっくりこない
857仕様書無しさん:2007/06/27(水) 13:36:30
Executeって「処刑」の意味で使ってたり。w
858仕様書無しさん:2007/06/27(水) 13:50:42
>>849
doなんちゃらは抽象クラスのabstractメソッドにしか付けないな・・・
859仕様書無しさん:2007/06/28(木) 04:11:34
runとかexecuteとかoperateとかinvokeとか色々あるけど
やっぱり()演算子に勝てるものは無いと思う
860仕様書無しさん:2007/06/28(木) 05:14:36
ローマ字で書くくらいならVBみたいに日本語で書いてくれた方が何ぼかまし
861仕様書無しさん:2007/07/12(木) 03:05:54
ひじょーに低レベルな質問ですまんのだけど
こういう場合、どっちのスタイルで書いてる?
int proc_1(int nA, int nB)
{
if (nA < 0) {
return -1;
}
{ 処理1 }
if (nB < 0) {
return -1;
}
{ 処理2 }
: こんな調子で続く
return 0;
}
int proc_2(int nA, int nB)
{
int nRet;
nRet = 0;
if (nA >= 0) {
{ 処理1 }
if (nB >= 0) {
{ 処理2 }
: こんな調子でネストが延々
}else{
nRet = -1;
}
}else{
nRet = -1;
}
return nRet;
}
862仕様書無しさん:2007/07/12(木) 03:07:09
あれ。段下げしない、すまんです。
863仕様書無しさん:2007/07/12(木) 04:01:51
returnは1箇所というルールがあるところもある
864仕様書無しさん:2007/07/12(木) 05:35:26
>>863
自分的にはどちらですか?
深いネストを許すか、return をひとつにするか
865仕様書無しさん:2007/07/12(木) 08:36:18
自分的には前者。
866仕様書無しさん:2007/07/12(木) 09:43:21
・条件文のネストは2重まで
・returnは1箇所、関数末尾のみ
・ラベル、goto 禁止

結果:フラグ乱立

こういうプロジェクトにいますたorz
867仕様書無しさん:2007/07/12(木) 10:01:52
>>865, >>866
ありがとうございます

コードコンプリートの著者の S.McCONNEL は、確かに構造化で出口はひとつといっているんですけどね
try に相当する実装をするための goto は許してます
そして、フラグ乱立は厳しく禁止してますね

私的には前者なんです
ネストがなくても、不正なパラメータ条件を先に排除して、正規の処理を行いたい

868仕様書無しさん:2007/07/12(木) 10:04:02
ネストだいきらい
869仕様書無しさん:2007/07/12(木) 12:29:02
>>863
それはコーディングの問題ではなく、凝集度の問題では?
870仕様書無しさん:2007/07/12(木) 12:53:56
>>869
うーん、ネストが深くなるのは
メソッド分割があまい、って事?

そうとも言い切れないケースも
あるような気がするなあ。
871仕様書無しさん:2007/07/12(木) 22:57:35
極端な規定を設けると、その規定に合わせるために、他のところが極端になるよな。
・return1カ所→フラグ大量発生
・ネスト禁止→1画面ぐらいの関数が、8つに分割とか(これは実話。設計もまずいけど)
872仕様書無しさん:2007/07/12(木) 23:33:42
一律のルールってたいてい害悪だ
適材適所
873仕様書無しさん:2007/07/13(金) 00:21:37
フラグ乱立禁止
→ビット演算で各種フラグを実装,っていうプロジェクトに破魔ってます.

課税するフラグ=1
税込み表示するフラグ=2
総量計算するフラグ=4
とかで,1+2+4=...みたいな?
そりゃ確かに変数の数は減るけどさぁ...
874仕様書無しさん:2007/07/13(金) 02:23:42
普通はマクロか関数でくるむよね? > ビット演算のフラグ
875仕様書無しさん:2007/07/13(金) 03:37:25
>>873
ベーマガに載ってたような手法だなw
876仕様書無しさん:2007/07/13(金) 05:05:23
>>873
すみません、笑ってしまいました

>フラグ乱立禁止→ビット演算で
論理的には乱立と同じかとw

なんか、もうトンチじゃないんだからって感じですね

>>872
ホントにそう思います

いまはまっているので、書き込みました。。。
returnは、1ヶ所厳守、ネストはいくらでもOK のプロジェクト
前任者のコード、if が画面からはみ出そうです
877仕様書無しさん:2007/07/13(金) 11:33:18
>876
そのルールなら goto 使え
ちょっとは見通し良くなるから
878仕様書無しさん:2007/07/13(金) 13:34:45
>>877
goto なんぞ使った日には、たぶん公開処刑ですねw
絶対に、完全に、なにかあろうと、死んでも、goto は許されないですょ(T_T
try ならいいんでしょうけどねw
あいにくCだし
879仕様書無しさん:2007/07/13(金) 14:15:49
ヒデェルールだな
880仕様書無しさん:2007/07/13(金) 16:56:43
当然 ループ内で break, continue も禁止

881仕様書無しさん:2007/07/13(金) 17:06:04
>>880
うむ、それが筋だな。
ルールとしては美しい。

出来上がるコードは知らん。
882仕様書無しさん:2007/07/13(金) 17:15:59
>>881
その美しいルールで書かれた既存のコードは、
1関数3000行のイベントとステートが90度入れ替わった「有限"イベント"機械」
もちろん、ネストは 5段以上

愚痴になってすみません。ミスを連発したので、凹んでます。
883仕様書無しさん:2007/07/13(金) 18:43:43
真剣にルールの改訂を求めた方がいいんでねぇか…
884仕様書無しさん:2007/07/13(金) 19:21:01
重要だけど些細な事「だけ」に拘ると
何が起こるかの実例を見た思いだ。
885仕様書無しさん:2007/07/13(金) 22:36:25
そのルールが無いと、もっとひどいのかもしれん…
886仕様書無しさん:2007/07/13(金) 23:05:20
>>885
コーヒー噴いた。考えただけでもおとろしいです。
887仕様書無しさん:2007/07/13(金) 23:06:38
Javaで、
・メソッド内で使用する変数は、すべてメソッドの最初で宣言すべし。
・メソッド内で使用する変数の宣言時は、すべて初期値を設定すべし。
・メソッド内で使用する変数の初期値は、すべて定数として定義すべし。但しnullは除く。

if文やfor文の中でしか使わない変数もあるのに。
そんなにNullPointerExceptionを発生させたいのかな。
888仕様書無しさん:2007/07/14(土) 00:21:56
returnを一カ所にするためだけのフラグが存在するなら死んだ方がいいと思うが、

fp = fopen();
if (fp != NULL) {
 fread(fp);
 fclose(fp);
}
return;

これならよくする。
889仕様書無しさん:2007/07/14(土) 00:37:02
>>888
fp = fopen();
if (fp != NULL) {
 fread(fp);
 fclose(fp);
return -1;
}
処理

return 0;
これはダメだそうです
fp = fopen();
if (fp != NULL) {
 fread(fp);
 fclose(fp);
nRet = -1;
}else{
処理

nRet = 0;
}
return nRet;
これが要求、たとえネストがどんなに深くなっても
もちろん、ループ内で、continue, break;, returnは禁止
890仕様書無しさん:2007/07/14(土) 00:46:40
fp = fopen();
if (fp != NULL) {
 fread(fp);
 fclose(fp);
raise(SIGUSR1);
}
return 0;
891仕様書無しさん:2007/07/14(土) 12:48:21
>>889
後者のルールでnRetを上書きしてパニクる馬鹿を見たことあるんだが、
それはどう対策しているんだろう。
892仕様書無しさん:2007/07/14(土) 14:02:09
上書きしない
893仕様書無しさん:2007/07/14(土) 14:09:10
おれだったらnLastErrだな。
最後のエラーだから理由があれば上書きしてもよい。
894861:2007/07/14(土) 16:58:53
>>893
そういう言葉の意味を大切にするのはすごい好きです。
895仕様書無しさん:2007/07/16(月) 21:24:42
美しいコーディングルールも大切だけど一番大切なのは
人間の知性で御しきれるかどうかだと思うんだよな。

俺はネストが3以上、コードが50行越えたら
「悪いけど複雑すぎて分からないからシンプルに書き直して」
ってお願いしてる。

若い奴らはプログラマー自身がコードに深く潜りこまないと読めないような
トリッキーなコードや、複雑なコードを
「俺はプログラマーとして上級な事してる。カコイイ!」
と思うみたいだが俺としては何より人間の感覚にマッチしてて、
短くて読みやすいコードを重視してるから

「このコードの変数名の意味を説明してくれ」
とか言って煙たがられてる。
896仕様書無しさん:2007/07/17(火) 01:40:30
>>895
>「俺はプログラマーとして上級な事してる。カコイイ!」
>と思うみたいだが
たぶんそれは買いかぶり
馬鹿の頭の中は、思ったより複雑
897仕様書無しさん:2007/07/17(火) 15:42:26
馬鹿だから複雑なのだよ
898861:2007/07/17(火) 16:04:55
>>897
だから、

「単純に return をひとつにすれば
ネストがどれだけ深くてもわかりやすいだろ?」

という理屈らしいのですが
わたし的には、逆に追えない。
899869 & 897:2007/07/17(火) 19:23:59
>>861 >>898
だから、
int proc_A( int nA ){
if (nA < 0) { return -1; }
{ 処理1 }
return 0;
}
int proc_B( int nB ){
if (nB < 0) { return -1; }
{ 処理2 }
return 0;
}
int proc_1(int nA, int nB){
if (proc_A( nA ) < 0) { return -1; }
if (proc_B( nB ) < 0) { return -1; }
: こんな調子で続く
return 0;
}

こうでしょ?
900898:2007/07/17(火) 20:16:15
>>899
そう書きたいのですが
そこのルールは、

return はひとつ
if はelseが必須
ループにcontinue, breakはなし
ネストは制限なし

なんです
そうすれば、「間違いがなくなる」し「わかりやすい」という理由で。
901仕様書無しさん:2007/07/17(火) 20:24:27
嫌がらせとしか思えんな
902仕様書無しさん:2007/07/17(火) 22:17:22
>>861みたいなやり方した(+全体をdo{}while(false)で囲んでエラー時breakし、最後でreturn)。
その後、エラーが起きたらその場で抜ける方が可読性高くなる&ネストが減る、と考え
>>899みたいに書くようになった。
更に、関数化するルールを以下のように決めて、
「汎用的な共通関数」「システム固有の共通関数」「ある程度機能的に分かれるサブフロー」
単純にステップ数どうこうで関数分けする、というのはやめた。
(まぁ、このやり方についても賛否両論いろいろあるだろうけど。)


ある程度の規模のアプリをサブシステム分けして複数人で作る時、
コーディングルールなしで個々人の自由にしちゃうと可読性その他めちゃめちゃ低下して
以降の保守/拡張も大変になるからルールを設けること自体は悪くないけど、
いいルールと思えないものをそのままずっと改定せずに使い続けるってのもどうかなぁ。


こういうルールを押し付ける人間はルールのよしあしを見ない(昔のPrjで使ったから、とか)
場合が多いからね。
903仕様書無しさん:2007/07/17(火) 22:29:46
とりあえずgotoを頑なまでに嫌うのは古いスタイルに凝り固まった証拠だという調べ方は結構使えると思う
904仕様書無しさん:2007/07/19(木) 13:14:07
リターンが1つでgoto禁止じゃなけりゃgotoでとばしちまえ。
905898:2007/07/19(木) 13:49:22
>>904
goto は論外ですw
906仕様書無しさん:2007/07/19(木) 14:01:09
goto1つに目くじら立てるのはCマガとか診断室に洗脳されてる証拠だね
あれって10年以上前のスタイルなのに未だに引きずってるってこと
勿論>>898はそんな奴らの同類じゃないよね
907仕様書無しさん:2007/07/19(木) 21:22:38
いくつか失敗するかもしれない処理がある関数とかで、失敗したときは -1を返すときとかで、

if (res = リソースの確保()) {
 /*失敗*/
 return -1;
}
if (ふふん) {
 /*失敗*/
 リソースの開放(res)
 return -1;
}

とかってやりまくるより、

res = NULL;
if(res = リソースの確保()) {
 goto failed;
}
if(ふふん) {
 goto failed;
}

failed:
 if(res) リソースの開放(res);
 return -1;
ってやる方がはるかに分かりやすいと思うのは俺だけか?
908仕様書無しさん:2007/07/19(木) 21:51:13
>>906
診断室が藤原博文のヤツなら、あれはべつにgoto絶対禁止してないぞ。
p.380に末尾gotoしてfreeする話も載ってる。
909898:2007/07/19(木) 21:52:15
>>907
同類になれない人ですw

>>906
ようするに 擬似 try ですよね
910909:2007/07/20(金) 02:27:30
×>>907
>>906
すみません
911仕様書無しさん:2007/07/20(金) 14:06:03
try/catch構文は、あまりに便利だから導入されたの?
912仕様書無しさん:2007/07/30(月) 00:11:13
>>4
未熟だな。コールバックがそんなに憎いか?
913仕様書無しさん:2007/07/30(月) 00:19:33
>>895
おまえに理解できるように書けってか?
50行越えたらってオマエ・・・ww

矛盾してるなぁ。馬鹿でも解るプログラムは
冗長になるはずなんだけど?
全メソッド50行以内にしようと思ったら、高度にOO化しないと無理だぜ?
高度にOO化すると理解し難くなるよなぁ?
914仕様書無しさん:2007/07/30(月) 00:22:51
何時のレスに返してるw
915仕様書無しさん:2007/07/30(月) 00:37:01
>>913
まぁ、丁度俺が本人なのでレスするが、別に高度にOO化する必要は無いよ。
丁寧に構造化したり、再帰や高階のテクニックを適用すればシンプルで読みやすいコードはかける。
(俺が言っているトリッキーとは、intを32個のフラグにしたり、変数を使いまわすようなこと)

馬鹿でも理解できるように書くわけではなくて「即座にコードの意味や構造が理解できるように書く」のが重要。
だから、変数名や関数名がhogeとか意味分からない名前になってたらだめ。
916仕様書無しさん:2007/07/30(月) 01:29:06
>>915 に1票。
917916:2007/07/30(月) 01:37:26
ただ、行数で判断するのはちょっとどうかと思う。
918仕様書無しさん:2007/07/30(月) 03:21:51
>>917
行数は、さすがにものの例えでしょ。
919仕様書無しさん:2007/07/30(月) 16:39:57
ここで
「識別子の種類数」
と言ってみようか
920仕様書無しさん:2007/07/30(月) 20:35:13
>>895
ネストが3以上でだめとか、50行以上がだめとか、ろくにコードを読み書きしたことねーだろ。
921仕様書無しさん:2007/07/30(月) 20:56:11
>>920
さすがに、印刷して行をまたいだり、
画面からはみ出るほどネストすると
書いた本人はいいかもしれないが
後から読む奴は読めない

読めるのを自慢するのは
目がいいのを自慢するのと変わらないきがする

もちろん、読めないというのは比喩で
正しくは
読みづらい、間違いやすい
922仕様書無しさん:2007/07/30(月) 21:11:48
実用的なシステムのコードで、ネストが全部2以下とか、ルーチンが50行未満とかありえないだろ。
無理にそんなことしたら、かえってコードがひねくれるよ。
923仕様書無しさん:2007/07/30(月) 22:18:52
桁数は80以内(苦笑)
924仕様書無しさん:2007/07/30(月) 23:09:18
>>923
その規定に合わせるために、
arg1 = network_data;
arg2 = max_retry_count;
arg3 = hogehoge_fugafuga;
arg4 = &error_checker;
...
ret = func(arg1, arg2, arg3, arg4, ...);

と涙ぐましい無意味なことをやってるコードを見たことがある。
925仕様書無しさん:2007/07/30(月) 23:15:36
>>924
それなら許しちゃうかも。w

一度だけ、はみ出てコンパイル通らないからという理由で
if〜then〜else〜endifがガタガタになったコードを見たことがある。
もちろん、理由を聞いた瞬間張り倒した。www
926仕様書無しさん:2007/07/30(月) 23:19:28
そういう場合は俺なら
func(
network_data,
max_retry_count,
hogehoge_fugafuga,
&error_checker
);
ってするんだけどこれってあんまりよくないのかな?
927仕様書無しさん:2007/07/30(月) 23:25:45
引数が長いときはやる。
928仕様書無しさん:2007/07/30(月) 23:27:15
>>926
WindowsAPIなんかで、引数10ぐらいになってくると、カラム制限が無くても普通は改行するよね。
変数名が長いだけで、引数が4つとか5つなら、カラム制限がなければ1列に書く。

あとで、ぱっと見たときにどう見えるかって点からすると、ケースバイケースにしたいかな。
929仕様書無しさん:2007/07/30(月) 23:28:39
つか、一行80桁のところは、改行のしかたもあわせて決めてあるだろ?
930仕様書無しさん:2007/07/31(火) 00:12:32
そういう所に限って、変数名は8文字までとかクソルールが付いてくる、大抵。
931仕様書無しさん:2007/07/31(火) 00:56:42
さらに、
引数は3つまで。4つは許可制。


うんこ構造体増殖中orz
932仕様書無しさん:2007/07/31(火) 01:19:31
そんな雁字搦めの所で働いてたら
俺そのうち白目剥いて「キャッサバ!!キャッサバ!!」って叫びながらwe can fly!しそうになるだろうな
933仕様書無しさん:2007/07/31(火) 06:59:13
>>931
過去にやたらおおい引数の関数を多増させたやつがいたんでしょうね
たいていの規約は

「熱ものに懲りて、まなすを吹く」

になってる気がします。
934仕様書無しさん:2007/07/31(火) 10:44:37
まなす。これは新しい。
935仕様書無しさん:2007/07/31(火) 10:46:05
それと、熱もの、これも新しい。
普通に変換出来るので、きっと新しい。
936933:2007/07/31(火) 11:14:47
>>934 >>935

937仕様書無しさん:2007/07/31(火) 11:29:24
ドンマイw
938仕様書無しさん:2007/08/05(日) 02:47:59
>>926
ひとつの目安は、デバッガでデバッグしやすいこと。
ステップ実行しても中身が分からないコード書くと自分の首締めるだけだよ。
ちなみに、おまいのは良い。
939仕様書無しさん:2007/08/05(日) 03:04:19
引数の多い関数に改行入れると、ステップ実行に関係があるの?
940仕様書無しさん:2007/08/05(日) 07:37:27
>>939
関係ない。
941仕様書無しさん:2007/08/05(日) 17:22:27
>>940
VS2005は横スクロールしたまま進むから
ネストしてたりすると行の途中からしか表示してくれなくてみづらい事があるよ。
942仕様書無しさん:2007/08/11(土) 08:13:56
>>926
Cなら構造体ポインタ使う。
943仕様書無しさん:2007/08/11(土) 09:59:32
そうやってその場限りの意味不明な構造体が増えていく・・・
944仕様書無しさん:2007/08/11(土) 14:59:48
いつものこと。
945仕様書無しさん:2007/08/12(日) 11:42:15
コメント日本語禁止。
946仕様書無しさん:2007/08/12(日) 11:52:06
>>945
/* That will mass-produce comments of english and roma ji no bimyou ni mixed. */
947仕様書無しさん:2007/08/12(日) 12:38:20
>>945
コメントで、アホなコメント書く奴いるね

if (nPropose == OK){
bDeathFlag = true;//フラグをONにする
}
とかw
見りゃわかるって
948仕様書無しさん:2007/08/12(日) 14:23:11
日本語コメントは、ツール通しにくいし、
文字化けしてコンパイラエラー起きるし、
コードが変わって差分管理が全滅するし、
海外出すときもトラブルの種。

ローマ字のほうがまだましダヨ。>>946
949仕様書無しさん:2007/08/12(日) 15:53:10
>>948
日本語の通らない処理系なら日本語禁止
日本語の通る処理系なら日本語で

じゃ、いけないの?
950仕様書無しさん:2007/08/12(日) 16:18:21
今どき日本語に対応できない処理系って・・・
951仕様書無しさん:2007/08/12(日) 18:56:33
UNICODE使えばいいじゃん。
952仕様書無しさん:2007/08/12(日) 22:03:17
つーか半狩り案記法は恐ろしく読みにくい。
953仕様書無しさん:2007/08/12(日) 22:09:32
お前の当て字より読みやすい
954仕様書無しさん:2007/08/13(月) 22:50:19
ハンガリアンについて語るときはjoelのアレを一読してからな。
955仕様書無しさん:2007/08/13(月) 23:26:34
ハンガリアンチョーップ!!
956仕様書無しさん:2007/08/13(月) 23:31:56
ハンガリアン?
カップヌードル
957仕様書無しさん:2007/08/14(火) 04:30:22
ハムスター?
958仕様書無しさん:2007/08/14(火) 10:38:51
アメリカ郷土料理?
959仕様書無しさん:2007/08/14(火) 19:02:33
ハンガリアンハムスター
960仕様書無しさん:2007/08/29(水) 23:28:12
>>959
あまりに、かわいそうなので、突っ込んでおこう
×ハ
○ジャ
961仕様書無しさん:2007/08/30(木) 03:43:52
ハンガリアンジャムスター

こうですか?わかりません><
962仕様書無しさん:2007/08/30(木) 04:30:23
>>961 の文字列を正しいものにする処理を書きなさい
ってどう?言語は問わない。
963仕様書無しさん:2007/08/30(木) 10:09:41
String str = "ハンガリアンジャムスター";
str = "ジャンガリアンハムスター";

できたぞー
964仕様書無しさん:2007/08/30(木) 10:11:20
これじゃあんまりだからちゃんとやるぞ。

if("ハンガリアンジャムスター".equals(str)){
str = "ジャンガリアンハムスター";
}

できたぞー
965仕様書無しさん:2007/08/30(木) 13:42:05
というか、この場合にかわいそうなのは960では?w
966仕様書無しさん:2007/08/30(木) 14:54:44
>>957でボケたのに>>960の人気に嫉妬する957の俺ガイル
967仕様書無しさん:2007/08/30(木) 21:54:06
>>960の仕様はジャンガリアンジャムスターだしな。
968仕様書無しさん:2007/10/14(日) 22:05:17
>>964
やっぱり "文字列".equals(str) の方が標準?
なんか俺のいる現場のJAVAソースって
str != null && str.equals("文字列") って書き方が多いんだけど...
書いた当事者が居なくなって初心者のおれが面倒見るハメに...
969仕様書無しさん:2007/10/14(日) 22:33:28
所詮ぬるぽ対策にすぎないからな
970仕様書無しさん:2007/10/24(水) 02:33:06
手順、文脈として正しいのは str != null && str.equals("文字列")
実際の業務用プログラムの作法として正しいのは "文字列".equals(str)
971仕様書無しさん:2007/11/01(木) 14:35:56
やっぱJavaはダメだな
972仕様書無しさん:2007/11/14(水) 16:02:15
"文字列".equals()には致命的な問題がある。
それは、直感的に「文字列定数がオブジェクトである」と思えないこと。
「使えるんだしそのほうが楽」というのは間違ってないんだが、
それをいってしまうと「コンパイルできればそれでいい」というのを肯定することになる。
973仕様書無しさん:2007/11/16(金) 15:23:49
>>972
むしろ逆だろ。

不勉強な奴は「あれ…"foo".equals(bar)って出来るんだ…」って驚くんじゃね?
それをきっかけに、どんなカスな本にも書いてある「文字列もオブジェクトです」に辿りつく、と。
974972:2007/11/16(金) 23:06:50
>>973
それこそ問題があると思う。
文字列型がオブジェクトであることと、文字列定数がオブジェクトであることは別の話だろう。
それに「どんなカスな本にも書いてある」といっても、それはJavaに限るんじゃないか?
他に「定数がオブジェクトである」言語があるなら教えてほしい。
他にないなら、これは「Javaでしか通じない表記」になる。

それに"foo".equals(bar)が直感的にわかりやすいなら可読性は下がらないが、到底そうは思えない。
ソースを読みにくくしてまで書く手間を減らすっていうのはナンセンスだし、
staticなString.equals(foo, bar)の方がよっぽど優れている。

ついでに言えば、オブジェクトを明示的に開放しないJavaにとって、
オブジェクト定数と非オブジェクト定数の違いはほとんどないんじゃないのか?
そこからメソッドを呼ぶことはできる以外に差がないなら、そこをプログラマが意識する必要もない。

言語特有の表記というのはいろいろあるけれど、その表記で可読性が落ちるなら使うべきではないと思う。
例えば、Cの三項演算子みたいに。
975仕様書無しさん:2007/11/16(金) 23:21:16
定数でなくてリテラルの事を言ってるんだよな。
リテラルが型を持って、その型の通り振る舞うのは大抵のプログラム言語に
見られる特徴だと思うが。
976仕様書無しさん:2007/11/17(土) 02:54:13
>>974
まあ落ち着け。

あんたの言いたいことは分からないでもないが、
>>973の言いたいのは、あんたが問題視しているようなことも含めて、
そういった問題に目を向けるきっかけになるんじゃないの、ということじゃないかな。

最後にもう一回書いとくけど、落ち着けよ。
977仕様書無しさん:2007/11/17(土) 02:58:58
可読性を問題にしているのか、言語の欠点を論っているのか明確でないな。
コーディングルールの範疇ではどちらも考慮しなければならないと思うが、
必死(www)で理屈を披露したいのなら、焦点を明確にした方が良い。

…俺の理解力が足りないとか、下らないことぬかすなよ。
978仕様書無しさん:2007/11/17(土) 10:58:45
"foo"==bar
が一番直感的だと思うけど・・。
979仕様書無しさん:2007/11/17(土) 17:02:20
>>978
"foo"=bar
の方が直感的
980仕様書無しさん:2007/11/17(土) 21:06:17
文字列がなぜ基本型でないのかを論じるのが先だろ(笑)
981仕様書無しさん:2007/11/17(土) 21:31:23
逝けてる話が最近出てない・・・


他の言語からJavaにうつる時、いきなり
a==bだとオブジェクトが同じものかの比較、
a.equals(b)だと文字列比較、
って言われてもナァ。

演算子のオーバライドをしない、ってのは確かに複雑さをはぶく意味ではよかったんだろうけど
「絶対知ってなきゃいけない前提条件」を増やした、ってのはJavaのデメリットかと・・・
982仕様書無しさん:2007/11/17(土) 23:53:02
Cだってstrcmp使うだろ
別にJavaが最初じゃないし
983仕様書無しさん:2007/11/18(日) 00:57:28
>>982
VC触った当初からC++としてだったし、
VBも同様、
という事で、==(あるいは=)で考えてしまいますた。

==がNG、とかなら分かるんだけど、==でも比較できて(オブジェクトとして)、
でも実際文字列として見たければ.equals()使えよ、ってのがどうにも・・・
984983:2007/11/18(日) 00:58:20
あ、でもVC++でも文字列比較は.CompareNocase()とか使ってたわ・・・
ただの毛嫌いなのかしら。。。
985仕様書無しさん:2007/11/18(日) 02:07:31
実は他の組み込み型でもequalsを使うべきだとか。
int a;
if (a.equals(3))
986仕様書無しさん:2007/11/18(日) 02:20:04
==をオーバーロードすればよし
987仕様書無しさん:2007/11/19(月) 05:10:27
==は左辺と右辺が同一か比較するもので、
左辺右辺共にオブジェクトなんだから、オブジェクトが同一か比較するって動きは
別に変じゃないと思う。
あくまでstringは文字列を保持するオブジェクトであって、「文字列そのもの」じゃないんだから。
ところがintとかは特例的に「数値そのもの」の色が強い(おそらくCからの流れなんだろう)から、
==で「数値そのもの」の比較が出来る。
988仕様書無しさん:2007/11/19(月) 22:49:03
not系の判定でandやorはしない。
if(a != 1 && a != 2 && a != 3){ ... }
そりゃ考えれば分かるが、ぱっと見なんだか分からない。
989仕様書無しさん:2007/11/20(火) 09:29:53
>>972への突込みところは
>それは、直感的に「文字列定数がオブジェクトである」と思えないこと。
という個人的な思い込みを前提に語りだしてる事だと思うがw
990仕様書無しさん:2007/11/20(火) 10:13:52
「直感的」はbuzzwordにすべき
991仕様書無しさん:2007/11/21(水) 01:03:44
>>988
何これ?
992仕様書無しさん:2007/11/21(水) 02:02:11
>>974 おまいが言いたいのはこういうことか?
ttp://blog.goo.ne.jp/akatoza/e/16a2767036ba3a2b5a8d6450e86d6e27

993仕様書無しさん:2007/11/21(水) 06:24:36
C++ではfunction generatorを利用した「流れるインターフェース(?)」っていうのがあるんだけど
こういうのは仮に作っても使わせてくれないんだろうな…
Colletcion | find_if(_1 > 0) | output;
994仕様書無しさん:2007/11/21(水) 09:54:15
どの言語使ってもメモリ上の実体の比較とコンテキスト毎の比較は別に必要だし、
オブジェクト指向してればセマンティック比較のメソッドがあるだろうけど
結局コンテキスト毎の比較の補助でしかないしなぁ
995仕様書無しさん:2007/11/21(水) 18:39:04
誰か、助けてくれ。
2byte文字の関数が大量に組み込まれたコードを手直ししてるんだ。
まさかとは思ったが、DBもテーブルも項目名も全角なんだ。
作ったのはウチじゃないんだけど、作った会社が飛んだらしいんだ。
最初に「1から作り直したほうが良いと思いますよ?」って提案はしたんだ。
でもなんか知らんけど修正の方向でGoサインが飛んできたんだ。


・・・誰か、助けてくれorz
996仕様書無しさん:2007/11/21(水) 19:02:03
>>995
ちょっと待て、それは現在稼働しているソースか?

動いているんだったら2byte文字のままで動かす環境を整えたほうがいいと思うのだが。
それならそもそも>>995がSOSを出さないような気もするが。
997仕様書無しさん:2007/11/21(水) 19:12:00
.NETの功罪かな
998仕様書無しさん:2007/11/21(水) 19:13:42
>>983
同感。
Javaの==の仕様はおかしい、というか馬鹿みたい。
オブジェクトのアイデンティティを比較したくなることなんて
希だろうに。
999仕様書無しさん:2007/11/21(水) 23:53:48
演算子のオーバーロードが出来ない事が影響してる?
1000仕様書無しさん:2007/11/22(木) 01:31:31
ヌル(・ω・)ポリーン
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。