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

このエントリーをはてなブックマークに追加
952仕様書無しさん:02/08/09 16:33
変なコーディング規約だったら害にしかならん。
聞いた話なんだがCのプロジェクトで、
・関数は1ファイルにつきひとつ
・関数名はfnnnnで、nには数字を割り当てること。
なんてのがあったそうな。何が嬉しいんだそんなことして。
前者は、まあわからんでもないんだけど、今更って感じだし。
953945:02/08/09 16:47
>>951
 それはわかりますよ
 汎用機で使うなら、ソートのPGを作らなくても
 JCLでSORTのユーティリティがあったな〜 
 って思ったから・・・・・
954仕様書無しさん:02/08/09 17:01
>>952
2年前に、Windows用アプリを作るプロジェクト(VB)で

 ・関数名、変数名は8文字まで
 ・ローカル変数は使わない
 ・全ての関数でデバッグメッセージを表示する

というのがあった。もちろん、規約作られて数分で作り直しを命令。
955仕様書無しさん:02/08/09 17:09
>>953
そりゃあ いらんわ
内部SORTで、一度に処理したかったのでは
まあ、昔は、プログラムを一度終了して、また
SORTして STEP多くするのを嫌った
類がありますからね
今でも使用中なら。。。ちょっと
大昔のDASDはOPEN、CLOSEに時間が
かかったものです
956仕様書無しさん:02/08/09 17:17
あ、ちがいますね
これ単純にSORTのプログラムですね
呼び出されるプログラムではなさそうですね
これは、失礼
957仕様書無しさん:02/08/09 17:20
>>953
>>JCLでSORTのユーティリティがあったな〜 
で正解です
SORTプログラムがころがっているなら
過去にプログラム容量増大のために
だれかがつくったのでは?
いつ製作されたもでしょうね(w
958仕様書無しさん:02/08/09 22:02
文字列コピーは必ずforループ。
ヤメテ…
959仕様書無しさん:02/08/09 22:13
>958
うちは文字列内の文字を探すのもforループしてる。
そして検索かけた文字が見つかったらbreakでループを抜ければいいものを
for分の終了条件を自前で満たしてやがる。
オマエだよ!みかかにいるC++6年PGよぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉ!


for(i = 0; i < strlen(buf); i++) {
 if (buf[i] == '\n') {
  buf[i] = ' ';
  i = strlen(buf);
 }
}
960仕様書無しさん:02/08/09 22:34
>958
それは関数呼び出しのオーバヘッド削減のためにインライン展開したのだ。
しかも、ループ内はアンロールされてたりしない?

んなわけないだろ!
961仕様書無しさん:02/08/10 01:42
>>960
それはなんとも。たしかに関数呼び出しのオーバーヘッドを考慮してるのかもしらんが。

でもライブラリの関数ってCPUの特性を生かして極限までチューンしてあったりすることが
あるんで、関数呼び出しのオーバーヘッドを勘案しても十分に引き合う場合もあったりする。

Sunのライブラリなんかすごいらしい。ソース読んだことないから噂でしかしらんけど。
962仕様書無しさん:02/08/10 09:55
VC++だと一部のライブラリ呼び出しはインライン展開されたり。
963仕様書無しさん:02/08/10 11:54
日本語リソースが一つのクラスにまとめて書いてあるのはいいんだが、
ソースのコメント部分でリソースを定義していた。
どうしてこれで動くか不思議だったので調べたら、
ソースコードを読み込んで別のソースを作成して、
それにコンパイルかけるMakefileが見つかった。
アホですか?
964仕様書無しさん:02/08/10 16:37
>>959
でもbreakを極端に嫌うヤシって実際いるよな〜。強引な制御構文は使わないとかいって。
gotoなみに (w
965仕様書無しさん:02/08/10 21:06
>963
そいつは、それが分かりやすいと思ってんだよな。
で、誰が注意しても聞く耳もたんと。

どこにでもいるよな、そういうアフォ。
966仕様書無しさん:02/08/11 01:09
>>963
初期バージョンのコンパイラが日本語を通さなかったので何とかして
回避していた名残とか…
967仕様書無しさん:02/08/11 08:17
保守
968仕様書無しさん:02/08/11 14:37
>>966
今でもそういうコンパイラあるよー
969963:02/08/12 00:36
>965,968
でもね、それJavaなのよ。
少なくとも開発始まったのJava2になってからだと思うし。
外注が書いたらしいけど、何をやっているか理解した瞬間に
書いた糞PGもOK出したSEも死んでしまえと思ったよ。
970仕様書無しさん:02/08/12 00:52
>969
すげーよ。神だね。
971仕様書無しさん:02/08/12 11:09
#include <math.h>

typedef enum {
false = 0,
true = (!false)
} boolean;

int getMaxPrime(int n)
{
while(isPrime(n) != true) {
n--;
}

return n;
}


boolean isPrime(int n)
{
if (isCanPowerAofB(n)) {
return false;
}

int r = 2;

while (r < n) {
if (gcd(n,r) != 1) {
return false;
}

if (isPrime(r)) {
int q := MaxPrime(r-1);

if (q >= round(4*sqrt(r)*ln(n))
&& round(pow(n,(r-1)/q)) mod r) {
break;
}
}

r++;
}

for (int a = 1 ; a <= round(2*sqrt(r)*ln(n)) ; a++) {
if (round(pow(x-1,n)) mod (pow(x,r)-1 ,n)) { // (*)
return false;
}
}

return true;
}
972仕様書無しさん:02/08/12 11:15
↑あなたのコード?すごいね
973仕様書無しさん:02/08/12 11:16
>971
読む気になりません 解説してください
974仕様書無しさん:02/08/12 11:18
>>971
なにがどうなの?
解説
975仕様書無しさん:02/08/12 11:23
>>971
型がぐちゃぐちゃだな。だいたい int じゃ大抵の環境で 32bit, 多くて 64bit ぐらい
しか扱えんだろ。

>>973-974
話題の「多項式時間 素数判定プログラム」と思われ。インドの研究者が、素数判定
問題は P に属するって事で、アルゴリズム付きの論文を書いたらしい。
976973:02/08/12 11:27
>975
なるほど、解説ども
多項式時間 素数判定プログラムですか…調べてみるかな

#ところで次スレ立てないで大丈夫なんだろうか
977973:02/08/12 11:38
スレ違いだが気になったので補足

 スラッシュドット ジャパン | 素数判定アルゴリズムを開発
  http://slashdot.jp/article.pl?sid=02/08/09/1248255&mode=thread

 PRIMES is in P
  http://www.cse.iitk.ac.in/news/primality.html

#やっぱインド人は凄いなあ…
978って:02/08/12 11:40
979仕様書無しさん:02/08/12 12:39
>978
お疲れ
980 :02/08/16 16:27
しょうがないのお
981 :02/08/16 16:28
しょうがないのお
982 :02/08/16 16:28
しょうがないのお
983 :02/08/16 16:28
しょうがないのお
984 :02/08/16 16:28
しょうがないのお
985 :02/08/16 16:28
しょうがないのお
986 :02/08/16 17:09
しょうがないのお
987 :02/08/16 17:10
しょうがないのお
988 :02/08/16 17:10
しょうがないのお
989 :02/08/16 17:10
しょうがないのお
990 :02/08/16 17:10
しょうがないのお
991 :02/08/16 17:10
しょうがないのお
992 :02/08/16 21:34
しょうがないのお
993 :02/08/16 21:34
しょうがないのお
994 :02/08/16 21:34
しょうがないのお
995 :02/08/16 21:34
しょうがないのお
996 :02/08/16 21:34
しょうがないのお
997 :02/08/16 21:52
しょうがないのお
998 :02/08/16 21:52
しょうがないのお
999 :02/08/16 21:52
しょうがないのお
1000えち:02/08/16 21:52
(*´д`*)ハァハァ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。