ぱっと見て「ヘタだなぁ」と思うコード その2
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/03/19(日) 13:19:49前スレ
ぱっと見て「ヘタだなぁ」と思うコード
http://pc8.2ch.net/test/read.cgi/tech/1141867015/
0002デフォルトの名無しさん
2006/03/19(日) 13:23:040003デフォルトの名無しさん
2006/03/19(日) 13:24:150004デフォルトの名無しさん
2006/03/19(日) 13:38:590005デフォルトの名無しさん
2006/03/19(日) 14:22:06if文の条件式の中身がboolであることが明確でないと読みにくいとw
そんなことも明確化しなきゃいけないなら、変数そのものもboolかどうか明確化いたいよね?
blnDoneとでもしたらww
0006デフォルトの名無しさん
2006/03/19(日) 14:23:140007デフォルトの名無しさん
2006/03/19(日) 14:26:11!の方がプリミティブなんだから
0008デフォルトの名無しさん
2006/03/19(日) 14:28:400009デフォルトの名無しさん
2006/03/19(日) 14:31:120010デフォルトの名無しさん
2006/03/19(日) 14:39:58それいいなw
!って見落とすから == falseとかいつも書いてる
0011デフォルトの名無しさん
2006/03/19(日) 14:40:44!だけ太くすれば解決する
0012デフォルトの名無しさん
2006/03/19(日) 14:42:09#define NOT(x) (!(x))
0013デフォルトの名無しさん
2006/03/19(日) 14:44:290014デフォルトの名無しさん
2006/03/19(日) 14:49:19使ってない
上から流して読んでくと見落とす
0015デフォルトの名無しさん
2006/03/19(日) 14:50:23ここは「ヘタだなぁ」と思うコードを晒すスレじゃねーのかよ。
>>13
プロポーショナル使ってんのは>>11だけだ。
if (!ll_) と if (!l_)が混ざると固定でもいやなもんがある。
0016デフォルトの名無しさん
2006/03/19(日) 14:51:490017デフォルトの名無しさん
2006/03/19(日) 15:01:17ああなるほど。そういう変数名だと分かりづらいね。確かに。
if(ll_||!l_) とか。
0018デフォルトの名無しさん
2006/03/19(日) 15:01:480019デフォルトの名無しさん
2006/03/19(日) 15:13:39ぱっと見て「ヘタだなぁ」と思うコード
0020デフォルトの名無しさん
2006/03/19(日) 15:22:21ヘタかどうかは微妙だよね。スタイルの問題だと思うんだ。
Cでは変数名をあまり長くしない文化があるし。
0021デフォルトの名無しさん
2006/03/19(日) 15:35:16おお、これ良いじゃん
前スレを含めて初めて有益なコードを見た気がする
0022デフォルトの名無しさん
2006/03/19(日) 15:40:49>>15
0023デフォルトの名無しさん
2006/03/19(日) 15:46:00:
str.Replace(str, "%TIMEOUT_SEC%", timeOut)
みたいなことを、C++とか.NETとかでやってるやつ。
Javaはしゃぁないかもしれん。
0024デフォルトの名無しさん
2006/03/19(日) 15:47:52可読性もよいでしょう。
bool condition_is_true = true;
if (condition_is_true) doIfConditionIsTrue() ;
boolがないコンパイラ依存プロジェクトでcharをbool的型として扱う次のケースはいけません。
typedef char BooleanType;
#define TRUE 1
#define FALSE ~TRUE
以下のtestでNGとなります。
void doIfConditionIsTrue(const char *c) {printf(c)}
BooleanType condition_is_true = !FALSE, condition_is_false = FALSE;
if (condition_is_true == TRUE) doIfConditionIsTrue("OK.\n"); // OK?
if (condition_is_false) doIfConditionIsTrue("NG!\n"); // NGはでないはず
0025デフォルトの名無しさん
2006/03/19(日) 15:49:23必要なときもあるが、
ただ単に一意にし損ねているのに対して、バグ回避でつけているのをよく見る。
今の職場では特に、よく見る。
0026デフォルトの名無しさん
2006/03/19(日) 15:52:12(っつーか FALSEが~TRUEはないやろ。)
0027デフォルトの名無しさん
2006/03/19(日) 15:57:000028デフォルトの名無しさん
2006/03/19(日) 15:58:02・・・・
0029デフォルトの名無しさん
2006/03/19(日) 15:59:510030デフォルトの名無しさん
2006/03/19(日) 16:04:23try{
return (int)str;
}catch(BadCastException e){
return 0;
}
}
のように、正常系で例外を使っているコード。
0031デフォルトの名無しさん
2006/03/19(日) 16:48:11コード。
主に、 C++ で ! 演算子がオーバーライド ( ロード?どっちだっけ ? )
されているクラスのインスタンスの評価。
if( !!aaa )
{
// aaa が true の場合のコード
}
0032デフォルトの名無しさん
2006/03/19(日) 18:40:38何がだめかわからん。
0033デフォルトの名無しさん
2006/03/19(日) 19:14:21if( a < b ) return -1;
return 0;
スマートに書けないものか。
0034デフォルトの名無しさん
2006/03/19(日) 19:20:59こうか?
return a > b ? 1 : (a < b ? -1 : 0);
これじゃ縮んだだけか・・・。
0035デフォルトの名無しさん
2006/03/19(日) 19:21:37書いて。
0036デフォルトの名無しさん
2006/03/19(日) 19:26:540037デフォルトの名無しさん
2006/03/19(日) 19:28:500038デフォルトの名無しさん
2006/03/19(日) 19:29:320039デフォルトの名無しさん
2006/03/19(日) 19:30:42これならどうだ?
return a < b ? -1 : (int)(a > b);
0040デフォルトの名無しさん
2006/03/19(日) 19:31:33でじゅうぶんだと思う
0041デフォルトの名無しさん
2006/03/19(日) 19:31:58スレタイにのっとってるだけだろ。
0042デフォルトの名無しさん
2006/03/19(日) 19:33:30アルゴリズムは、特定の言語の仕様
(たとえばbooleanのtrueをintにキャストすると-1になる)
に依存しないでください。
ありがとうございました。
0043デフォルトの名無しさん
2006/03/19(日) 19:33:400044デフォルトの名無しさん
2006/03/19(日) 19:34:01仕様が違っています。
0045デフォルトの名無しさん
2006/03/19(日) 19:38:53>>33のままでいいだろ。
0046デフォルトの名無しさん
2006/03/19(日) 19:41:18コードはどういう動きをするかという説明を
そのままを置き換えただけにしてください。
コードは人間が読み書きするものなんですから。
0047デフォルトの名無しさん
2006/03/19(日) 19:44:590048デフォルトの名無しさん
2006/03/19(日) 20:07:27あとは精々順序くらいか?1,-1,0よりは、-1,0,1や1,0,-1という順序のほうがちょっとまし。
まぁ難癖レベルだな。
こういう:「if(a >= 0 && a <= 10)」のは、こう:「if(0 <= a && a <= 10)」しろって思うけどね。
0049デフォルトの名無しさん
2006/03/19(日) 20:09:37>>36
>>39
>>40
>>43
0050デフォルトの名無しさん
2006/03/19(日) 20:11:50これが一番スマートだろ。見た瞬間理解できる。
他のはぱっと見て「ヘタだなぁ」と思うコードだな。
0051デフォルトの名無しさん
2006/03/19(日) 20:14:22寧ろ漏れは、
「喪前は"0がa以下"なのか?」と突っ込みたくなるが。
0052デフォルトの名無しさん
2006/03/19(日) 20:21:39思ったことがあると思う。実生活ではよくある表現だし。
> if(0 <= a && a <= 10)
これは、この実生活で自然な書き方のちょっと変形版。
&&の左右で分けて読むのではなく、全体で一つの意味と見る、
いわば慣用句的な使い方だと思う。
0053デフォルトの名無しさん
2006/03/20(月) 01:48:22は、
!(a < 0 || 10 < a)
とかきたくなるんです。いや一見ヘタですけど。
だって配列外参照予防として、1オリジンでなく0オリジンしますよね。
const size_t SIZE = 10;
int array[SIZE];
for(size_t i = 0; i < SIZE; ++i) do(array[i]); // ふつう0オリジン。(OK)
for(size_t i = 0; i <= SIZE - 1; ++i) do(array[i]); // 1オリジンしません。(その1)
for(size_t i = 1; i <= SIZE; ++i) do(array[i - 1]); // 1オリジンしません。(その2)
好みの問題です。
私見、1オリジンはコードがちょっと長いし、添字の調整とか間違えやすいのでダメでしょう。
0054デフォルトの名無しさん
2006/03/20(月) 02:07:57じゃあこれはどうする?
'0' <= ch && ch <='9'
0055デフォルトの名無しさん
2006/03/20(月) 02:19:23それはそのままがいいす。
0056デフォルトの名無しさん
2006/03/20(月) 08:16:17前半と後半の関係性がわからない。
0057デフォルトの名無しさん
2006/03/21(火) 08:17:141票
0058デフォルトの名無しさん
2006/03/21(火) 10:01:42http://www-ccs.ucsd.edu/c/iso646.html
http://www.kuzbass.ru/docs/isocpp/lex.html#lex.digraph
0059デフォルトの名無しさん
2006/03/21(火) 19:27:31「だって」以降の文が繋がってない。
ぱっとみてヘタと分かる文章の好例ですな。
0060デフォルトの名無しさん
2006/03/22(水) 18:10:010061デフォルトの名無しさん
2006/03/22(水) 18:56:07| | | / | | lノ ー lノ ー ‐┼‐ / / __| ヽ | \
ヽ、. | | ├ー┤ ノ ノ ノ (___ (___ / し / (丿\ し
0062デフォルトの名無しさん
2006/03/22(水) 18:56:52ゆわへんから、あんたもあたしのこと「あんたあんた」ゆわんといてなーあんた!
0063デフォルトの名無しさん
2006/03/22(水) 23:01:52[゚д゚] デフラグガカンリョウシマシタ
/[_]ヽ
| |
、、、「「「」」」あああああああああああああいうかけこここしししたたたたたたたた
たたたたたっててととととどなのののへももゆゆゆらわわんんんんんんんんんんんんー!
0064デフォルトの名無しさん
2006/03/22(水) 23:27:18それはソートではないのか?w
0065デフォルトの名無しさん
2006/03/22(水) 23:53:17> 誰しも一度は、0 <= a <= 10 こう書けないのか?って
> 思ったことがあると思う。
実際そう書いてはまった事がある…。
まあ、遠い昔だが。
0066デフォルトの名無しさん
2006/03/23(木) 00:25:10[ #゚д]y-~~~
/[へへ
36>>いかそでなのははれソトー?w
0067デフォルトの名無しさん
2006/03/23(木) 00:31:37Cでそれが期待通りにならないのは(言語仕様のシンプルさが失われるので)分かるが
Javaならそういう表記も可でもよかった気もする
0068デフォルトの名無しさん
2006/03/23(木) 03:13:01Java は C と C++ のプログラマを引っ張り込むためにわざとそっくりな
状態にしたんだろう。
0069デフォルトの名無しさん
2006/03/23(木) 09:58:31a >= 0 && a < 10 の代わりに a in [0, 10)とかできたらいいのにね。
0070デフォルトの名無しさん
2006/03/23(木) 10:01:26つboost::numeric::interval
0071デフォルトの名無しさん
2006/03/23(木) 13:03:460072デフォルトの名無しさん
2006/03/23(木) 17:32:46PASCAL に似たようなのなかったっけ? a in 10..20 のような書き方。
0073デフォルトの名無しさん
2006/03/23(木) 18:56:28C系以外はほとんど出来ると思うぞ
特にスクリプトで出来ないのは無い
0074デフォルトの名無しさん
2006/03/23(木) 20:10:08え? でも Perl にはないのでは? あったっけ? (Perl は C 系?)
0075デフォルトの名無しさん
2006/03/23(木) 23:07:00おれは、SQL (Between 演算子) しか知らん。
0076デフォルトの名無しさん
2006/03/23(木) 23:13:11Rubyならこんな感じで 誰か他の言語お願い
0077デフォルトの名無しさん
2006/03/23(木) 23:24:11elem x [1..10]
0078デフォルトの名無しさん
2006/03/23(木) 23:56:540079デフォルトの名無しさん
2006/03/24(金) 00:03:41switch (sh 系なら case) 構文はもう少しどうにかならんかったものか。
・C/C++
break がないとフォールスルーを行うが、
それを意図するケースは殆どなく、バグの温床。
・Java
愚直に構文を引き継いだが何の利点もない。
・C#
フォールスルーを許さない仕様は評価できるが、
だったら break; とか書かせるな。
・sh
;; で締めなくても、次の ラベル) で判別出来なかったものか。
0080デフォルトの名無しさん
2006/03/24(金) 00:14:17仕様です
0081デフォルトの名無しさん
2006/03/24(金) 01:41:02>・C/C++
> break がないとフォールスルーを行うが、
> それを意図するケースは殆どなく、バグの温床。
case A:
case B:
//A 又は B の時
0082デフォルトの名無しさん
2006/03/24(金) 08:48:49そんなケースがほとんど無いっつってんだろ!
池沼かお前は!
0083デフォルトの名無しさん
2006/03/24(金) 09:42:150084デフォルトの名無しさん
2006/03/24(金) 10:25:09普通に使わんか?
0085デフォルトの名無しさん
2006/03/24(金) 10:38:26実務の世界はわからんよw
008682
2006/03/24(金) 10:45:410087デフォルトの名無しさん
2006/03/24(金) 11:45:540088デフォルトの名無しさん
2006/03/24(金) 12:15:350089デフォルトの名無しさん
2006/03/24(金) 13:40:40あまりお目にかかれないのは、case ラベル間に処理が入るパターン
case A:
func_A();
// fall-through
case B:
func_A_or_B();
だろう。
>>79
つかそもそも「case 〜」って goto のラベルと同等だし、
{ } ブロック内に突入できるって時点で腐ってると思うんだが。
(そんなコード書く奴もアレだが、そう書ける必要なんてあるか?)
// 技巧に走って、オナニーに昇華した例
i = 6;
switch (asoko) {
case A:
for (i=0; i<8; i++) {
func_A();
case B:
func_B();
}
func_A_and_B();
break;
default:
func_C();
}
0090デフォルトの名無しさん
2006/03/24(金) 13:44:11ぱっと見て「ヘタだなぁ」と思う強がり
0091デフォルトの名無しさん
2006/03/24(金) 14:38:31>(そんなコード書く奴もアレだが、そう書ける必要なんてあるか?)
書ける必要はないが、書けなくする必要もない。
書きたきゃ書けばいい。
0092デフォルトの名無しさん
2006/03/24(金) 15:16:03a,bがそんなに大きくないなら
c = (b-a)>>31; // b<a なら-1
d = (a-b)>>31; // a<b なら-1
return c-d;
0093デフォルトの名無しさん
2006/03/24(金) 15:20:100094デフォルトの名無しさん
2006/03/24(金) 16:10:46↓
if( ((unsigned) a) <= 10 )
0095デフォルトの名無しさん
2006/03/24(金) 16:21:29整数型は 1回の定数との比較では実は範囲の比較をしてる
たとえば 10<a という比較は、 11から aに入れられる最大値の範囲にあるかどうかの比較をしている
たとえば aが charであれば 11〜127であるかを比較しているのだ
したがって if(0 <= a && a <= 10) は aがcharであれば
0096デフォルトの名無しさん
2006/03/24(金) 16:24:070097デフォルトの名無しさん
2006/03/24(金) 16:38:41return (a < b ? -1 :
a > b ? 1 :
0);
みたいな書き方の方がいいんじゃないかと思うこともある。
やりたいことをより明確に表せているから。
だからって読みやすくはならないのが難点。
0098デフォルトの名無しさん
2006/03/24(金) 16:51:03Perl の .. は範囲演算子ではなくてリストを作成する演算子だ。
10..15 と書いた場合 (10, 11, 12, 13, 14, 15) というリストを
作る。それだけ。んで、 in のような演算子はない。なのでC言語
風に 10 <= $a && $a <= 15 のような書き方をする必要がある。
0099デフォルトの名無しさん
2006/03/24(金) 16:58:18それは言語がCかC++で型が32ビット符号付き整数の時しか使えないのでは?
あるいは Java の int か。
0100デフォルトの名無しさん
2006/03/24(金) 16:59:51あるよ。
====== 終わり ======
0101デフォルトの名無しさん
2006/03/24(金) 17:27:32int r;
(r= a-b) && (r=((a>b)*2-1)) ;
return r;
0102デフォルトの名無しさん
2006/03/24(金) 17:33:39a=b の時、-1が返りそうなんだけど…。気のせい?
0103101
2006/03/24(金) 17:36:56&&の演算の時、falseが表われた時点で以降の式が評価されない事を期待してるのね。
失礼。
スレタイ通りのプログラムだw
0104102
2006/03/24(金) 17:37:460105デフォルトの名無しさん
2006/03/24(金) 17:38:35左から評価される環境なら大丈夫
0106102
2006/03/24(金) 17:43:08true...-1 false...0 が普通だと思ってたけど違うのかな?
0107デフォルトの名無しさん
2006/03/24(金) 17:46:00言語による。 Basicなんかはそうだね。
C言語系では 整数型へ暗黙の変換がされる時は 0か1
0108デフォルトの名無しさん
2006/03/24(金) 17:59:46パズルじゃないんだから
見せびらかしちゃ駄目。
0109102
2006/03/24(金) 18:01:20そうなんだ。知らなかった。
trueを-1にしとけばnot演算がビット演算と同じになるから、
「なんて賢いんだ」と感動したんだけどな、昔。
trueを1にするのって何かメリットあるの?
0110デフォルトの名無しさん
2006/03/24(金) 18:08:15単なる設計ミスでしょ。
char や int をデフォルトで符号付にするなら
論理型を1bit値であるとみて符号拡張と考えたら -1 になるべきと思えるよね
といっても c には論理型は無くて、int で代用するのだと見れば、0,1でいいんじゃないの?
0111デフォルトの名無しさん
2006/03/24(金) 18:13:54if( ((unsigned) a) <= 10u )
0112デフォルトの名無しさん
2006/03/24(金) 18:22:43if( (unsigned) a <= 10u )
0113デフォルトの名無しさん
2006/03/24(金) 18:49:22true=1 , false = 0と仮定すると、
return (a>b) - (a<b) * (a!=b);
...可読性なさすぎ。。。
0114デフォルトの名無しさん
2006/03/24(金) 18:51:25そういうケースは、
case A, B:
// A 又は B の時
みたいにできなかったのかなぁ...。
>>105
短絡評価をサポートしてて左から評価されない環境なんてないでしょ。
>>109
> trueを-1にしとけばnot演算がビット演算と同じになるから、
C言語 (に限らないが) は、≠ 0 を真とみなさないといけないから
どっちにしろ論理否定とビット反転は一緒にはできないよ。
0115デフォルトの名無しさん
2006/03/24(金) 19:06:11時々、そういうコードを見るよね。 でもコメントでも書いてくれないと勘違いする
0116デフォルトの名無しさん
2006/03/24(金) 19:11:210117デフォルトの名無しさん
2006/03/24(金) 19:15:10俺はそういうコードを「ヘタ」と認識する。
0118デフォルトの名無しさん
2006/03/24(金) 20:50:000119デフォルトの名無しさん
2006/03/24(金) 21:06:10case A or Bとか書ける言語があったような。
自分はそれよりも、caseに正規表現を使いたい。
0120デフォルトの名無しさん
2006/03/24(金) 21:10:12ここ、すっかり頭の悪い発言スレになってるな。
0121デフォルトの名無しさん
2006/03/24(金) 21:24:30つRuby
0122デフォルトの名無しさん
2006/03/24(金) 21:56:22> case A or Bとか書ける言語があったような。
VBA なら、
Select Case N
Case 1, 3, 5 to 6, is > 100
' N = 1, 3, 5, 6, 100以上の時の処理
〜
End Select
とか書ける。
> 自分はそれよりも、caseに正規表現を使いたい。
switch/select 等の多方向へ分岐する命令で文字列の
比較ができる言語なら大抵 Case の所に「式」が書ける
んじゃないか? (そうじゃない言語があったらすまん。)
だったら、
Select Case True
Case S Like "[0-9][0-9a-f]*"
〜
End Select
みたいな感じでいいと思うが。
まあこのあたりになると、最適化が云々以前に、
if〜elseif〜else のシンタックスシュガーだな。
0123デフォルトの名無しさん
2006/03/24(金) 23:39:39お前バカすぎるな。
0124デフォルトの名無しさん
2006/03/25(土) 01:50:17true=1/false=0 なら、最後の *(a!=b) は不要では。
return (a>b) - (a<b);
a>b の時 … 1 - 0 = 1
a<b の時 … 0 - 1 = -1
a=b の時 … 0 - 0 = 0
0125デフォルトの名無しさん
2006/03/25(土) 02:44:37おお! なんか対象性があってキレイ!
0126デフォルトの名無しさん
2006/03/25(土) 03:23:26うわっ!それ大昔のベーマガのOFに載ってたネタじゃんか!
0127デフォルトの名無しさん
2006/03/25(土) 03:37:13昔ついでに、昔のBASICは真が-1なのを利用して
「2468で上下左右に移動、ただし画面からはみ出さない」を
I$=INKEY$
X=X-(I$="4")*(X>0)+(I$="6")*(X<39)
Y=Y-(I$="8")*(Y>0)+(I$="2")*(Y<24)
ってまとめて書いたっけ。機種によってIFより速かったり遅かったり。
今こんなの書いたら褒められるか殴られるかどっちだろう。
0128デフォルトの名無しさん
2006/03/25(土) 03:42:27If A = "1" Or "2" Then
ツッコミどころはいろいろあると思うが、とりあえずバグってると思った。
0129デフォルトの名無しさん
2006/03/25(土) 21:43:500130デフォルトの名無しさん
2006/03/25(土) 22:16:260131デフォルトの名無しさん
2006/03/26(日) 06:28:440132デフォルトの名無しさん
2006/03/26(日) 11:40:52鑑定を依頼してみる
用件:変数dwWidthより大きい2の累乗の最小値を求めてdwPwXに。
for(DWORD dwPwX = 1;dwPwX < dwWidth;dwPwX *= 2);
0133デフォルトの名無しさん
2006/03/26(日) 12:52:42×用件 ○要件
その dwPwX は for が終わるとスコープアウトするわけだが。
VC だとしても dwWidth が 1 だと dwPwX が 1 になって要件を満たさない。
ハンガ(以下略
0134デフォルトの名無しさん
2006/03/26(日) 12:59:160135デフォルトの名無しさん
2006/03/26(日) 16:37:57それだとループの回数がlog(N)に比例するから大きい数のときに遅いのが少し気になる。
自分なら関数化してこう書くかな。
//n より大きい最小の 2の累乗-1 を求める
DWORD ceil2pm1(DWORD n){
for(int i=1;i != sizeof(n)*8;i+=i)n |= n >> i;
return n;
}
//n 以上の最小の 2の累乗 を求める
DWORD ceil2p(DWORD n){
return ceil2pm1(n-1) + 1;
}
ついでに関係ないけど。
//n 以下の最大の 2の累乗 を求める
DWORD floor2p(DWORD n){
n = ceil2pm1(n);
return n - (n>>1);
}
0136デフォルトの名無しさん
2006/03/26(日) 18:47:15> i+=i
おいおい、頭大丈夫か?
0137デフォルトの名無しさん
2006/03/26(日) 19:46:530138デフォルトの名無しさん
2006/03/26(日) 22:35:39i != sizeof(n)*8 は != より < の方がよくない?
sizeof(DWORD)は4だからいいといえばいいんだろうけど。
それから、そこを直接数値で書くんでなくsizeof(n)とするなら、
もう一歩踏み込んで、8でなく1バイトのビット長の定数を定義した方が
可搬性がさらに高まるのでは。
0139デフォルトの名無しさん
2006/03/26(日) 22:46:580140デフォルトの名無しさん
2006/03/26(日) 23:19:55>>139
C#っつー可能性もあるんとちゃうかなぁ。
0141132
2006/03/26(日) 23:22:01>133
ちょっと嘘書きました。
ああ書いたけど本当は定義はforの外です…
あと説明が悪かったのですが、このコードD3Dのテクスチャロードに使う部分で、
>dwWidth が 1 だと dwPwX が 1 になって要件を満たさない。
>dwWidthが2の累乗なら より大きい にはならんな
↑これは実用途としては要件を満たしてたりします。スンマソン(dwWidthが1なら1、2の累乗ならその値を使う)
>135
成程と理屈は判るんですが、何となく邪悪さを感じる…
0142デフォルトの名無しさん
2006/03/26(日) 23:29:08スピードが気になるなら二分検索にすればいいんじゃないの?
32ビットなら最悪5回のループで済む。
0143135
2006/03/27(月) 00:13:28あー、確かに < のほうが良いですね。
それに >>139 のCHAR_BITも組み合わせると無駄に可搬性が高いコードになりそうw
0144デフォルトの名無しさん
2006/03/27(月) 00:20:33「こいつのソース、もう読みたくねえなあ。。。」と思ってしまう。
Writing Solid Code で思いっきりハンガリアンマンセーされてて萎えた。
買う前にもう少し確認してからにすべきだった。
Code Complete は面白かったから、こっちもガチだと思ったのに。
0145デフォルトの名無しさん
2006/03/27(月) 00:37:10ttlIntegerとかnmStringとか。
0146デフォルトの名無しさん
2006/03/27(月) 00:45:59ローカル変数をmintCountとかするのは止めて欲しいな
もちろんインスタンス変数にもmがついてる
0147デフォルトの名無しさん
2006/03/27(月) 00:51:25大文字の変数(HOGE_MAXとか)なのに
const じゃなかった時にはかなり脱力したなあ。
理由尋ねたら「最初は定数で良いと思ったんだけど、
後から変更が必要になっちゃったから。」だとさ。
だったら camel に書き換えてくれよ。
0148デフォルトの名無しさん
2006/03/27(月) 00:52:24「ヘタだなぁ」以前の問題だ。
0149デフォルトの名無しさん
2006/03/27(月) 00:53:390乗は累乗に含んじゃいけませんか
0151デフォルトの名無しさん
2006/03/27(月) 01:18:07多分コイツにはi=i+1もヘタ以前なんだろうな。
0152デフォルトの名無しさん
2006/03/27(月) 01:32:390153デフォルトの名無しさん
2006/03/27(月) 07:03:48dwPwX = dwWidth-1; //1小さい値を代入して
dwPwX |= (dwPw >>1) ; // 1/2したものと or
dwPwX |= (dwPw >>2);
dwPwX |= (dwPw >>4);
dwPwX |= (dwPw >>8);
dwPwX |= (dwPw >>16); //これで dwPwX に必ず全てが1の値が作れる
dwPwX ++;
0154デフォルトの名無しさん
2006/03/27(月) 08:09:39switchはIDの羅列のみに限定中
0155デフォルトの名無しさん
2006/03/27(月) 08:23:47なぜわざわざ遅くなるようなプログラムにすんのか理解できね
0156デフォルトの名無しさん
2006/03/27(月) 08:44:04switchって時代遅れな感じするし、インテル臭がぷんぷんするから
0157デフォルトの名無しさん
2006/03/27(月) 08:51:16パフォーマンスを語るなら神話や経験に基づいた憶測は止めて
実測値で語れとえらい人が言ってた。
列挙が絡む場合は switch 使った方が分かりやすいと思うので俺は使う。
0158デフォルトの名無しさん
2006/03/27(月) 08:58:35遅くなるかどうかは別の問題。
0159デフォルトの名無しさん
2006/03/27(月) 08:59:29速かったけどね。
DECか何かのアセンブラ命令を置き換えたやつ。
ペンティアムやアスロンは高速化の次元が違うから、単純な比較は難しいね
0160デフォルトの名無しさん
2006/03/27(月) 09:08:18俺は、取り敢えず書いてみて、読みやすい方を使う。
0161デフォルトの名無しさん
2006/03/27(月) 09:18:010162デフォルトの名無しさん
2006/03/27(月) 10:47:04読んでる方が情けなくなってきた
0163デフォルトの名無しさん
2006/03/28(火) 08:53:00アセンブラでゴリゴリする時は、まだまだ良く使うよ
switch( hoge )
↓
mov er hoge
add pcl hoge
jsr@ subHoge1
jsr@ subHoge2
…
jsr@ subHogeN
0164デフォルトの名無しさん
2006/03/28(火) 22:10:43↓このdoが寂しそうだから。
do
{
:
}
while(...);
中括弧は次行派なんで、「do{」と詰めて書くとそこだけ雰囲気変わるし。
0165デフォルトの名無しさん
2006/03/28(火) 22:26:09お前はやさしい奴だ
0166デフォルトの名無しさん
2006/03/28(火) 23:55:060167デフォルトの名無しさん
2006/03/29(水) 00:46:380168デフォルトの名無しさん
2006/03/29(水) 00:50:24doにとって唯一活躍できる場なのに…
0169デフォルトの名無しさん
2006/03/29(水) 01:13:340170デフォルトの名無しさん
2006/03/29(水) 01:24:01やっぱり
do {
} while (...);
とかいたほうがiizo
0171デフォルトの名無しさん
2006/03/29(水) 01:36:49すべて大文字⇒定数
∴定数⇒すべて大文字?
定数でもすべて大文字にしていないのだけど、
みんなはどう?
0172デフォルトの名無しさん
2006/03/29(水) 01:42:05PRINT_LINE_MAX
変数は
nPrintLineMax
微妙にハンガリアンでごめんね・・(´・ω・`)
0173デフォルトの名無しさん
2006/03/29(水) 02:44:20PRINT_LINE_MAX
変数(ローカル/パラメータ)は
printLineMax
オブジェクト指向限定になっちゃうけど,フィールド変数ってどうしてる?
_printLineMax
printLineMax_
前後どっちにつけるか,いつも悩んでる
value objectなときはつけなかったり一貫性なくてごめんね..(´・ω・`)
0174デフォルトの名無しさん
2006/03/29(水) 03:15:01フィールド変数って言われるとJavaの話のように思ってしまう。
ので、自分は“_”はつけません。getter/setterの名前と合わないと気持ち悪いから。
0175デフォルトの名無しさん
2006/03/29(水) 03:18:530177デフォルトの名無しさん
2006/03/29(水) 06:40:35superなりMyBaseなりつけて参照しているのを見ると「ヘタだなぁ」と思う。
0178デフォルトの名無しさん
2006/03/29(水) 08:51:26フィールド変数って呼び方が新鮮だった。
なるべく別の名前を考えてふってる。どうしても思いつかないときだけ _ を付ける感じ。
最近、クラス継承を禁じ手にしてる。古いソースを使うときのみ、そういうものが残ってる感じ。
0179デフォルトの名無しさん
2006/03/29(水) 11:38:24super はともかく、適切に typedef された "MyBase" 風のものは
後で基底クラスを変えられるような template クラス化する際に役に
立つことがあるよ。
0180デフォルトの名無しさん
2006/03/30(木) 19:09:54setNumber(getNumber()+1)
getter/setterなんて糞
プロパティがいい!
0181デフォルトの名無しさん
2006/03/30(木) 19:12:30たとえば、
obj.value (valueはプロパティ) の値をそのまま保持している変数。
value_
_value
m_value
どうするかいつも悩んでる。
0182デフォルトの名無しさん
2006/03/30(木) 19:17:56内部クラスから呼び出すときはどうすんの?
0183デフォルトの名無しさん
2006/03/30(木) 19:25:10obj.Number = obj.Number + 1
直接プロパティをいじらせるのではなく
論理的意味のある名称のメソッドを定義しろよ
0184デフォルトの名無しさん
2006/03/30(木) 20:12:220185デフォルトの名無しさん
2006/03/30(木) 21:15:38・識別子名がローマ字
・識別子名の(英)単語のスペルが間違っている
・識別子名に使っている(英)単語の意味をおそらく誤解している
プログラミング能力以前の、「テキストファイルにアルファベットを打ち込む」
能力が欠如している可能性大。
0186デフォルトの名無しさん
2006/03/30(木) 21:43:48メソッド等で一番よくみるヘタな英単語は「regist」。
そんな単語ねぇよ。
0187デフォルトの名無しさん
2006/03/30(木) 21:54:35class MyClass なら"MuClass.h","MuClass.cpp"ってしていると好感もてる。
飲みに行きたいくらいに。
0188デフォルトの名無しさん
2006/03/30(木) 21:55:39スペルみすった。俺にセンスがない・・・・・・・・・・・・・・・ モウダメポ・・○| ̄|_
0189デフォルトの名無しさん
2006/03/30(木) 22:17:52class stdio
{
public:
static int printf(const char *, ...);
static int sprintf(char*, const char *, ...);
// 以下略
};
0190デフォルトの名無しさん
2006/03/30(木) 22:32:16それどっかのブログでみた
本人
0191デフォルトの名無しさん
2006/03/30(木) 22:35:26本人?
0192デフォルトの名無しさん
2006/03/31(金) 00:02:440193デフォルトの名無しさん
2006/03/31(金) 07:55:15萌え
0194デフォルトの名無しさん
2006/03/31(金) 12:14:18ローマ字で統一されているならまだポリシーとして認められるが、
それと同じ意味で使っていると思われる英単語の識別子が別にあって、
しかもそのスペルが間違ってたらどう思う?
ex.
ゲームのコードで、敗北に関わる何らかの処理をするらしい関数hogehogeMake()
(もうこの時点で"make(マケ)"と"make(メイク)"が混乱する)。
そして別の箇所に、敗北の状態を意味するらしいHOGEHOGE_LUSEなる定数。
0195デフォルトの名無しさん
2006/03/31(金) 12:38:23>・識別子名がローマ字
これ単体で問題ないなら、組み合わせてるほかのことに問題がある。
同じ意味なのに複数の用語を用いるとか、スペルミスとか、意味の誤解とか、
そういうのはローマ字でも英語でもイタリア語でも同じように問題。
0196デフォルトの名無しさん
2006/03/31(金) 13:22:44他の言語と同じよような問題だとは言いがたい。
0197デフォルトの名無しさん
2006/03/31(金) 13:48:26勢いプログラムの方もCyukeiSakuseiとかBuildChuukeiとかMakeRelayとかが入り混じる。
0198デフォルトの名無しさん
2006/03/31(金) 19:30:19そんなLUUSEなソースは見たことないなぁ、さすがに。
0199デフォルトの名無しさん
2006/03/32(土) 11:53:310200デフォルトの名無しさん
2006/03/32(土) 15:01:090201デフォルトの名無しさん
2006/03/32(土) 21:29:490202デフォルトの名無しさん
2006/04/02(日) 10:18:290203デフォルトの名無しさん
2006/04/02(日) 11:34:200204デフォルトの名無しさん
2006/04/02(日) 11:38:180205デフォルトの名無しさん
2006/04/02(日) 12:58:00いつから常にUTF-16にしなきゃならなくなったんだ?
0206デフォルトの名無しさん
2006/04/02(日) 13:04:050207デフォルトの名無しさん
2006/04/02(日) 14:23:09{
...
}
こんなソース見ると、とてもなごむ。 (;´Д`)ハァハァ
0208デフォルトの名無しさん
2006/04/03(月) 13:24:49俺それかも。どう和むのか教えてくれ…
0209デフォルトの名無しさん
2006/04/03(月) 14:29:37俺もわからん。10の前後にスペース入ってることくらい?
ところで最近見たヘタな名前。POST_NOという名の郵便番号。
気づいた頃にはPostNoとかが散乱してて手に負えず(´・ω・`)
0210デフォルトの名無しさん
2006/04/03(月) 14:36:08教科書とか入門書とか読んでるみたいで。
実戦だとこうならない?
for (int i = 0; i < BLOCK_SIZE; i++) ... とか、
for (T:iterator it = v.begin(); it != v.end(); ++it) ... とか。
0211デフォルトの名無しさん
2006/04/03(月) 19:29:560212デフォルトの名無しさん
2006/04/03(月) 20:48:35intでソレをしたくなるのは、単なる低脳
0213デフォルトの名無しさん
2006/04/03(月) 21:21:55その気持ちわかる
0214デフォルトの名無しさん
2006/04/03(月) 21:33:300215デフォルトの名無しさん
2006/04/04(火) 00:15:03せっかくイテレーターで一般化されてるのに区別するほうがおかしい。
0216デフォルトの名無しさん
2006/04/04(火) 07:05:180217デフォルトの名無しさん
2006/04/04(火) 13:46:560218デフォルトの名無しさん
2006/04/05(水) 22:49:25その前は「最近のメモリーは…」だったし。
1年のブランクを短いものと感じる辺り、やっぱ老けてんのか。
0219デフォルトの名無しさん
2006/04/05(水) 23:26:01ここ数年、それまでと比べ、ハードウェアは明らかに進化曲線ががた落ちしてる。
0220デフォルトの名無しさん
2006/04/06(木) 01:30:33老けっつーより、老化してんな……
0221デフォルトの名無しさん
2006/04/06(木) 03:14:29やってはいけないレベルって
それなりに差があるんだろうか、このスレとしては。
0222デフォルトの名無しさん
2006/04/06(木) 03:23:13目が読むことを拒否し、脳は理解することから回避しようとするが、
そういうコードは大抵仕事絡みでやってくるので逃避することができない。
0223デフォルトの名無しさん
2006/04/06(木) 04:54:43ここはあくまでも動くけどなんだかなーと思っちゃうコードでいいんじゃね?
0224デフォルトの名無しさん
2006/04/06(木) 14:58:14劇的な進化はないけども、例えば
去年の今頃には 2.5 インチ 120GB なんて
売ってなかったわけで。
0225デフォルトの名無しさん
2006/04/06(木) 16:37:300226デフォルトの名無しさん
2006/04/06(木) 16:40:200227デフォルトの名無しさん
2006/04/07(金) 00:45:07やってはいけない領域に片足突っ込んでる場面しか思い出せない。
なんだかなーと思うテストデータは結構あるんだけど。
0228デフォルトの名無しさん
2006/04/07(金) 01:29:24ヘタなコードは直さなくてもいい。場所によっちゃあ直すと怒られる。
0229デフォルトの名無しさん
2006/04/11(火) 15:19:57char buf[10];
sprintf(buf, "0");
0230デフォルトの名無しさん
2006/04/11(火) 16:08:490231デフォルトの名無しさん
2006/04/11(火) 17:24:46修正理由書いて、修正理由の分類書いて、テストの必要無しの理由書いて、
バージョン管理システムに上げて、ビルド担当者に連絡して、
とか考えたらそんなバグってもいないし効率もさほど悪くないもの
ほうっておくよ。
ナガーイ文字列をstrcatでゴリゴリ連結してるのとかだと迷うけど・・・
0232デフォルトの名無しさん
2006/04/11(火) 19:46:53if(B){
if(C){
}else{
}else{
}
}else{
}
if文がネストするとスパゲティな感じがするんだけど、
0233デフォルトの名無しさん
2006/04/12(水) 10:05:48そうだなあ。深いネストでしかもブロックの中が長いと読み辛いな。
更にインデントがガタガタになっているとぱっと見て分からない。
C言語の場合はものによっては goto 使うべきだよね。複数のファイルを
オープンしたりメモリ確保したりして、途中でエラーが出た時の処理とか、
ifをネストさせてないと復帰処理が下に行くほど大きくなるが、しかし
ifをネストさせると読み辛くなる、という場合。(C は try catch が
ないからその代わりに、ということでもある)。
0234デフォルトの名無しさん
2006/04/12(水) 13:00:530235デフォルトの名無しさん
2006/04/12(水) 13:22:18エラー処理に例外を使うのは普通じゃないの?
0236デフォルトの名無しさん
2006/04/12(水) 13:23:24この場合は例外はそこで捕捉して閉じてるし。
0237デフォルトの名無しさん
2006/04/12(水) 14:29:01「ぱっと見て『ヘタだなぁ』と思うシステム開発手法」だな。
0238デフォルトの名無しさん
2006/04/12(水) 14:59:22普通のコードはこのスレの対象外。
>>237
でもそれを変えるのは結構大変。
大規模開発案件だとか、小規模開発なのに
クライアントが大手電器企業だと特に。
0239デフォルトの名無しさん
2006/04/12(水) 15:13:20漏れ、某芝相手でそんなもん見たことも聞いたこともましては食ったこともないよ。
「ちょっと手直しして欲しいんだけど。概略コード送るからよろしく」
「判りました、やっときます」
「できました。差分送るからパッチ当ててください」
「ありがと、普通にビルドしていいの?」
「あー、一応make cleanしてからmakeしてください」
「了解、今度来るときにリポジトリ持ってきてね」
0240デフォルトの名無しさん
2006/04/12(水) 15:21:27ウラヤマシス
0241デフォルトの名無しさん
2006/04/12(水) 15:46:23いい環境だな
0242デフォルトの名無しさん
2006/04/12(水) 20:40:28まあ、そういうふつーの言語をいつも使える人は幸せですね、というお話。
0243デフォルトの名無しさん
2006/04/19(水) 22:14:01クラス名がみんなID(XXXXX_9999)だった。。。
うーん
規模がデカいと結構こんなもんなんですかね
(名前考えるのは確かに大変そうだけど)
0244デフォルトの名無しさん
2006/04/19(水) 22:36:34パッケージというものがわかってないアホが
リーダーだと苦労しますな。
0245デフォルトの名無しさん
2006/04/19(水) 22:36:55コーディング規約 第2条
http://pc8.2ch.net/test/read.cgi/tech/1068752664/
へどぞー
0246デフォルトの名無しさん
2006/04/19(水) 23:08:05そういうの、Cのプロジェクトでも書かされたことがある。
とりあえず、フツーに書いて、あとからエディタで、関数名をIDに置換した。
COBOLあたりの文化なのかねー?
0247デフォルトの名無しさん
2006/04/19(水) 23:24:160248デフォルトの名無しさん
2006/04/20(木) 00:18:05そもそもFQCNで全てユニークに判別可能なのに、なんでIDなんざ振る必要があんのかね?
余計面倒を増やすだけで、何のメリットも無いのに。
0249デフォルトの名無しさん
2006/04/20(木) 02:07:21業務系だとしばしばそういう目に遭う。
画面の設計書と同じ番号で関数書く規約なんて邪魔でしかないんだけどねぇ。
#しかもabc1234_init()とかabc1234_stop()とかって、クラスってなんですか? な規約だったり。
0250デフォルトの名無しさん
2006/04/20(木) 06:25:44その馬鹿のために別の馬鹿が規則を作っちゃったとか。
0251デフォルトの名無しさん
2006/04/20(木) 07:20:07ゴチャゴチャ言わず、手足となってコーデングしろってことさ
0252デフォルトの名無しさん
2006/04/20(木) 07:35:350253デフォルトの名無しさん
2006/04/20(木) 07:40:47「脳」がまともに考えて設計してくれりゃそれでもいいんだけどね。
なんで手足が悩まにゃならんのだ。
0254デフォルトの名無しさん
2006/04/20(木) 07:45:27だから、成果にお金を払ってるんじゃない。人月に金を払ってるんだから、
作業性が悪いのは有難い事と受け止めろ。
0255デフォルトの名無しさん
2006/04/20(木) 09:09:35そうそう、何で残業時間が長いだけの業務系コーダーが
客先信用度No.1の制御系SEより年間売上高くなるか考えれば自明だよな。
0256デフォルトの名無しさん
2006/04/20(木) 14:33:27これが論理学というか宇宙の真理というものだ
番号関数はその規約を作成する過程でバグがある
0257デフォルトの名無しさん
2006/04/20(木) 19:08:21値段は見積もりでついてるから、作業性が悪くても収入は増えんなぁ。
0258デフォルトの名無しさん
2006/04/20(木) 19:26:36if文のネスト自体はせざるを得ない状況もあるが、
その中にそれぞれの場合のロジックが埋め込まれているとヘタと感じるね。
0259デフォルトの名無しさん
2006/04/20(木) 21:23:510260デフォルトの名無しさん
2006/04/20(木) 22:10:260261デフォルトの名無しさん
2006/04/20(木) 22:25:430262デフォルトの名無しさん
2006/04/20(木) 23:09:36>80桁に収まってない行が大量にあるコードは、ぱっとみてヘタそうに見えるね。
一般に >>243 みたいなところは、やたらと80桁に拘る傾向にある。
0263デフォルトの名無しさん
2006/04/20(木) 23:10:230264デフォルトの名無しさん
2006/04/20(木) 23:15:310265デフォルトの名無しさん
2006/04/20(木) 23:21:51linuxのカーネルとか、だいたい80桁に収まるように書かれてるようだよ。
0266デフォルトの名無しさん
2006/04/21(金) 01:20:14無理やりおさめようとしてるのには
雲泥の差がある
0267デフォルトの名無しさん
2006/04/21(金) 07:41:450268デフォルトの名無しさん
2006/04/21(金) 08:21:41うちの規約じゃ115桁でコードウィザードが設定されている。
0269デフォルトの名無しさん
2006/04/21(金) 08:27:03行末にいっぱいコメントつけるスタイルなのかね?
0270デフォルトの名無しさん
2006/04/21(金) 10:28:12考えずにスペース混ざりで書かれて4タブで表示したらガタガタ
というのは嫌だなあ。
まあ、C言語ならindentで変えられるからいいが。
0271デフォルトの名無しさん
2006/04/21(金) 11:11:47タブは8桁。
インデントが8を超えたらタブを使用。
それ以外はスペース。
って流儀は、Unix系ではよくあるね。
0272デフォルトの名無しさん
2006/04/21(金) 11:53:08vi で shiftwidth (インデント) ≠ tabstop (タブ幅) にしてると
自然とそうなるしな。
0273デフォルトの名無しさん
2006/04/21(金) 12:43:060274デフォルトの名無しさん
2006/04/21(金) 19:24:16#include<stdio.h>
int myadd(int i,int j);
/* Calculating 16+16 */
int main(){
printf("%d\n",myadd(16,16));return 0;
}
int myadd(int i,int j){
int k;
if(i==0){
if(j==0){k=0;}
else{k=myadd(0,k-1);}
}
else{k=myadd(i-1,k);}
return k;
}
/* 大して遅くない。 */
0275デフォルトの名無しさん
2006/04/21(金) 21:13:31GUIを扱うと、80行は辛いと思うけど。
0276デフォルトの名無しさん
2006/04/21(金) 21:21:30?
0277デフォルトの名無しさん
2006/04/21(金) 21:27:2680行じゃなくて、桁だった。
0278デフォルトの名無しさん
2006/04/21(金) 21:38:010279デフォルトの名無しさん
2006/04/21(金) 21:39:300280デフォルトの名無しさん
2006/04/21(金) 22:35:00そのほうが早くてメモリも食わないからそうしてるなんて多々あること。
再帰除去って知らんのか?
0281デフォルトの名無しさん
2006/04/21(金) 22:50:130282デフォルトの名無しさん
2006/04/21(金) 22:56:50実測せんと実際に最適化してるかどうか分からんし、ちょっとした変更で最適化されなくなることもあるしな。
0283デフォルトの名無しさん
2006/04/21(金) 23:00:01再帰の場合はどういうときに最適化されるかも、はっきりしてるし。
0284デフォルトの名無しさん
2006/04/22(土) 00:12:42「最適化されるはずですが」とか言ってるクチだね。
使えねぇ。
0285デフォルトの名無しさん
2006/04/22(土) 00:27:00そういう言語ではループのほうがへたなコードだなあ。
0286デフォルトの名無しさん
2006/04/22(土) 00:32:340287デフォルトの名無しさん
2006/04/22(土) 00:48:48ループが最適な処理なんていくらでもあるでしょうが。
0288デフォルトの名無しさん
2006/04/22(土) 02:56:310289デフォルトの名無しさん
2006/04/22(土) 10:38:41コンパイラの挙動くらい把握しましょうよ。
再帰関連の最適化は、わかりやすい部類だからさ。
0290デフォルトの名無しさん
2006/04/22(土) 11:16:18「(俺の使っている)コンパイラならやってくれる」の
違いを明確に意識しない人って、結構多いよね。
0291デフォルトの名無しさん
2006/04/22(土) 11:36:210292デフォルトの名無しさん
2006/04/22(土) 11:39:200293デフォルトの名無しさん
2006/04/22(土) 11:42:34言ってるやつと、同じかおりがするな。 > 再帰絶対反対派
0294デフォルトの名無しさん
2006/04/22(土) 11:48:26何処にも「再帰絶対反対」などというレスは
見当たらないのだが・・・
0295デフォルトの名無しさん
2006/04/22(土) 12:02:190296デフォルトの名無しさん
2006/04/22(土) 12:09:48何処にも「規格が保証してないと使わない」などというレスは
見当たらないのだが・・・
0297デフォルトの名無しさん
2006/04/22(土) 12:15:37使ってないやつはヘタクソってことで、意見は一致か。
0298デフォルトの名無しさん
2006/04/22(土) 19:39:56>いま他人のプログラムをデバッグしている。時間がもったいないので目視のみだ。
>私の場合、小さなクラスならば、目視のみでほぼ100%デバッグできる。
「100%バグが取れた」と無邪気に確信でき、平気で吹聴できる辺りが痛杉。
0299デフォルトの名無しさん
2006/04/22(土) 19:51:080300デフォルトの名無しさん
2006/04/22(土) 20:10:45「ほぼ」って書いてあるのが読めないお前痛杉。
0301デフォルトの名無しさん
2006/04/22(土) 20:15:10やねが痛いのは常識
0302デフォルトの名無しさん
2006/04/22(土) 20:15:51漏れもデバッグは目視でできるよ。
まさか如何に某氏が痛くても、「目視だけでバグがないことを100%保証できる」とは思っちゃいないだろ。
0303デフォルトの名無しさん
2006/04/22(土) 20:18:33よそでやってくれ。
0304デフォルトの名無しさん
2006/04/22(土) 20:39:39「完璧に100%」と受け取られても仕方ないと思うが、どうよ?
だって、「ほぼ100%」と「完璧に100%」の違いが
それほどまでに大きいのならば、
そんなの「ほぼ100%」とは言わねーんじゃねーの?
0305デフォルトの名無しさん
2006/04/22(土) 20:44:46ここでやるな。気になるんなら本人に聞け。
0306デフォルトの名無しさん
2006/04/22(土) 20:52:14言い訳したいときだから、話半分に聞くようにしているのであまり気にならんかった。
大体、まず「小さなクラスならば」という前提があり、「(そのクラスのなかから変な……」
なる予防線まで張ってるし。
世の中にあるバグ臭いコードは「無駄に長く」「変なAPIや外部関数を使っていて」
「難しいアルゴリズムをよくわからずに使っている、あるいは、簡単に出来ることを
わざわざ難しくして書いてる」のが多数なのだがな。
0307デフォルトの名無しさん
2006/04/22(土) 21:41:45というときに何故かAだと確信するやつがいる
両方の意味を推測するところまでいかなくても、せめて70%の方を選んで欲しい
ヘタとかじゃなくて根本的に仕様と違うコードになりやすい……
0308デフォルトの名無しさん
2006/04/22(土) 21:47:240309デフォルトの名無しさん
2006/04/22(土) 22:04:17大体どこがスレタイに沿った話なのか。
0310デフォルトの名無しさん
2006/04/22(土) 22:21:20そう熱くならずに。
0311デフォルトの名無しさん
2006/04/22(土) 22:34:46オレも小さなクラスならば、目視のみでほぼ100%デバッグできるよ。
0312デフォルトの名無しさん
2006/04/22(土) 22:43:57それは俗に言う「トトロ爺」というやつですか?
0313デフォルトの名無しさん
2006/04/22(土) 23:01:46やねちゃんトラックバック消しやがったwww
0314デフォルトの名無しさん
2006/04/22(土) 23:35:080315デフォルトの名無しさん
2006/04/22(土) 23:37:310316デフォルトの名無しさん
2006/04/23(日) 01:03:31消さんでもいいやん
0317デフォルトの名無しさん
2006/04/23(日) 01:29:590318デフォルトの名無しさん
2006/04/23(日) 01:31:560319デフォルトの名無しさん
2006/04/23(日) 02:02:38ハテナが気になって気になってしょうがないのかねw
なんか意外と度量小さいよなw
0320デフォルトの名無しさん
2006/04/23(日) 02:30:48ちょっと読んでみたけど、世間では机上デバッグとか言われてるものじゃないだろうか。 > 目視なんとか
0321デフォルトの名無しさん
2006/04/23(日) 03:13:560322デフォルトの名無しさん
2006/04/23(日) 04:32:290323デフォルトの名無しさん
2006/04/23(日) 10:02:58まぁまぁそういうなよ。取り巻き君
0324デフォルトの名無しさん
2006/04/23(日) 11:37:32逆に最近の若いのは机上デバック出来無いんだぁー
ってことに恐怖を感じるね。
他人のソース読んでると、色々感じるし。
0325マイク ◆yrBrqfF1Ew
2006/04/23(日) 14:17:320326デフォルトの名無しさん
2006/04/23(日) 14:33:28cec32.cなんだが、なんか吐きそうになった。
0327デフォルトの名無しさん
2006/04/23(日) 14:36:090328デフォルトの名無しさん
2006/04/23(日) 19:19:560329デフォルトの名無しさん
2006/04/23(日) 20:11:46そのコードを書いたのはお前だろ?
0330デフォルトの名無しさん
2006/04/23(日) 21:35:080331デフォルトの名無しさん
2006/04/27(木) 22:06:21世間ってもうそうなっちゃったのかな・・・
0332デフォルトの名無しさん
2006/04/27(木) 23:39:10VBの時代からだっていただろそういうやつ。
別に日本国内だけで使うなら、多バイト使ってもよかろうな時代
0333デフォルトの名無しさん
2006/04/28(金) 00:19:390334デフォルトの名無しさん
2006/04/28(金) 00:29:510335デフォルトの名無しさん
2006/04/28(金) 00:46:40勝手に英訳しても意味分からなくなるし、ローマ字つづりにするくらいなら、
そのまま漢字でって思うな。
あと、外来語のカタカナ表記をそのままローマ字綴りにするドアホとか、
いっそ、そのまま全角カタカナで書けって思うな。
「コメント」をcomentとか「カルテ」をcaruteとか。
(KOMENTOとかKARUTEとかになってないってことは、本人は英語綴りの
つもりで書いてるのかもしれんけど)
0336デフォルトの名無しさん
2006/04/28(金) 01:07:20int hoge( … )
{
……
if( … ){
……
} // end if
……
switch( … ){
……
} // end switch
……
} // end hoge
インデント見たらわかるだろとか、コメントしておかないと分からなくなるくらい
でかいブロックを書く前に気付けとか、色々言いたくなったがきりがないのでやめといた。
0337デフォルトの名無しさん
2006/04/28(金) 03:32:06言わんと治らんと思う。
0338デフォルトの名無しさん
2006/04/28(金) 04:23:400339デフォルトの名無しさん
2006/04/28(金) 07:41:320340デフォルトの名無しさん
2006/04/28(金) 07:48:57int hoge( … )
{
/**/ ……
/**/
/**/ if( … ){
/**/ /**/……
/**/ }
/**/ ……
/**/ switch( … ){
/**/ /**/
/**/ /**/……
/**/ /**/
/**/ }
/**/
/**/ ……
}
だから、長くならないように気をつけるようになった。
0341デフォルトの名無しさん
2006/04/28(金) 08:13:31特定しました
0342デフォルトの名無しさん
2006/04/28(金) 16:44:08じゃあなんで
int hoge(…){…if(…){}}
って書かないの?
一行でかけるべ?
0343デフラグさん ◆mRgSYalFkQ
2006/04/28(金) 20:15:09[゚д゚] デフラグガカンリョウシマシタ
/[_]ヽ
| |
(())034>>efghiinot{{}}??………あいかかけじってででななのべゃるん一行書
0344デフォルトの名無しさん
2006/04/28(金) 20:54:08Java だと漢字の識別子とか使えるぞ。
ソース読む時に一回 char 配列に入るわけだが、そこでシステム
デフォルトまたは指定のエンコードから Unicode に変換していて、
それから解釈するので全く問題なくコンパイルできる。
元が utf8 だったりしたらもう2バイトどころかサロゲートペア
入れたら1文字で最大6バイトになる。日本語はだいたいは1文字
3バイト。
0345デフォルトの名無しさん
2006/04/28(金) 20:56:09で?
0346デフォルトの名無しさん
2006/04/28(金) 20:58:360347デフォルトの名無しさん
2006/04/28(金) 23:04:17>まして、腕試しとして最初に与えられる仕事というのは、どうでもいい仕事、
>あまり会社にとって重要ではない仕事です。コードが書き殴ってあったり、
>書いた人がどうしようもない人で既に会社をクビになっていたり。
>すなわち、自分の実力の30%〜40%でこなせることすらとても出来ない人が
>書いているコードなわけです。酷いコードで当たり前ではないですか?
>そんな仕事しかもらえないうちはまだまだ自分も信頼されてないんだなぁ、
>と認識することです。もっともっとスキルを磨くことです。
いやー、言いたいことは分かるんだけどさ。
でも、世の中には、普通に1から書けば30%〜40%でこなせるのに、
無理やりそんなレベルのソースコードを与えられて
「設計は元のままで、修正は極力少なくして」なんて
注文を与えられた結果、130%〜140% の力を発揮しなくては
いけなくなる事も結構あってさ。
そこら辺、発注している方の人間って、全然気づいていないんだよね。
「普通にやれば30%〜40%でこなせる上、もう既に半分ぐらいモノが
出来上がってるんだから、楽勝だろ」なんて思っていたりする。
0348デフォルトの名無しさん
2006/04/28(金) 23:12:34だよね。前回の机上デバックは理解できる部分もあったけど、
今回のは、相手のイラツキがまるで理解できてないだけに、
ちょっとびっくりした。
大学院出と仕事してるとか、文系みたいなこと言ってるし。
我流で育った地雷みたいな人って思た。
0349デフォルトの名無しさん
2006/04/28(金) 23:32:28なにこの人?
一見するとただの勘違いに思えるんだけど
0350デフォルトの名無しさん
2006/04/28(金) 23:32:30如何に「発注者のスキルでぎりぎり理解できるレベル」の
モノを上げるか、っていうところに気を使うんだよな。
基本的に発注者が理解できるレベルを超えてはいけない。
でも逆に、あまりレベルが低すぎてもいけない。
その上勿論、正しく動作しなくてはいけない。
0351デフォルトの名無しさん
2006/04/28(金) 23:54:050352デフォルトの名無しさん
2006/04/29(土) 00:07:350353デフォルトの名無しさん
2006/04/29(土) 10:15:41ちょっと便利かもと思った。これじゃ多重ループできないけど
0354デフォルトの名無しさん
2006/04/29(土) 10:17:410355デフォルトの名無しさん
2006/04/29(土) 10:34:05#define repeat(n) for(int lnum = 0,lend = (n); lnum < lend; lnum++)
#ま、こんな詰まらん事でマクロ使われると鬱陶しくてかなわんけど
0356デフォルトの名無しさん
2006/04/29(土) 10:40:14だからわざわざ #define REPEAT( N,REG) みたいに 定義してたり
0357デフォルトの名無しさん
2006/04/29(土) 11:47:26Javaは16bit以上の文字は認識しない。
内部で使われているのは厳密なUnicodeではない。
0358デフォルトの名無しさん
2006/04/29(土) 12:55:27こういうキーワードを置き換えたりするようなマクロをつかってるのって、へただなぁと思うね。
bool,true,falseあたりも、独自に定義したりするのって、MSあたりならまあいいけど、
個人とか、会社の部署とかで独自にやるのはカンベンして欲しいと思う。
0359デフォルトの名無しさん
2006/04/29(土) 12:59:19へただなぁと思うからこのスレに書いたんだろ。
何を言ってるんだ。
0360デフォルトの名無しさん
2006/04/29(土) 13:01:300361デフォルトの名無しさん
2006/04/29(土) 14:10:18コードが見難くてしょうがない。
俺がそのコードに携わる訳じゃないから別にいいけど。
あいつ極度の心配性なのかな・・・。
0362デフォルトの名無しさん
2006/04/29(土) 14:55:020363デフォルトの名無しさん
2006/04/29(土) 15:08:450364デフォルトの名無しさん
2006/04/29(土) 15:14:04/i()()_/ミ| o ← >>363
/ヾ/ <ゝ.\_ __ //
iヾ/ ___ソ ⌒ヾ .ミ.\ ガッ / /
|=| ヽ┬ ´ _))))))) / /
ヾ| !、 /_≡三./ / /
| \___/ ̄ ̄\ ☆ /
| / 、 \ |\/|_
ヽ ( /\_└-i┐ / ☆
\__| |ノ__,,/ ̄'─' ヽ--'┘ \
| | `| | ☆ |/\| ̄
ヽ | '| .| ///
┌'┤┌'┤
0365デフォルトの名無しさん
2006/04/29(土) 15:58:540366デフォルトの名無しさん
2006/04/29(土) 19:17:23「問題あり」
としてレポートしてくるツールがあるな
どことは言わんが30万もするソフトなのにそんなレポートを出すなと
0367361
2006/04/29(土) 21:14:36なんか「係数を新しくつったときの為」なんだってさ。
なんて目に優しくないんだろう。
0368デフォルトの名無しさん
2006/04/29(土) 21:19:21Lisper に喧嘩を売るつもりならば止めておけ。
相手は手ごわいぞ。
0369デフォルトの名無しさん
2006/04/29(土) 21:37:01お前なぁ、仕事中に2chかよ。
お前のコードだって目くそ鼻くそだろうが。
何えらそうに…はぁーあ
0370デフォルトの名無しさん
2006/04/29(土) 21:43:06「お前、仕事中だろ。」と言い切る人間だけには
なりたくないものだな。
0371デフォルトの名無しさん
2006/04/29(土) 22:10:570372デフォルトの名無しさん
2006/04/29(土) 22:15:09散々推敲したあげくできたのが
「○〜〜〜〜〜〜〜○」
どう見ても精子です。本当にありがとうございました。
0373デフォルトの名無しさん
2006/04/29(土) 22:21:42はぁ?
361 名前:デフォルトの名無しさん[sage] 投稿日:2006/04/29(土) 14:10:18
俺の友達には、通常の演算ごときに括弧をネストしまくる人がいます。
コードが見難くてしょうがない。
俺がそのコードに携わる訳じゃないから別にいいけど。
あいつ極度の心配性なのかな・・・。
0374デフォルトの名無しさん
2006/04/29(土) 22:28:43はぁ?
367 名前: 361 [sage] 投稿日: 2006/04/29(土) 21:14:36
なんか「係数を新しくつったときの為」なんだってさ。
なんて目に優しくないんだろう。
369 名前: デフォルトの名無しさん [sage] 投稿日: 2006/04/29(土) 21:37:01
>>367
お前なぁ、仕事中に2chかよ。
0375デフォルトの名無しさん
2006/04/29(土) 22:35:29吐く(カキコする)ぐらい、2ちゃんでは日常茶飯事
なのだがw
0376デフラグさん ◆WaDYW8eWxU
2006/04/29(土) 22:38:36[゚д゚] デフラグガカンリョウシマシタ
/[_]ヽ
| |
、、ぁいえかがくぐすずずだちっつてでとなののはままゃららるをん
カキコ事人吐常日暴知茶見言間飯()2w
0377デフォルトの名無しさん
2006/04/29(土) 22:41:47似て非なるもの。
0378デフォルトの名無しさん
2006/04/29(土) 22:43:100379デフォルトの名無しさん
2006/04/29(土) 22:46:220380デフォルトの名無しさん
2006/04/30(日) 00:17:01池沼かお前
0381デフォルトの名無しさん
2006/04/30(日) 19:22:07誰か教えてくれ。
0382361
2006/04/30(日) 20:04:010383370
2006/04/30(日) 20:09:350384デフォルトの名無しさん
2006/04/30(日) 20:19:040386361
2006/04/30(日) 20:26:440387デフォルトの名無しさん
2006/04/30(日) 22:21:26しかし黄金厨にしてはよくやったぞ。
でかしたぞ。誉めて遣わす。
0388デフォルトの名無しさん
2006/04/30(日) 22:48:54>ネタ師か。暇人だな。
ん? >>369 のこと?
0389デフォルトの名無しさん
2006/05/01(月) 02:17:070390デフォルトの名無しさん
2006/05/01(月) 02:27:260391デフォルトの名無しさん
2006/05/01(月) 06:20:09タブで統一してあれば、タブ幅を変えるだけでインデントの幅を
変更できるから便利なのに。
0392デフォルトの名無しさん
2006/05/01(月) 06:22:28タブとスペースが混ざることがある。
0393デフォルトの名無しさん
2006/05/01(月) 06:35:480394デフォルトの名無しさん
2006/05/01(月) 07:37:260395デフォルトの名無しさん
2006/05/01(月) 12:37:40HTMLとかなら伝送量が減るというメリットはあるが、微々たる物。
今のメリットは、やっぱり1keyでインデントできるあたり?autoindentしてりゃ不要だけど。
0396デフォルトの名無しさん
2006/05/01(月) 13:20:050397デフォルトの名無しさん
2006/05/01(月) 13:24:48なんかのコード
/**/
↓
/*
なんかのコード
/**/
0398デフォルトの名無しさん
2006/05/01(月) 13:28:010399デフォルトの名無しさん
2006/05/01(月) 13:48:07エディタが構文解析してインデント表示すればいいじゃん。
0400デフォルトの名無しさん
2006/05/01(月) 14:14:11VBぐらいか。
0401デフォルトの名無しさん
2006/05/01(月) 16:36:25EclipseのXML関係プラグインにその手のがあったはず。
0402デフォルトの名無しさん
2006/05/01(月) 22:25:07#if A
...
#if B
{
#if C || D || F
...
#endif
}
...
#endif
#else
...
#endif
0403デフォルトの名無しさん
2006/05/02(火) 00:19:16#if B
{
を改行とって
#if B {
にしたらエラーになりそうな文
0404デフォルトの名無しさん
2006/05/02(火) 00:25:43突っ込みが的外れすぎ。
0405デフォルトの名無しさん
2006/05/02(火) 01:56:14今は環境がへっぽいから迷惑なことも多いけど
将来的にはそれくらい環境側でやってくれよって方向が理想かな。俺は。
IDEなりエディタなりが賢くなってくれれば
人間はコード書くことに専念できるし、
つまらん宗教戦争に時間費やすこともなくなる。
0406デフォルトの名無しさん
2006/05/02(火) 02:46:330407デフォルトの名無しさん
2006/05/02(火) 02:59:57「タブにしろよ」
「スペースがいいんだよ。」
「お前、どっちがいいと思う。」
「えーと・・」
参加しないで済ませるもんならそうしたい。
0408デフォルトの名無しさん
2006/05/02(火) 03:03:59もっと困るのは、勝手に宗教論争始めた奴らのせいで、本当にしたい議論ができないこと。
スレが宗教論争で埋まるってのがいい例。
0409デフォルトの名無しさん
2006/05/02(火) 03:32:24仕事なら権限をもってるやつがきめるだろうし、ネットならスルーすればいい。
0410デフォルトの名無しさん
2006/05/03(水) 00:48:49int a;
int *p = &a;
*a = 1;
ってなにがしたいん?
0411デフォルトの名無しさん
2006/05/03(水) 00:52:02*p = 1;
の間違い?
よく見るって、どういう文脈でだろう。
0412デフォルトの名無しさん
2006/05/03(水) 00:52:250413デフォルトの名無しさん
2006/05/03(水) 01:03:31ロシアンルーレット
0414デフォルトの名無しさん
2006/05/03(水) 01:26:43コンパイルエラーのテスト
0415デフォルトの名無しさん
2006/05/03(水) 01:58:160416デフォルトの名無しさん
2006/05/03(水) 02:24:02m9( ^∀^)プギャー
0417デフォルトの名無しさん
2006/05/03(水) 05:57:46( ^ ω ^ )
0418デフォルトの名無しさん
2006/05/03(水) 12:26:49eclipseやemacsで作業するようになって
自動整形に頼るようになってから
そのへんまったく気にしなくなりました。
コマンド一つで自分の見慣れた見栄え?になるから
他の人間のソースがアレだとしても、どうでもいい。
タブだのスペースだのを気にする人は
一体何を使って作業してるんですかね。
どうも作業環境自体に改善すべき事項が隠れてる気がするんですが。
エディタにすらできることを、人間様が気遣いしてやってる時点で、
タブ・スペースの量どころではなく、何かが狂ってるのでは…
0419デフォルトの名無しさん
2006/05/03(水) 12:41:45使いまくりのソースが届いたのだが。
世の中そんなもんか?
0420デフォルトの名無しさん
2006/05/03(水) 13:05:50こういうのって、趣味プログラマか脳内プログラマだな。
0421デフォルトの名無しさん
2006/05/03(水) 13:12:48コーディングルールなんていらないって言ってたやつがいたな。
その後、そこらへんを分かってる人が、さりげなくフォローする
カキコをしてたけど、やっぱ意味がわかってなったか。
0422デフォルトの名無しさん
2006/05/03(水) 13:47:46やっぱ統一せざるをえないのが実情なんだろうか。
0423デフォルトの名無しさん
2006/05/03(水) 14:00:350424デフォルトの名無しさん
2006/05/03(水) 14:10:20…やっぱりわかりますか。
>>421
「コーディングルールまでいらない」とは言ってませんが…
変数・関数名のルールなどは、共同で開発するにあたって必要では。
でも、タブやスペースまで決めておく必要があるかどうかは疑問を感じるのです。
そこまでキッチリ決めておかないといけない環境に興味があります。
>>422 さんの上げた CVS で困る、といった事例が一例なのでしょうか。
でも、入れるときに自動化で整形できそうだけど…
…ああ。その整形に必要なルールを決めるときに、
タブやスペースの量をどうするか、という話なんですかね?
(スレを眺めていた限りでは、
「俺の好みの可読性」にこだわってるだけの話のように見えましたが)
0425デフォルトの名無しさん
2006/05/03(水) 14:34:46ttp://x68000.q-e-d.net/~68user/unix/pickup?CVS%B1%BF%CD%D1%CA%D4
CVSって使ったことないんで少し検索して調べたんですが、
タブとスペースも決めておかないといけないのですか…面倒なんですね…
でも、
「エディタのタブ設定の違いにより、全ての行のタブがスペースに変換されてしまった」
のを「ミス」と言ってしまう理由がわからない…
そんなの、比較に使うプログラム側で対処できそうだけど…
0426デフォルトの名無しさん
2006/05/03(水) 16:28:440427デフォルトの名無しさん
2006/05/03(水) 17:11:470428デフォルトの名無しさん
2006/05/03(水) 17:16:570429デフォルトの名無しさん
2006/05/03(水) 17:40:54ともかく、統一しなくても、比較時にツールで何とかしよう方法だと、いろいろ
問題でそう。
0430デフォルトの名無しさん
2006/05/03(水) 18:23:46って言ってるやつは一人でコーディングしてて複数人での開発経験なさそう
またはソース管理ツール使わずに担当ごとに担当ソースが決まってそう
0431デフォルトの名無しさん
2006/05/03(水) 18:36:20>って言ってるやつは一人でコーディングしてて複数人での開発経験なさそう
別にどっちでもいい派なんだけど、この根拠はなに?
>またはソース管理ツール使わずに担当ごとに担当ソースが決まってそう
改造ならしょうがないかもしれないが、新規開発で同じソースを複数担当でいじるようにする理由がわからない。
共通部分にしても、共通の担当者を決めてやるのが効率的で間違いが起こりにくい開発方法。
0432デフォルトの名無しさん
2006/05/03(水) 18:36:380433デフォルトの名無しさん
2006/05/03(水) 18:37:22>>430
はいはい、お前はもういいからね
0434デフォルトの名無しさん
2006/05/03(水) 18:42:09ほんとうに小規模開発しか経験なさそう。
0435デフォルトの名無しさん
2006/05/03(水) 20:58:23大規模開発だと、同じソースを複数担当でいじることがあり得るんでしょうか?
例えば、
担当者が辞めてor変わって引き継ぎする…といった感じですか?
それとも開発言語からくる制約?
そのへん私に教えてください。お願いします、先輩。
メガネっ娘アニメ声の新人プログラマーから
ウルウルした目でお願いされてるとでも思って…
どうかよろしくご教授のほどを
0436デフォルトの名無しさん
2006/05/03(水) 21:02:05入門書のポインタの解説のときかなりの確率ででるんだけど。
あの変な文脈
0437デフォルトの名無しさん
2006/05/03(水) 21:05:19テキスト整形にハードタブ使うのなんてナンセンス。
使うとしてもTSVやMakefileなんかの区切り記号として。
0438デフォルトの名無しさん
2006/05/03(水) 21:05:30それつまり単純にポインタの解説したいだけじゃないか?
0439デフォルトの名無しさん
2006/05/03(水) 21:08:08マジレス
>大規模開発だと、同じソースを複数担当でいじることがあり得るんでしょうか?
死ぬほどあり得る
0440デフォルトの名無しさん
2006/05/03(水) 21:10:24せめてコンパイル通るようにしてから言ってね坊や
0441デフォルトの名無しさん
2006/05/03(水) 21:19:08・・・
0442デフォルトの名無しさん
2006/05/03(水) 22:05:00本質とは関係ないけど
int a;
int *p = &a;
*a = 1;
だとint *p = &a;が意味ない。p使ってないし。
それに*a = 1;はどこに入れてるのっ思わね?
0443デフォルトの名無しさん
2006/05/03(水) 23:36:54の部分は
*p = 1;
の間違いだろ?
0444デフォルトの名無しさん
2006/05/03(水) 23:45:31cvsなり使って入れば誰が何を変えたか判るから複数で同じファイル触っても全然問題なし
0445デフォルトの名無しさん
2006/05/04(木) 00:00:27ワープロでプログラミングしてるのか?
0446デフォルトの名無しさん
2006/05/04(木) 00:42:52int *p;// = &a;
//*p = 1;
ダミーが要る理由はこれやってみりゃ分かるよ。
0447デフォルトの名無しさん
2006/05/04(木) 00:47:10int *p;// = &a;
*p = 1;
こうね
0448デフォルトの名無しさん
2006/05/04(木) 01:06:25おまえ、危ない
0450デフォルトの名無しさん
2006/05/04(木) 10:28:38OSがそこを使用するという保証はないし、そもそも初期化されないpがその辺を指す保証もない。
つまり、そのコードが全く問題なく動作する可能性も多々ある。
0451デフォルトの名無しさん
2006/05/04(木) 12:15:09OSのレベル管理(メモリ保護、特権命令)はそんなにザルなのか?
0452デフォルトの名無しさん
2006/05/04(木) 12:30:14お前の読解レベルはそんなに糞なのか?
0453デフォルトの名無しさん
2006/05/04(木) 12:39:06ホントに低脳ばっかw
0454デフォルトの名無しさん
2006/05/04(木) 12:39:52>>449が勝手に環境を限定してる上にどの環境のことかも謳ってないのが一番の問題。
まぁ、照れ隠しに知ったかぶりたかったんだろうけど。
0455デフォルトの名無しさん
2006/05/04(木) 13:16:58激しく同意
rubyのソースコード見たとき、おいおい大丈夫かよ、と思った
0456デフォルトの名無しさん
2006/05/04(木) 13:21:58453 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/04(木) 12:39:06
いちいち煽んないで説明してやりゃいいのに。
ホントに低脳ばっかw
453 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/04(木) 12:39:06
いちいち煽んないで説明してやりゃいいのに。
ホントに低脳ばっかw
453 名前:デフォルトの名無しさん[sage] 投稿日:2006/05/04(木) 12:39:06
いちいち煽んないで説明してやりゃいいのに。
ホントに低脳ばっかw
0457デフォルトの名無しさん
2006/05/04(木) 14:47:08>>411 が見えていないのか。
0458デフォルトの名無しさん
2006/05/04(木) 14:57:540459デフォルトの名無しさん
2006/05/04(木) 21:21:40キタコレ
0460デフォルトの名無しさん
2006/05/05(金) 00:25:040xcccccccc
-858993460
だが、環境にもよるな
コンパイラにもよるし、そもそも32bitアドレス指定じゃないCPUもある
OSが違えば、80000000〜FFFFFFFFがOSが使ってるとはいえない
リアルモードで動こうが(物理アドレスを指示)、プロテクトモードで動こうが(論理アドレスを指示)、
値はコンパイラが同じなら変わらないとは思うけど。
0461デフォルトの名無しさん
2006/05/05(金) 00:29:5132bitの最上位はキャリービットだ
あっ、知ったかゴメソw
0462デフォルトの名無しさん
2006/05/05(金) 00:39:36特定のアーキテクチャに毒されすぎるのもよくないなと思った。
0463デフォルトの名無しさん
2006/05/05(金) 01:25:17いや、本当にしったかだと思う。
変数初期化してなかったらなにが入ってるか分からないなんて、そんな、
実際に中身をみて確かめるようなことか?
マイナスの意はキャリービットってなんだよ。
0464デフォルトの名無しさん
2006/05/05(金) 01:33:18頼むから、コテ酉付けてくれ。
0465デフォルトの名無しさん
2006/05/05(金) 01:49:15CPUが分かる条件分岐は2つある。
=と><大小(実際ソースでも比較はこう。文字は文字コード大小比較)
CPUの中でやることは一緒、引き算して、0になればゼロフラグ(Z)が立ち、
負になればキャリーフラグ(C)が立つ。
そして、マシン語の条件分岐命令には尻尾にもし「ビンゴの時の飛ばし先アドレスが書いてある」
プログラムカウンタは通常、clockの逓倍で、逓倍ずつカウントアップしてゆく(アクセスするアドレスは逓倍カウントアップするんだから当然か)、
だがしかし、条件分岐命令のときは、フラグが立っていなかったら、通常のカウントアップ、
フラグが立っていたら、外部からレジスタに取り込んである飛ばし先アドレスをプログラムカウンタに入れる布線論理回路を組んである。
当然、プログラムカウンタの値はアドレスバスに乗り、メモリに届く。
ごっめ〜ん、また知ったかしちゃったw
ちなみにプログラムカウンタの値はデバッガでも見れる、x86系ならEIPレジスタというのがそれだよ。
ステップイン実行すると通常は、逓倍カウントアップされるのが見て取れる。
ジャンプやCallや条件分岐の命令が来ると、命令の尻尾についてるアドレスに飛んだりするのが見て取れる。
長文ゴメンネ〜、でも知っといて損ないよ
0466デフォルトの名無しさん
2006/05/05(金) 01:53:19{
string text1 = "";
for (int num1 = 0; num1 < Count; num1++)
{
text1 = text1 + " ";
}
return text1;
}
0467デフォルトの名無しさん
2006/05/05(金) 01:53:50お願いだから、コテ酉付けてくれ。
0468デフォルトの名無しさん
2006/05/05(金) 01:56:10へ〜
0469デフォルトの名無しさん
2006/05/05(金) 02:00:04>負になればキャリーフラグ(C)が立つ。
帰れ莫迦。
0470デフォルトの名無しさん
2006/05/05(金) 02:06:51どうぞこちらのスレへお越しください。
http://pc8.2ch.net/test/read.cgi/tech/1141400056/
0471デフォルトの名無しさん
2006/05/05(金) 02:40:39きちんとした資料を提示して、一発で論破して頂きたい。
煽りは資源の無駄使い。
0472デフォルトの名無しさん
2006/05/05(金) 02:58:2674HC283の規格表をあたるか、“4bit full adder” でググれ。
出力が 5bit あるのに気付けばよし。
それと、“2の補数表現” についても学習せよ。
clockの逓倍がどうのこうの、という知能の低い理解については
“バイトマシン 命令長” あたりか。
0473デフォルトの名無しさん
2006/05/05(金) 03:09:04そもそもスレ違いだということに気づいてとっとと消えて欲しいものだが。
0474デフォルトの名無しさん
2006/05/05(金) 03:14:08>465は「釣れたw」とか書き捨てて消える前に何かコードを残していってよ。
多分スレ違いにはならないだろうからさ。
0475デフォルトの名無しさん
2006/05/05(金) 03:46:31もうこのスレ見てないかもしれんが、そのなんちゃって知識を本物にしたければ
Write Great Code でも嫁。この本はマジでオススメ。
0476デフォルトの名無しさん
2006/05/05(金) 10:16:130477デフォルトの名無しさん
2006/05/05(金) 10:24:150478デフォルトの名無しさん
2006/05/05(金) 10:34:170479デフォルトの名無しさん
2006/05/05(金) 10:37:56いきなり正解ぶつけて煽り文句入れたって踊らない。
相手の技術レベルに合わせてバカ話を引き伸ばし、抜き差しならないところまで追い込んでから
「ネタでした」発言を引き出すくらいからがスタートらいんだな
0480デフォルトの名無しさん
2006/05/05(金) 11:05:26根性無いな。
他スレで暴れてるGW厨は正論のひとつやふたつでは潰れなかったんだが。
0481デフォルトの名無しさん
2006/05/05(金) 11:47:550482デフォルトの名無しさん
2006/05/05(金) 13:11:00Zフラグだって、レジスタの中だぞw
そもそも計算に出し入れする入れ物もレジスタだ。
CPUの中でやってることは、入れ物の入り口と出口をトリガしてやっている、これらのトリガ信号は、フェッチサイクルで取り込んだ命令をデコードしてばらして、ばら撒かれたものだ、
そして実際トリガされるときトリガ信号たちは、トリガ信号群自身あるいはデコードを使ってタイミングをずらしてトリガ行われる。
トリガされる部分はトライステートゲートという回路を使う。レジスタはただのRatch、FFの塊だ。
>バイトマシン
命令長が違ったり、実行サイクル長が違っていれば、プログラムカウンタがマスターclockの「定倍」で動作するはずはない。
俺は逓倍と言ったはずだ。逓倍と分周。逆の言葉だ、意味分かるか?逓倍は整数倍だ。
話を戻して、プログラムカウンターの入り口は2つあって、実行サイクルでとりこんだアドレスを取り込む入り口と、通常のカウンタ動作でカウントアップ値を取り込む入り口だ。
その入り口に実行サイクルの最後のほうでトリガが掛かる。そこでプログラムカウンターの中の値がリニューアルされる、そしてアドレスレジスタを経てCPU外に放出だ。
じゃあ、ご希望に答えて
釣れたw?
かなりすれ違いという声も聞こえそうな内容だが。
0483デフォルトの名無しさん
2006/05/05(金) 13:16:51馬鹿は482だというのが確定しました。
皆さんお疲れ様でした。
0484デフォルトの名無しさん
2006/05/05(金) 13:19:34>Write Great Code
本屋で探してみます。
0485デフォルトの名無しさん
2006/05/05(金) 13:19:390486デフォルトの名無しさん
2006/05/05(金) 13:30:450487デフォルトの名無しさん
2006/05/05(金) 13:35:070488デフォルトの名無しさん
2006/05/05(金) 13:59:25俺もキャリーフラグとキャリービットはしっかり使い分けて書いたんだがなw
0489デフォルトの名無しさん
2006/05/05(金) 14:01:590490デフォルトの名無しさん
2006/05/05(金) 14:04:48m9(^Д^)プギャーーーッ
0491デフォルトの名無しさん
2006/05/05(金) 14:15:27そんなアフォなw
まあ、ハードウェア割り込みの時のベクタ飛びと、
PUSH-CALL-RET-POPは知っとく必要あるな
0492デフォルトの名無しさん
2006/05/05(金) 14:45:320493デフォルトの名無しさん
2006/05/05(金) 14:53:320494デフォルトの名無しさん
2006/05/05(金) 15:07:39担当したシステム全体的な思想が、継承して機能拡張するというものだったので
本来、superの特定のメソッドをオーバーライドすれば最小限の変更ですむはずが
そのsuperの作りが悲惨で、
・変更したかったメソッドがprivate:メソッドA
・メソッドAを呼んでいるのがprivateメソッド:メソッドB
・メソッドBを呼んでいるprotectedメソッドが400行近くある:メソッドC
・メソッドCは他のprivateメソッドを呼んでいる:メソッドD
・メソッドA, B, C, D何れもアクセッサメソッドがないプロパティにアクセスしている
・プロパティへのインスタンス代入を宣言部で行っている
・マップやリストへの初期値設定はコンストラクタで行っている
・コンストラクタでは上記初期化以外にもう少し重要な処理を記述している
メソッドAに2行記述するだけでよかったはずが、コンストラクタ含めほぼ丸写し状態w
0495493
2006/05/05(金) 15:11:000496デフォルトの名無しさん
2006/05/05(金) 15:16:370497デフォルトの名無しさん
2006/05/05(金) 16:56:17『済みません、俺(482)本当は>465とかじゃないんです。
皆が>465にレス返してもらっていたのに嫉妬してついやっちゃいました。
俺(482)デブオタヒッキーで誰から相手してもらえません。
お願いです。どんなレスでもいいんで相手して下さい。』
OK、皆やさしい人ばかりだから沢山レスしてもらえるさ。だから自殺は止めような。
0498デフォルトの名無しさん
2006/05/05(金) 17:02:44M16CはH8と比べてレジスタが少ない構成で割り込みを多用するなら逆に使い易いね。
それにc言語でも使い易いから、いい感じ。
SHはクロック高めでいいんだけどC言語使わないと性能発揮出来ないし
レジスタ多いから割り込み頻繁にかけるには今ひとつパフォーマンス出ない
内蔵DSP命令も、精度的にゲームにでも使わなきゃ意味ないだろのれベルだしな
0499デフォルトの名無しさん
2006/05/05(金) 17:09:47全貌への興味津々wか?、なら更に言うと、
すべては>>446から始まった
要は、>>446=>>447=>>449=>>451=>>460=
>>461=>>482=>484=>488だ、これが俺の全レスだ
何故かって?それは本人だからだw
いや、釣らせてもらって悪かったw、大量だったよw
とレスを返して欲しかった訳かw
0500デフォルトの名無しさん
2006/05/05(金) 17:23:00スマンな。 巧い煽りを入れられなくて。
ただ、演技入れるならもうちょっとソレらしくやってくれよ
透けすぎ
0501デフォルトの名無しさん
2006/05/05(金) 17:23:050502デフォルトの名無しさん
2006/05/05(金) 17:29:27いや、俺は自分でウソと思ったことは書いてないよ。
抽象的に書いたから、とりようによっては誤りかもしれないし、
実際誤りもあるかもしれない。
ただ、どのCPUでも当てはまるであろうということを主眼には書いた。
割り込みに関しては、アーキテクチャによってかなり違いがあるし、CPU内各所にストップ掛けるところが多くて難しい・・自分にとっては
0503デフォルトの名無しさん
2006/05/05(金) 17:32:42>>461なんて噴飯モノで、こんな勘違いしてる奴が実在するなんて信じられないぞ
0504デフォルトの名無しさん
2006/05/05(金) 17:37:540505デフォルトの名無しさん
2006/05/05(金) 17:41:09【値はコンパイラが同じなら変わらない】のではなく
VCでDebugでコンパイルした時に この値にワザワザ初期化するコードが追加されるだけ
VCでDebugを外せば追加されず、結果は不定となる。
さらに、マイナスで表現してるのは意味がない。
32bitの最上位をマイナスとするかどうかは人の頭の中にしかない
0506デフォルトの名無しさん
2006/05/05(金) 17:42:47>>504 最適化するのはHEWでuITRONじゃないだろ。
0507デフォルトの名無しさん
2006/05/05(金) 17:49:17ボローの設計はCPU依存でキャリーフラグが立つのもあれば、キャリーフラグを立てておいてボローが発生するとキャリーがクリアされるとか色々だ。
0508デフォルトの名無しさん
2006/05/05(金) 17:50:25フラグとは書いちゃ居ないよ。
ハードウェア割り込みに関しては、IR(命令レジスタ)に取り込むことなく
割り込み来たら、マスクビットと演算させて、多少のレジスタのローテートはあるかもしれないが、
割り込みピンから受けた割り込み番号をほぼ同じ形でプログラムカウンタに取り込み、次に、
該当アドレスすなはちベクタテーブル上の割り込み処理アドレスを再びプログラムカウンタに取り込み、
割り込みルーチンに飛ぶという形、いわゆる割り込みベクタ方式が一般的だと思う。
デバッガで割り込みはINT命令(ソフトウェア割り込み)で確認できる程度なのが残念だ。
まあ、当然か、デバッグ処理中のマウス・キーボード操作のデバッガなんか・・・
ん、作ろうと思えばできるのか・・・、デバッガは難しすぎる、自分にとっては。
0509デフォルトの名無しさん
2006/05/05(金) 17:52:270510デフォルトの名無しさん
2006/05/05(金) 17:54:020511デフォルトの名無しさん
2006/05/05(金) 17:59:08最近はコンパイラの吐くアセンブラまで読んでないから積和命令が使われてるか気にしてないよ。昔はBIT命令があるのにAND OR使われてたらうんざりさたが最近は気にしない。
0512デフォルトの名無しさん
2006/05/05(金) 17:59:21>499
マテ。>410は違うのか?
0513デフォルトの名無しさん
2006/05/05(金) 17:59:260514デフォルトの名無しさん
2006/05/05(金) 18:01:56計算結果を元にレジスタにフラグ操作に行くのはALUだぞ、一般的に。
ALUがやるんだから、アドレス演算でもデータ演算でも関係なく。
CPU依存といわれればそれまでだけど。
0515デフォルトの名無しさん
2006/05/05(金) 18:04:170516デフォルトの名無しさん
2006/05/05(金) 18:04:57書き間違いで
int a;
int *p = &a;
a = 1;//もしくは*p=1;
でしょ
0517デフォルトの名無しさん
2006/05/05(金) 18:07:06マテ。釣りはもういい。
0518デフォルトの名無しさん
2006/05/05(金) 18:07:12リアルモードのIDTR受けやらプロテクトモードで更にGDTR受けやらは省いたよ。
0519デフォルトの名無しさん
2006/05/05(金) 18:12:17サインフラグと同時に使うのはオーバフローフラグであって
キャリーフラグと サインフラグは同時には使わない。
つまり、数として表現するとしても、符号無しと符号付きの二つの形式がある。
さらにポインタの中身は数ですらなく、アドレスであり数として認識してるわけではない。
0520デフォルトの名無しさん
2006/05/05(金) 18:17:49スレ違いですよ
0521デフォルトの名無しさん
2006/05/05(金) 18:46:07マスクが掛かっていた場合、それぞれ、
・桁上がりの場合
キャリーとオーバフローが操作される
・引き算など正負ゼロ判定の場合
サイン、ゼロが操作される
・アドレスの場合
どれも操作されれない
でOKですか?CPUは計算前にそれが、アドレスなのかデータなのか(桁上がりアリなのか負アリなのか)は分からないと思うのですが、マスクフラグ立て下げしてやらないと。
0522デフォルトの名無しさん
2006/05/05(金) 18:47:050523デフォルトの名無しさん
2006/05/05(金) 18:53:03もしかして、天然って思ってほしいわけ? 天然でもそこまでの奴はいないよ。
だいたい、マスクってネタがもうアレだよ。 透けてるよ。
CPUの例えば加算命令が発行されたら Z , N , C , OV を備えていれば、4つとも変更されるのが普通なんだからさ。
0524デフォルトの名無しさん
2006/05/05(金) 18:57:57プログラミングってのは、いかに0,1で抽象化するかって所からのスタートだからね
ヘタなコードは基本的にソレが出来ていない。
計算機は数字を扱うものだと言わんばかりに、即値をアチコチばら撒いたりさ
0525デフォルトの名無しさん
2006/05/05(金) 19:06:24>>507
キャリーとボローの両方を備えてるCPUなんてあるのか?
何てCPU?
と突っ込み入れとくか・・・・・・
0526デフォルトの名無しさん
2006/05/05(金) 19:13:35マスクビット知らない筈が無いだろ?
これなしで、どうやって符号無しと符号付きの区別付くんだ?
ボロー備えてなけりゃ、どうやって引算するんだ?
いい加減にしとけ
0527デフォルトの名無しさん
2006/05/05(金) 19:20:44それとも明日仕事か?
0528デフォルトの名無しさん
2006/05/05(金) 19:22:230529デフォルトの名無しさん
2006/05/05(金) 19:37:250530デフォルトの名無しさん
2006/05/05(金) 19:53:26前々から言われてたが実感するよ
てか、オシレータの逓倍と分周知らずに、CPUが早いだの遅いだの言われても、
2ch語で言えばpgrだな
0531デフォルトの名無しさん
2006/05/05(金) 20:17:060532デフォルトの名無しさん
2006/05/05(金) 22:47:380533デフォルトの名無しさん
2006/05/05(金) 23:26:00>俺は逓倍と言ったはずだ。
「定倍」という単語は >>482 で初めて使われている。
0534デフォルトの名無しさん
2006/05/05(金) 23:59:410535デフォルトの名無しさん
2006/05/06(土) 04:05:54>446が80スレ2日かかったのに、向こうは数時間だぞ。
0536デフォルトの名無しさん
2006/05/06(土) 05:21:420537デフォルトの名無しさん
2006/05/06(土) 09:44:03>定倍と逓倍間違えるようじゃな、日本語もすたれたな
>前々から言われてたが実感するよ
逓信省が民営化される今、
逓倍などという用語も消え去るのが世の流れ。
「言語学は規範的であるよりもむしろ記述的なのです」
0538デフォルトの名無しさん
2006/05/06(土) 10:46:52よし、流れを変えてやる。
有名なんで挙げるのは正直怖いんだが…、
jumanって下手じゃないかと思う。
0539デフォルトの名無しさん
2006/05/06(土) 11:35:03違います。
『ぱっと見て「ヘタレだなぁ」と思う知ったかちゃん』のスレです
0540デフォルトの名無しさん
2006/05/06(土) 11:39:22お前のレスが『ぱっと見て「ヘタだなぁ」と思う日本語』なので、
やはりこのスレは『ぱっと見て「ヘタだなぁ」と思う日本語』のスレです。
0541デフォルトの名無しさん
2006/05/06(土) 11:47:100542デフォルトの名無しさん
2006/05/06(土) 11:55:050543デフォルトの名無しさん
2006/05/06(土) 11:58:070544デフォルトの名無しさん
2006/05/06(土) 12:01:550545デフォルトの名無しさん
2006/05/06(土) 12:04:010546デフォルトの名無しさん
2006/05/06(土) 12:08:45自分がレベル低いと自覚してるから反応しちゃうのかなwww
0547デフォルトの名無しさん
2006/05/06(土) 12:08:510548デフォルトの名無しさん
2006/05/06(土) 12:11:44マジuze-さっさと消えてね☆
0549デフォルトの名無しさん
2006/05/06(土) 12:17:26結局、
「ぱっと見て「ヘタだなぁ」と思うコード 」
なんてスレに書き込んでいる奴は
こういう奴等しかいない、という事で・・・
0550デフォルトの名無しさん
2006/05/06(土) 12:23:010551デフォルトの名無しさん
2006/05/06(土) 12:34:28【新P2P】squirt part2【テスター募集】
http://tmp6.2ch.net/test/read.cgi/download/1146829932/
0552デフォルトの名無しさん
2006/05/06(土) 12:50:17バイナリしか見つからんかった。
0553デフォルトの名無しさん
2006/05/06(土) 13:04:580554デフォルトの名無しさん
2006/05/06(土) 13:06:370555デフォルトの名無しさん
2006/05/06(土) 13:08:28ttp://www.aisto.com/roeder/dotnet/
のReflector for .NET使ったらソースが丸見え。
GetMessageType(string)のところに
switch (num1)
{
case 0:
return 1;
case 1:
return 2;
case 2:
return 3;
case 3:
return 4;
case 4:
return 5;
case 5:
return 6;
case 6:
return 7;
case 7:
return 8;
}
とかあるwww
0556デフォルトの名無しさん
2006/05/06(土) 13:08:300557デフォルトの名無しさん
2006/05/06(土) 13:16:520558デフォルトの名無しさん
2006/05/06(土) 13:57:370559デフォルトの名無しさん
2006/05/06(土) 14:12:240560デフォルトの名無しさん
2006/05/06(土) 14:13:41return ++num1;
終了
0561デフォルトの名無しさん
2006/05/06(土) 14:14:22それ、なんか複雑な変換をかませようとした残骸なんじゃねーの?
0562デフォルトの名無しさん
2006/05/06(土) 14:16:030563デフォルトの名無しさん
2006/05/06(土) 14:16:150564デフォルトの名無しさん
2006/05/06(土) 14:19:580565デフォルトの名無しさん
2006/05/06(土) 14:20:260566デフォルトの名無しさん
2006/05/06(土) 14:27:040567デフォルトの名無しさん
2006/05/06(土) 14:27:49C♯コンパイラが吐き出した結果だから、ソースがそのまま見えているわけではないだろ。
0568デフォルトの名無しさん
2006/05/06(土) 14:31:49if (num1 < numArray1[0])
{
return 1;
}
if (num1 < numArray1[1])
{
return 2;
}
if (num1 < numArray1[2])
{
return 3;
}
if (num1 < numArray1[3])
{
return 4;
}
if (num1 < numArray1[4])
{
return 5;
}
if (num1 < numArray1[5])
{
return 6;
}
if (num1 < numArray1[6])
{
return 7;
}
return 8;
0569デフォルトの名無しさん
2006/05/06(土) 14:49:09wwwwwwwww
0570デフォルトの名無しさん
2006/05/06(土) 14:52:08必要ならifで別ければおkじゃね?
0571デフォルトの名無しさん
2006/05/06(土) 15:11:210572デフォルトの名無しさん
2006/05/06(土) 15:16:48>555
{
if(num1<0 || num1>7) retrun;
else {return ++num1;}
}
>568
{
int i;
for(i=0;i<=6;i++){
if(num1 < numArray1[i]) {return ++i;}
}
return 8;
}
0573デフォルトの名無しさん
2006/05/06(土) 15:18:500574デフォルトの名無しさん
2006/05/06(土) 15:38:47exeをReflectorで逆アセして元ソースと同じになっていると思っているんだろうか。
0575デフォルトの名無しさん
2006/05/06(土) 15:58:110576555
2006/05/06(土) 15:59:390577デフォルトの名無しさん
2006/05/06(土) 16:02:03元のソースコードワロス
0578デフォルトの名無しさん
2006/05/06(土) 16:04:32お前の脳味噌も最適化してもらえよ
0579デフォルトの名無しさん
2006/05/06(土) 16:08:32>>555なんてswitch文はありえないだろ。
0580デフォルトの名無しさん
2006/05/06(土) 16:13:11元ソースがおかしい可能性もあるし
最適化がかかってない可能性もあるし
逆アセの段階で変なことになっている可能性もある
0581デフォルトの名無しさん
2006/05/06(土) 16:14:270582デフォルトの名無しさん
2006/05/06(土) 16:18:190583デフォルトの名無しさん
2006/05/06(土) 16:19:23「何これテラワロス」とか抜かすお馬鹿さんが現れそう。
0584568
2006/05/06(土) 16:49:220585568
2006/05/06(土) 16:59:260586デフォルトの名無しさん
2006/05/06(土) 17:23:14「なんちゃってPOP3偽装」とか「暗号について」とかの部分。
0587デフォルトの名無しさん
2006/05/06(土) 17:31:12おいおい、ここはそのソースを云々するスレじゃないのかい?
話を作者叩きにスリ替えるなよな。
0588586
2006/05/06(土) 17:33:350589デフォルトの名無しさん
2006/05/06(土) 17:37:530590デフォルトの名無しさん
2006/05/06(土) 17:41:500592デフォルトの名無しさん
2006/05/06(土) 17:43:350593デフォルトの名無しさん
2006/05/06(土) 17:47:23脳味噌カラッポか?
どうみても正論だろうが。
0594デフォルトの名無しさん
2006/05/06(土) 17:47:320595デフォルトの名無しさん
2006/05/06(土) 17:50:570596デフォルトの名無しさん
2006/05/06(土) 17:53:110597デフォルトの名無しさん
2006/05/06(土) 17:57:25作者が顔を真っ赤にしてこのスレを見ているようです
.
0598デフォルトの名無しさん
2006/05/06(土) 18:00:12あの板から厨が流入したか、それとも元々?
0599デフォルトの名無しさん
2006/05/06(土) 18:02:270600デフォルトの名無しさん
2006/05/06(土) 18:05:17はいはい、もうDL板に帰れ厨房が
0601デフォルトの名無しさん
2006/05/06(土) 18:05:45バーカ
0602デフォルトの名無しさん
2006/05/06(土) 18:07:320603デフォルトの名無しさん
2006/05/06(土) 18:09:31おい、ID:ShHjijxN0、何でニューラルネットワークが出てくるんだよ。
馬鹿すぎだろ。
353 名前:[名無し]さん(bin+cue).rar[] 投稿日:2006/05/06(土) 18:02:22 ID:ShHjijxN0
protectとかつまらん機能つけるから悪いんだよな
どうせなら、他人のPCのキャッシュをprotectをできるようにすればいい
てか、そうなると、結局削除も保守もできるようになって、結局何もかわらないと思うけどねw
キャッシュやノードに対する評価価値が単純な条件式だけでなりたってるなんてww
だから、-6000だのわけのわからない状況になるんだよww
単純な四則演算だけで相互ネットワークを処理できると思ってるのかねww
てか、学歴っつうか、数学についてもうすこし勉強しろよw
if(ノード.アップ状況==アップしてない)
{
ノード.信頼度-=100;
}
とかwwほんとしょぼすぎなんだよwww
ニューラルネットワークについてもう少し勉強しろチンカス野郎
0604デフォルトの名無しさん
2006/05/06(土) 18:25:03亀レスですが非常に勉強になりました。ありがとうございます。
cvs等の管理ツールの導入で、一つのソースを複数の人間が弄ることも可能になる、
と、それはそれで新たな問題が発生する、という展開が興味深いですね…
とても勉強になります。
0605デフォルトの名無しさん
2006/05/06(土) 18:26:40叩く方が恥ずかしいことに早く気付いたほうがいい
0606デフォルトの名無しさん
2006/05/06(土) 18:53:44恥ずかしいとは思ってないと思うよw
0607デフォルトの名無しさん
2006/05/06(土) 18:56:39'w'が少なくなったな。
疲れたのか?
0608デフォルトの名無しさん
2006/05/06(土) 19:22:47SetProperty(REFGUID rguidProp, DIPROPHEADER *pdiph)
というメソッドの第二引数に渡す構造体がコレ↓へのポインタ
struct DIPROPDWORD // え…?名前違う?
{
struct DIPROPHEADER // ???
{
DWORD dwSize; // DIPROPDWORDのサイズを入れる
DWORD dwHeaderSize; //DIPROPHEADERのサイズを入れる…
DWORD dwObj;
DWORD dwHow;
} diph;
DWORD dwData; //本当に渡したいデータはここに入る
}
さすがM$
0609デフォルトの名無しさん
2006/05/06(土) 19:30:24わしも明け方にはよく使う手じゃ。
0610デフォルトの名無しさん
2006/05/06(土) 19:35:58MSDNを見てみたらDIPROPナンタラという構造体がいくつもあり、
そのDIPROPナンタラは全て先頭にDIPROPHEADER型のdiphというメンバを持っている。
メンバのdiphを渡すことでDIPROPナンタラならなんでも渡せるようにと言うことらしい。
0611デフォルトの名無しさん
2006/05/06(土) 19:46:11残念ながら、お前の思慮が足りないということで・・・
お引き取りください
0612デフォルトの名無しさん
2006/05/06(土) 19:53:440613デフォルトの名無しさん
2006/05/06(土) 20:00:350614デフォルトの名無しさん
2006/05/06(土) 20:07:54可変長や不連続な次データの在り処を示すやりかたに似てるが・・
ヘタなコードと断言は出来ないが、褒められたコードでもないと思う。
>612
俺の記憶が正しければ、叩いていたのは一人だけだ。
0615デフォルトの名無しさん
2006/05/06(土) 21:05:08アレが誉められないコードだとして、自分ならどういうコードにするの?
0616デフォルトの名無しさん
2006/05/06(土) 21:15:380617デフォルトの名無しさん
2006/05/06(土) 21:32:350618デフォルトの名無しさん
2006/05/06(土) 21:56:43よくよく考えたらヘタでもないコードも、
ぱっと見て「ヘタだなぁ」と思えばその要件を満たしていると言えるのではないか?
0619デフォルトの名無しさん
2006/05/06(土) 22:15:16ワロスww
0620デフォルトの名無しさん
2006/05/06(土) 22:24:36作者です。
開発を中止します。モチベーションを維持できなくなりました。
1 ◆f/MpZJf1/I みたいな基地外に何を言われても何とも思わないのですが、
それ以外の方の発言で結構利いたのがあって。
やはり多くの人にいわれた通りまだまだ未熟だったようです。
出直してきます。
テストに参加してくださった方や、スレたてさんや>>12さん
本当にありがとうございました。
はいはいワロスワロスw
0621デフォルトの名無しさん
2006/05/06(土) 22:43:460622デフォルトの名無しさん
2006/05/06(土) 23:06:020623デフォルトの名無しさん
2006/05/06(土) 23:14:090624デフォルトの名無しさん
2006/05/06(土) 23:52:31wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0625デフォルトの名無しさん
2006/05/07(日) 00:21:400626デフォルトの名無しさん
2006/05/07(日) 00:38:34向こうじゃあんな感じのがデフォなの?
0627デフォルトの名無しさん
2006/05/07(日) 09:26:290628デフォルトの名無しさん
2006/05/07(日) 11:44:16たとえあなた一人しかプログラミングしてない場合でも
ソース管理ツールは使った方がいい。
0629デフォルトの名無しさん
2006/05/07(日) 15:52:410630デフォルトの名無しさん
2006/05/07(日) 15:56:44b = a
}else{
b = !a
}
昔、俺が書いてしまった。。
鬱病気味で注意力が落ちて痛んだよ(((涙
0631デフォルトの名無しさん
2006/05/07(日) 15:57:31X11 Toolkit も使ってる手法。
C++ だと、DIPROPHEADER または
その派生クラスへのポインタを渡すようなもん。
0632デフォルトの名無しさん
2006/05/07(日) 17:29:46STLにもいろいろベンダがあったと思うが、どこのSTL?
0633デフォルトの名無しさん
2006/05/07(日) 18:18:510634デフォルトの名無しさん
2006/05/07(日) 20:51:130635デフォルトの名無しさん
2006/05/07(日) 20:56:21日本人ならちゃんと日本語で話せ。
"aが正ならbはaだが、aが誤ならbはびっくり。"
0636デフォルトの名無しさん
2006/05/07(日) 21:01:200637デフォルトの名無しさん
2006/05/07(日) 23:45:23bは必ず真だから、そもそも代入する必要がないということなんじゃないの?
0638デフォルトの名無しさん
2006/05/07(日) 23:49:28代入する必要があるかないかに関してはコンテキストによるだろ。
0639デフォルトの名無しさん
2006/05/07(日) 23:55:41なにが言いたいのかはっきり書けよ!
0640637
2006/05/07(日) 23:59:34そうなんかな?オイラJava使ったことないんで良く分かんないが…。
しかし、613 にあるC#製のP2Pソフト、Reflectorでコード丸見えで解析されて可哀想だな…。
正味な話、テスト全部通ったんなら内部のコードが少々ヘタレでもまぁいいじゃんと思う。
まぁメンテする人間にとっちゃ、たまったもんじゃないんだろうけど。
0641デフォルトの名無しさん
2006/05/08(月) 00:10:31いや、Javaとかそんなん関係ないって。
例えば件のコードがまるまる別の if 文の中にあったらどうなる?
0643デフォルトの名無しさん
2006/05/08(月) 00:34:43それであってるよ。で、「b = true;」は代入なんじゃないのか?
0644642
2006/05/08(月) 00:42:57ご指摘スマソ、寝ぼけてた…orz。
× 637 bは必ず真だから、そもそも代入する必要がないということなんじゃないの?
○ bにtrueを代入するだけでいいということなんじゃないの?
0645デフォルトの名無しさん
2006/05/08(月) 01:32:45ヘタだなぁと思うコードじゃなくて、寝ぼけてるなぁと思うコードだ。
0646デフォルトの名無しさん
2006/05/08(月) 01:39:08だったのか
0647デフォルトの名無しさん
2006/05/08(月) 01:47:29ため息の出そうな言語仕様だな。
0648デフォルトの名無しさん
2006/05/08(月) 01:57:37# >>647
#shがまさにそういう仕様だよ。
# こんな風に関数を定義して
func()
{
/bin/rm -f $1
}
if [ "$1" = "core" ]
then
# こんな風に使えてしまう
func $1
fi
#要はコマンド呼び出しなので、上記の'['の代わりに使うこともできる
if func $1
then
echo "Killed."
fi
0649デフォルトの名無しさん
2006/05/08(月) 02:10:43スクリプト系は仕方ないのかな。
Perl もそんな仕様だった。
最初は &sub_name みたいな呼び出し形式だったのに
後に & なしでも OK になってしまった。
Ruby もこのスタイル。
メリットに乏しい上に変数と区別付かないデメリットが大きい。
0650デフォルトの名無しさん
2006/05/08(月) 10:20:10あと、逆に、Perlでリストとスカラーの区別が付くけど、Cではつかないとか、
Rubyでは、変数のスコープの区別がつくけどCではつかないとか。
0651デフォルトの名無しさん
2006/05/08(月) 13:07:020652デフォルトの名無しさん
2006/05/08(月) 13:28:12Sub A(ByVal i as Integer)
End Sub
Function B(ByVal i as Integer) As Boolean
End Function
Sub C
Dim i as Integer
i = 0
A i
B(i)
Call A(i)
End Sub
CallのないSubで括弧をつけると、式の優先順位を示す括弧だと認識される。
VB.NETでは改善されたようだが。つーか"Call"いらん。
0653デフォルトの名無しさん
2006/05/08(月) 13:38:150654デフォルトの名無しさん
2006/05/08(月) 14:11:45C++でコーディング規約に則った記述の方が、読み易いし保守が楽。
0655デフォルトの名無しさん
2006/05/08(月) 14:24:22配列定義していないのに Dim って 小さいとか暗いとかでも意味通らないし
var を採用すりゃいいのに・・・・
とか、思っちゃうと、全体がそういう「もうそれでやっちゃったから」の思想で覆われてるように見えてきちゃうよな
0656デフォルトの名無しさん
2006/05/08(月) 14:54:59いやまて、流れとしては Fortran → Basic → Visual Basic だし
Dim は Dimension の略だ。
0657デフォルトの名無しさん
2006/05/08(月) 15:03:27>配列定義していないのに Dim って 小さいとか暗いとかでも意味通らないし
からDimentionだと意味が通らないんじゃないってことじゃね?
0658デフォルトの名無しさん
2006/05/08(月) 15:09:170659デフォルトの名無しさん
2006/05/08(月) 15:13:26Callがあるのは一部Basicにあった外部モジュール呼び出しステートメントの流用だし、
ifステートメントのthenキーワードの場所による意味の違いもあったりで、もうなんだかね。
と書いてから、ここはぱっと見て「ヘタだなぁ」と思う言語スレじゃないことに気づいた漏れガイル。
0660デフォルトの名無しさん
2006/05/08(月) 15:15:020662デフォルトの名無しさん
2006/05/08(月) 15:53:43> メリットに乏しい上に変数と区別付かないデメリットが大きい。
C#のプロパティなんか、わざわざ、メソッドのコールを
変数のアクセスに見せかけてるよ。
0663デフォルトの名無しさん
2006/05/08(月) 23:40:13フィールドアクセスか、メドッドコールかの
区別がつかないというか、区別をつけないでいいことが大きいメリットなんだが。
てか区別つかないことによるデメリットってなに?
0664デフォルトの名無しさん
2006/05/08(月) 23:43:27IDEのサポートも無くドキュメントも貧弱になりがちなスクリプト言語のコードで
それやられると「この変数ナニよ?」ってことに・・・
Perl野郎は引継ぎもちゃんとしないしさ(うちだけか、これは)。
0665デフォルトの名無しさん
2006/05/08(月) 23:50:35If IsPostBack() Then
みたいな。
0666デフォルトの名無しさん
2006/05/09(火) 00:13:59状態の変化を伴うメソッド呼び出しが()つけないことで
変数への参照のように見えて、そのせいで泣いたりとか。
とは言えC#のように
getter/setterみたいな頻出パターンについてのみ
例外的に構文糖を用意するってのはアリだと思う。
0667デフォルトの名無しさん
2006/05/09(火) 00:23:00Rubyの場合、レシーバ無しで代入してれば全て変数
レシーバ付いてたら全てメソッド
強いて言えば引数無しのメソッド呼び出しと区別付き辛いが
同じメソッド内見て代入してれば変数だし
そうでなければメソッド呼び出しだろう
ま、1メソッドが何十画面にも及ぶコードなら話は別だがなw
0668デフォルトの名無しさん
2006/05/09(火) 03:15:030669デフォルトの名無しさん
2006/05/09(火) 07:41:030670デフォルトの名無しさん
2006/05/09(火) 09:16:10何を言いたいのかわからんぞ。引数の有無は大きな違いだろうが。
0671デフォルトの名無しさん
2006/05/09(火) 11:49:22区別したくないから「プロパティ」なんてものがあるんじゃね?
個人的には、「プロパティ」の存在そのものが要らんと思ってるが。
>>670
>引数の有無は大きな違い
そんな話はしていないようだが。
0672デフォルトの名無しさん
2006/05/09(火) 12:12:44get/setメソッド方式だと 実行時型情報を持つメソッドという指令が必要になり
複数の引数持つメソッドにその指令をかけたら、どうするのかとか考えないといけないから
単純な代入と引用に見えるというのを導入したのだと思える
0673デフォルトの名無しさん
2006/05/09(火) 12:39:17区別がつくことはそんなに重要じゃないってことだな。
0674デフォルトの名無しさん
2006/05/09(火) 21:28:41そういうのはドキュメントに残してもらう、ってことかな
0675デフォルトの名無しさん
2006/05/09(火) 21:39:50範囲型を採用してる言語なら 範囲外はハジケルけど
そうじゃない言語だと範囲外を代入されたら困るだろうという事?
でもget/set時に範囲外は例外を出すのが普通だと思うのだが?
0676デフォルトの名無しさん
2006/05/09(火) 22:32:24文字列のプロパティにマルチバイト突っ込んだらワイド文字列になったりとか。
0677デフォルトの名無しさん
2006/05/09(火) 22:35:140678デフォルトの名無しさん
2006/05/09(火) 23:29:58>>677
まあそうだわな。
0679デフォルトの名無しさん
2006/05/10(水) 12:49:58超有名な診断室を読んでたらこんな記述が。。。
> reallcのとき、第1引数のポインタは、必ず直前で別の変数oldに
> 代入してから使っています。これは、reallocの引数と、reallocの
> 戻り値を入れるポインタが同一だと、何かが破壊されてしまうと思い
> こんでいるようです。
批判されてるソースでもreallocの戻り値をチェックしてないの
で、oldに入れてても無駄になってるけど。。。
0680デフォルトの名無しさん
2006/05/10(水) 15:32:59そういう勘違いとは違うし
0681デフォルトの名無しさん
2006/05/10(水) 18:53:10引数NULL監視でおk
0682デフォルトの名無しさん
2006/05/10(水) 20:15:36なにそれ?
0683デフォルトの名無しさん
2006/05/10(水) 21:27:30こりゃやべーな。
目次ページに
> 全国的デバッグ作業に御協力下さるよう、お願い致します。
って書いてあるから、知らせてあげるのがいいんだろうね。
0684デフォルトの名無しさん
2006/05/10(水) 22:41:32additional &= ( ( ( brand >>= 6 ) &= 0x3f ) ? 0x3f : 0x0 );
0685デフォルトの名無しさん
2006/05/11(木) 13:19:56それだけじゃヘタかどうかわからんよ。
0686デフォルトの名無しさん
2006/05/11(木) 13:28:29&=0x3fはコンパイル通るの?
0687デフォルトの名無しさん
2006/05/11(木) 14:48:40難解なのはヘタと同じだろう。
0688デフォルトの名無しさん
2006/05/11(木) 15:16:45というかそれほど難解でもないだろ。
強いて言えば、brand>>=6だけは前の行あたりでやっといた方がいいとは思うが。
バカ基準でうまいへたを決められたらカワイソス
0689デフォルトの名無しさん
2006/05/11(木) 15:42:200690デフォルトの名無しさん
2006/05/11(木) 16:14:07環境依存の糞コード。
0691デフォルトの名無しさん
2006/05/11(木) 22:25:500692デフォルトの名無しさん
2006/05/11(木) 22:59:09ギャグか?
0693デフォルトの名無しさん
2006/05/11(木) 23:28:13元ネタと逆にやってるから、反論っていうか、皮肉かね?
0694デフォルトの名無しさん
2006/05/12(金) 01:26:07Perlはゲージツカ言語
だなぁ。
0695デフォルトの名無しさん
2006/05/13(土) 11:25:55↑
スーパープログラマーなろうと希望に胸を膨らませて、
大学院を中退したpmokyだが、やねう企画の実態は…
↓
http://d.hatena.ne.jp/pmoky/20060510#p1
http://d.hatena.ne.jp/pmoky/20060223
ブラック企業のタコ部屋だった。
やねうらおが詐欺ソフトでヤクザが炎上中と内部告発
http://pc8.2ch.net/test/read.cgi/prog/1147372387/
0696デフォルトの名無しさん
2006/05/13(土) 11:59:220697デフォルトの名無しさん
2006/05/13(土) 18:30:59二元配列で管理してるVB.NETのソースを見た。
もちろん指数は0,1,2みたいに数字を直接コーディング。
いやまぁ確かにエラーとかならずに動いてるんですけどね。
0698デフォルトの名無しさん
2006/05/13(土) 18:50:58構造体にするべきところを二次元配列でって意味?
0699デフォルトの名無しさん
2006/05/14(日) 16:59:51勝手に構造体を定義しちゃダメってな規約でもあるんだろ。
まさに今、俺も似たような事をやってるよ。
さすがに添え字は static final int で名前をつけてるけどな。
0700デフォルトの名無しさん
2006/05/14(日) 17:24:12**_getsysdate(short* d);
日付が、こう帰ってる。
d[0] 年
d[1] 月
d[2] 日
なんかビミョーな感じ。
0701デフォルトの名無しさん
2006/05/14(日) 17:27:29それだけだと状況によるっしょ。だからビミョーなのかもしれんけど。
0702デフォルトの名無しさん
2006/05/14(日) 17:43:250703デフォルトの名無しさん
2006/05/14(日) 17:59:420704デフォルトの名無しさん
2006/05/14(日) 18:19:060705デフォルトの名無しさん
2006/05/14(日) 18:23:300706デフォルトの名無しさん
2006/05/14(日) 19:52:08あと、このライブラリの文字列操作の関数は、一文字目の位置が0じゃなくて
1になってたりするし。
0707デフォルトの名無しさん
2006/05/15(月) 18:13:15悪かった。 次から
d[0] 年
d[1] 月*32+ 日
と2ワードで済むように修正しとくよ ( ^ ^ )
0708デフォルトの名無しさん
2006/05/15(月) 18:18:20d[0] 年
d[1] 月*100+ 日
の方が使い易い? まあ、どっちかにしとくよ。
どっちにしても同じ名前で動くようにしておくから 楽しみにしててね
0709デフォルトの名無しさん
2006/05/15(月) 20:13:510710デフォルトの名無しさん
2006/05/15(月) 21:07:080711デフォルトの名無しさん
2006/05/15(月) 21:19:12知らないんじゃないの?
0712デフォルトの名無しさん
2006/05/16(火) 10:41:21つか、実際あった。
0713デフォルトの名無しさん
2006/05/16(火) 10:57:12それならそれで、struct tmに準拠しないか?
つーか、実際BTRONではtime.h系を粗方実装する羽目になった。
0714デフォルトの名無しさん
2006/05/16(火) 11:34:0532bitで 16進表示した時に YYYYMMDD と返す事と決定しました
0715712
2006/05/16(火) 11:38:35まあ、俺も結局足りないの全部実装したんだけどね。
そんときは他機種からの移植だったからそうしたんだけど
新規だったら互換性なしで作り込んじゃうのもアリかな、と。
0716デフォルトの名無しさん
2006/05/16(火) 11:53:50それなんてBCD?
0717デフォルトの名無しさん
2006/05/17(水) 20:25:090718デフォルトの名無しさん
2006/05/19(金) 07:35:180719デフォルトの名無しさん
2006/05/19(金) 17:48:350720デフォルトの名無しさん
2006/05/22(月) 14:11:3132767年問題が起きるな。
0721デフォルトの名無しさん
2006/05/22(月) 14:49:44それは問題だな。3万年間潜在的なバグが残るってことか。
0722デフォルトの名無しさん
2006/05/22(月) 15:14:310723デフォルトの名無しさん
2006/05/22(月) 15:18:43そうか。そうだな。32767年にみんな大騒ぎになって32768年に全システムがダウン
及び安いシステムを使っている後進国の弾道ミサイルが発射される。
0724デフォルトの名無しさん
2006/05/22(月) 16:01:54本当にありがとうございました。
0725デフォルトの名無しさん
2006/05/22(月) 16:04:060726デフォルトの名無しさん
2006/05/22(月) 16:22:370727デフォルトの名無しさん
2006/05/22(月) 18:45:31年は malloc() した char * へのポインタで文字列で表現するのが良い。
0728デフォルトの名無しさん
2006/05/22(月) 23:10:27それは何byteの文字列ですか?w
0729デフォルトの名無しさん
2006/05/22(月) 23:15:540730デフォルトの名無しさん
2006/05/23(火) 00:26:320731デフォルトの名無しさん
2006/05/23(火) 16:30:29可変長
0732デフォルトの名無しさん
2006/05/23(火) 16:32:19それだと9223372036854775808年問題になる。
0733デフォルトの名無しさん
2006/05/23(火) 18:46:03いやwだからw地球が生存する間は大丈夫だろ?ってば
0734デフォルトの名無しさん
2006/05/23(火) 18:48:120735デフォルトの名無しさん
2006/05/23(火) 18:55:17人類があとどれぐらい生き延びるかは分からない。
あと2日で彗星の破片が降って来て終わりかも知れないが。
0736デフォルトの名無しさん
2006/05/23(火) 19:03:510737デフォルトの名無しさん
2006/05/23(火) 19:37:450738デフォルトの名無しさん
2006/05/23(火) 20:08:33そして夜は寝過ぎになる。
みんな体調崩して人類滅亡。
0739デフォルトの名無しさん
2006/05/23(火) 20:31:400740デフォルトの名無しさん
2006/05/23(火) 22:52:01おまえ、そういう安易な考えが2000年問題をうんだんだろ。まだ懲りてないのか
0741デフォルトの名無しさん
2006/05/23(火) 23:15:04これからのシステム設計は任せられない。
0742デフォルトの名無しさん
2006/05/23(火) 23:28:320743デフォルトの名無しさん
2006/05/24(水) 02:58:52な、なんだってー。
確かに異星人で中性種ってのもあるかもしれんな。
0744デフォルトの名無しさん
2006/05/24(水) 03:07:120745デフォルトの名無しさん
2006/05/24(水) 03:21:26立たなくなったら男じゃないってことか?
0746デフォルトの名無しさん
2006/05/24(水) 03:22:180747デフォルトの名無しさん
2006/05/24(水) 05:12:13くり
0748デフォルトの名無しさん
2006/05/24(水) 07:56:370749デフォルトの名無しさん
2006/05/24(水) 08:03:470750デフォルトの名無しさん
2006/05/24(水) 08:51:040751デフォルトの名無しさん
2006/05/24(水) 08:54:100752デフォルトの名無しさん
2006/05/24(水) 09:00:49http://www.youtube.com/watch?v=v3TqvUZSPi8
チベット人を虐待する中国人(テラコワスwww
こんな国がオリンピックなんてありえないだろw
クリックしまくってアクセスランキングで上位に来させようぜ!
Youtubeは世界中の人が見てます。
0753デフォルトの名無しさん
2006/05/24(水) 11:25:070754デフォルトの名無しさん
2006/05/24(水) 13:13:44いや、性別の項目の状態を表すには2つだけでは足りない。
「不明」も必要。もっと厳密に表したい場合は可変長の
文字列の入力も受け付けられるようにしておかないと駄目。
0755デフォルトの名無しさん
2006/05/24(水) 13:21:140756デフォルトの名無しさん
2006/05/24(水) 13:51:300757デフォルトの名無しさん
2006/05/24(水) 13:59:29無理矢理コードの話にすると、性別の項目はif〜else〜じゃなくて、switchでやれってのが結論でしょうか。
0758デフォルトの名無しさん
2006/05/24(水) 14:10:550759デフォルトの名無しさん
2006/05/24(水) 16:56:270760デフォルトの名無しさん
2006/05/24(水) 17:01:060761デフォルトの名無しさん
2006/05/24(水) 17:08:58あ。それ忘れてた。郵便局まだ開いてるかな
0762デフォルトの名無しさん
2006/05/24(水) 17:44:470763デフォルトの名無しさん
2006/05/24(水) 18:35:41それなんてエロゲ?
0764デフォルトの名無しさん
2006/05/24(水) 18:45:340765デフォルトの名無しさん
2006/05/24(水) 20:09:270766デフォルトの名無しさん
2006/05/24(水) 20:11:150768デフォルトの名無しさん
2006/05/25(木) 03:43:41お前がエロゲしてることみんなにばらしておいた
0769デフォルトの名無しさん
2006/05/25(木) 08:42:050770デフォルトの名無しさん
2006/05/25(木) 11:19:11H:M:SのHを2バイト取ってあるところが、ぱっと見て「ぺタだなぁ」と思うコード。
0771デフォルトの名無しさん
2006/05/25(木) 13:56:310772デフォルトの名無しさん
2006/05/25(木) 16:16:01イギリスとかフランスの辺りでは大騒ぎになってそうだな。
0773デフォルトの名無しさん
2006/05/25(木) 16:40:230774デフォルトの名無しさん
2006/05/25(木) 17:03:470775デフォルトの名無しさん
2006/05/27(土) 12:57:460777デフォルトの名無しさん
2006/05/28(日) 13:42:32カマトトぶんな。知ってるくせに。
0778デフォルトの名無しさん
2006/05/28(日) 14:04:48ググレカス
0779デフォルトの名無しさん
2006/05/28(日) 17:02:24ノ /,.-‐'"´ `ヾj ii / Λ
,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
ノ/,/ミ三ニヲ´ ゙、ノi!
{V /ミ三二,イ , /, ,\ Yソ
レ'/三二彡イ .:ィこラ ;:こラ j{
V;;;::. ;ヲヾ!V ー '′ i ー ' ソ
Vニミ( 入 、 r j ,′ <仲良くなってくれ
ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ
ヽ ヽ -''ニニ‐ /
| `、 ⌒ ,/
| >┻━┻'r‐'´
ヽ_ |
ヽ _ _ 」
ググレカス [ Gugurecus ]
( 2006 〜 没年不明 )
0780デフォルトの名無しさん
2006/05/28(日) 17:09:08ノ /,.-‐'"´ `ヾj ii / Λ
,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
ノ/,/ミ三ニヲ´ ゙、ノi!
{V /ミ三二,イ , /, ,\ Yソ
レ'/三二彡イ .:ィこラ ;:こラ j{
V;;;::. ;ヲヾ!V ー '′ i ー ' ソ
Vニミ( 入 、 r j ,′
ヾミ、`ゝ ` ー--‐'ゞニ<‐-イ
ヽ ヽ -''ニニ‐ /
| `、 ⌒ ,/
| >┻━┻'r‐'´
ヽ_ |
ヽ _ _ 」
ググレカス [ Gugurecus ]
AC1頃〜没年不明
ローマ帝国宰相 アプレカスの乱の中、
「キャピ リンキック デ ググレ」(無知こそが最大の敵である) という言葉を残した。
0781デフォルトの名無しさん
2006/05/29(月) 10:51:53ちょうどアウグストゥスがプリンケプスとして共和政から帝政に移行しようとしてた頃。
帝政って言っても中華皇帝とか今イメージする皇帝とは全然違うしさ。
0782デフォルトの名無しさん
2006/05/29(月) 12:01:170783デフォルトの名無しさん
2006/05/29(月) 13:40:33ネタにマジレスだけど、乗りというものを知らないと恥かくよ。
ローマ帝国の年代がどうだとかこうだとか、そういう問題じゃないんだから。
0784デフォルトの名無しさん
2006/05/29(月) 13:50:18ぱっと見て「ヘタだなぁ」と思うつっこみ
0785デフォルトの名無しさん
2006/05/29(月) 13:57:34ちょうど旧スク水から新スク水に移行しようとしてた頃。
スク水って言っても今イメージする競泳タイプとかとは全然違うしさ。
0786デフォルトの名無しさん
2006/05/29(月) 14:00:560787デフォルトの名無しさん
2006/05/29(月) 14:12:29そのキモさをノリで片付けてしまうのはいかがなものか?
0788デフォルトの名無しさん
2006/05/29(月) 16:11:280789デフォルトの名無しさん
2006/05/29(月) 16:32:120790デフォルトの名無しさん
2006/05/30(火) 15:32:48旧いタイプで、ドテの上あたりに折り返しが付いてるやつか?
あそこから手入れると内部にアクセスできるんだよな。
0791デフォルトの名無しさん
2006/05/30(火) 18:27:22泳ぐときに水の抵抗をなくすためだよな。
確か、胸から入った水を排出する
買って実際に穴開いてるか確かめたが、確かにあいていた
0792デフォルトの名無しさん
2006/05/30(火) 21:33:530793デフォルトの名無しさん
2006/05/30(火) 21:56:470794デフォルトの名無しさん
2006/05/30(火) 22:05:480795デフォルトの名無しさん
2006/05/30(火) 23:00:09おなかの処で水が溜まったり下手すると勢いで脱げそうになったりすることになります。
0796デフォルトの名無しさん
2006/05/30(火) 23:06:470797デフォルトの名無しさん
2006/05/30(火) 23:11:380798デフォルトの名無しさん
2006/05/30(火) 23:15:00そうだ!穴あけよう!
と閃いた瞬間に立ち会ってみたかったな
0799デフォルトの名無しさん
2006/05/30(火) 23:21:020800デフォルトの名無しさん
2006/05/31(水) 01:27:200801デフォルトの名無しさん
2006/05/31(水) 01:32:33これからのスク水はどうなるか、またどうあるべきかが重要課題。
0802デフォルトの名無しさん
2006/05/31(水) 12:51:55おっさんが実験台になってたりしてな。
0803デフォルトの名無しさん
2006/06/01(木) 17:58:360804デフォルトの名無しさん
2006/06/01(木) 19:32:43しかし実際に試したりしたら、何かを失う気がする。例えば家族とか。
0805デフォルトの名無しさん
2006/06/01(木) 19:47:44うp!!
0806804
2006/06/01(木) 20:26:30それ以前に、シーズンじゃないから、スク水は無理っすよ
0807デフォルトの名無しさん
2006/06/01(木) 20:49:190808デフォルトの名無しさん
2006/06/01(木) 21:44:45しかたがないので実験は娘さんにお願いしよう。
水の流れるルートとか流体解析は大変だし、お父さん泳いでる場合じゃないしな。
うんうん、仕方なくだよ、仕方なく。
0809デフォルトの名無しさん
2006/06/01(木) 23:29:410810デフォルトの名無しさん
2006/06/01(木) 23:34:060811デフォルトの名無しさん
2006/06/01(木) 23:58:430812デフォルトの名無しさん
2006/06/02(金) 00:11:39kwsk!!
0813795
2006/06/02(金) 00:47:240814デフォルトの名無しさん
2006/06/02(金) 02:40:06その頃は旧スクール水着だったんだよなぁ。
この十年で何があったんだ。
日進月歩なのはコンピュータの世界だけじゃないのか。
0815デフォルトの名無しさん
2006/06/02(金) 05:14:21光透過性のいい素材使って欲しい漏れ
0816デフォルトの名無しさん
2006/06/02(金) 12:26:06毛の色が見えてしまう素材しかなかったからだけど、当時は光透過性が良かったのかもね。
0817デフォルトの名無しさん
2006/06/02(金) 13:57:030818デフォルトの名無しさん
2006/06/02(金) 14:34:230819デフォルトの名無しさん
2006/06/02(金) 19:56:42前畑がんばれの頃かその直後ぐらいの競泳用水着だよな。あれは。
ので、そのうち今時のワンピース型が男子用にも(ねぇか、さすがに
0820デフォルトの名無しさん
2006/06/02(金) 19:59:430821デフォルトの名無しさん
2006/06/02(金) 20:18:320822デフォルトの名無しさん
2006/06/03(土) 03:23:11ス ケ 水
に見えた
0823デフォルトの名無しさん
2006/06/03(土) 13:54:30「あ、そういえばコーディングの話ね」とか思ったのは秘密だ。
0824デフォルトの名無しさん
2006/06/05(月) 02:31:17/::::{:/::::‐-:、:::丶:\
/:::::/´ ̄ ̄__\、::::l,. -―、
/::::// /:: ̄、:\::::ヽヽ≦、ス=、、
/::::/::|,.イ:l::丶::::::::\:X:::',:::ヽ、 ヽハ ',ヽ
f´ ̄!:::::l:_|_|\::\--/,r=ミ|::::::lヾく:l::', | |
ヒア_|:l::::|::N,≧ミ、トゝ ハ心}!::::::K:ヾニ二ヽ あんた達死刑ッ!
,r=ヽレ|:|::::l::|{ ト心 `'" !::::::|::!',::|ハ::! `
// |:|:::::ハ!、::ヾゝゞ'′ _'_,.ヘ /::::/:::|_!:l リ
// !ハ//|:|::ヽ::::丶、__丶 _ノ/|:::/イ::ハヘ!ヽ_
L! /ヘ |:|ミニ='⌒ (⌒ヽ´ _ !イノl/ |:! ! !L_
〈_{ ヾ.,!/ , ´ \ ∨,.‐、| l:| |ノ !
__!\ / __ム V⌒! !:! ! ハ
/__レ-〈 / f´ ヽ. '. __! //./-‐ '´ /
ヽ! |r' \l__ V/ /-‐ /
「 ! { `\_f_ノ∠ミヽ! /
/ ヽ`ヽ.二ニァ'V∠二ハ }},!-'
/ ヽ---/´/レ!ト--'/‐'
/ / ̄ヽ二ノ´l:ヽノ_
r‐! / l:/ `ヾ==、ー-- 、
/ ̄| ヽ./ 〃 /人 `ト、::::\
', / ,!\ |l \ / \:〈
| ′ / | ` |:! / `
L.__ / ! !:ヽ / !
` iー---一'Tー-∨-r‐''´ |
0825デフォルトの名無しさん
2006/06/05(月) 02:53:40スク水を着てから出直してこい。
話はそれからだ。
0826デフォルトの名無しさん
2006/06/05(月) 03:38:10cm.get_map( CPU_Vendor::Intel )->sub_map.find( ID )->second->get_type_string();
もう何がなにやら
0827デフォルトの名無しさん
2006/06/05(月) 05:41:53スケ水を着てから出直してこい。
話はそれからだ。
0828デフォルトの名無しさん
2006/06/05(月) 06:44:14全グローバル変数がまとめてあるヘッダーファイルが存在するプログラム(殺してやりたくなるw)
0829デフォルトの名無しさん
2006/06/05(月) 08:14:29mapのfindの戻り値がendかちゃんとチェックしろよ
0830デフォルトの名無しさん
2006/06/05(月) 13:42:22スク水を着てから出直してこい。
話はそれからだ。
0831デフォルトの名無しさん
2006/06/05(月) 13:53:51別にいいんじゃない?
0832デフォルトの名無しさん
2006/06/05(月) 22:33:05死ねw
0833デフォルトの名無しさん
2006/06/06(火) 01:57:37何がダメなの?
0834デフォルトの名無しさん
2006/06/06(火) 02:12:28そうなってると、全部のソースがそのヘッダをインクルードすることになるだろ?
そうじゃなきゃ作る意味が無い。で、そうなると、ひとつでもヘッダを変更したら
全部のソースをコンパイルする必要があることになる。その結果、ソースが増えると
ものすごいスピードでコンパイル時間が延びることになる。
0835デフォルトの名無しさん
2006/06/06(火) 05:16:21大量にインクルードするときに便利に使えばいいんじゃないか
0836デフォルトの名無しさん
2006/06/06(火) 07:59:35グローバル変数がそこら中にちりばめられている方が極悪だろう
0837デフォルトの名無しさん
2006/06/06(火) 08:04:11あくまでモジュール内のみでグローバルに使えるローカル変数であって
君の言うグローバル変数とは意味が違うんだよ
0838デフォルトの名無しさん
2006/06/06(火) 08:39:450839デフォルトの名無しさん
2006/06/06(火) 09:28:310840デフォルトの名無しさん
2006/06/06(火) 11:18:58ダメ。一度でもなんでもヘッダを使ってしまうと、余計な依存関係が
膨らみ続ける。10個のヘッダを便利にインクルードするために使ったはずが、
最終的には100個のヘッダに依存している状況を作る。
0841デフォルトの名無しさん
2006/06/06(火) 15:50:47話は変わるが、
char hoge[128], *hogePtr;
hogePtr = &hoge[0];
こういうのをたまに見かけるのだが、hogePtr = hoge でもいい……んだよね?
0842デフォルトの名無しさん
2006/06/06(火) 16:19:16>ヘッダ全部インクルードしてたら、そのうち名前がバッティングすると思う。
コンフリクトはエラーになるからすぐわかるw
>hogePtr = hoge でもいい……んだよね?
もちろん。しかし
hogePtr = &(hoge[0]);
という書き方も冗長だが読み手に意図を正しく伝え様としている必死さに好感w
自分はやらないけど
0843デフォルトの名無しさん
2006/06/06(火) 16:21:31俺の好みはシンプルな後者。
0844デフォルトの名無しさん
2006/06/06(火) 16:42:21stdafx.hに全部のヘッダを詰め込んだりするだろ
0845デフォルトの名無しさん
2006/06/06(火) 17:21:20stdafx.h内もあくまで<>形式のインクルードしか書かないし。
0846デフォルトの名無しさん
2006/06/06(火) 20:37:18Delphiで、ポインタ使わずに組み込みの動的配列使うときにやったりするw
0847デフォルトの名無しさん
2006/06/06(火) 20:38:200848デフォルトの名無しさん
2006/06/06(火) 21:08:54漏れはやることあるよ。
char buf[some], *rPtr, *gPtr, *bPtr;
rPtr = &buf[0];
gPtr = &buf[1];
bPtr = &buf[2];
てなとき。
0849デフォルトの名無しさん
2006/06/06(火) 22:18:17俺なら共用体使う。
0850デフォルトの名無しさん
2006/06/08(木) 12:41:420851デフォルトの名無しさん
2006/06/08(木) 23:18:46例えば
union {
char buf[3];
struct {
char r;
char g;
char b;
} rgb;
};
ってことじゃないのかな。
0852デフォルトの名無しさん
2006/06/09(金) 00:28:050853デフォルトの名無しさん
2006/06/09(金) 00:35:210854デフォルトの名無しさん
2006/06/09(金) 00:39:51と
char g;
の間にコンパイラがパディング入れちゃったりする心配はない?
0855デフォルトの名無しさん
2006/06/09(金) 00:48:460856デフォルトの名無しさん
2006/06/09(金) 00:54:500857デフォルトの名無しさん
2006/06/09(金) 01:01:46特にC++
諸刃の剣どころじゃない
0858デフォルトの名無しさん
2006/06/09(金) 01:19:350859デフォルトの名無しさん
2006/06/09(金) 01:22:18結局メモリの動的確保がないことと、最適化重視ってだけだろ?
0860デフォルトの名無しさん
2006/06/09(金) 01:24:190861デフォルトの名無しさん
2006/06/09(金) 01:26:51をみた時
おまえな、ZEROが0以外になる可能性でもあるのかと
まだ
#define INIT_VALUE 0
とかの方がマシだよ
0862デフォルトの名無しさん
2006/06/09(金) 01:33:180863デフォルトの名無しさん
2006/06/09(金) 01:40:58をみた時
おまえな、NULLが0以外になる可能性でもあるのかと
まだ
#define NULLPO !GA
とかの方がマシだよ
0864デフォルトの名無しさん
2006/06/09(金) 07:24:15処理系によっては0でない場合があるそうな。俺は見たことないが。
0865デフォルトの名無しさん
2006/06/09(金) 07:45:35ある害虫が、0〜10くらいまで同じようにdefineしているコードを見たときクラクラきた。
確かに数字を直接コード内に書いてはいけないというコーディング規約があったが、
そういうことではないだろうと突っ込みたくなった。
害虫1匹だけかと思ったら、その会社のやつらは全員そうだった。
>>864
言語上は、NULLは必ず0だと決まってなかったっけ?
0866デフォルトの名無しさん
2006/06/09(金) 07:46:37まぁソースレベルで0と等価なのは保障されてるが
0867デフォルトの名無しさん
2006/06/09(金) 07:54:560868デフォルトの名無しさん
2006/06/09(金) 08:03:20中途半端な知識厨乙。ちゃんとC FAQ全部よめ
0869デフォルトの名無しさん
2006/06/09(金) 08:42:14「0とOが見分けられるフォント使えよ」が正しいツッコミ
0870デフォルトの名無しさん
2006/06/09(金) 08:44:140871デフォルトの名無しさん
2006/06/09(金) 09:18:16#define HOGE_YEAR1975 1975
とか、名前に値を反映させてしまってるとかありがちだな。
0872デフォルトの名無しさん
2006/06/09(金) 11:47:12>ドライバや組み込み系のプログラミングって、
モダンなOS用のドライバなら、動的確保は普通に行うよ。
0873デフォルトの名無しさん
2006/06/10(土) 01:36:43そういうソース、自分で造ってたような気がする。
emacs でちゃんと設定せずにインデントを2にすると、そうなったような・・・
python書くようになってインデントをタブにすることを止めたので、最近はそうなってないはずだが。
最近パッと見て下手だなぁと思うのは、-> やら . やらつきまくってる変数をそのままずっとあちこちに書いてあるソースかな。
0874デフォルトの名無しさん
2006/06/10(土) 01:40:44わかってないな。
変数や関数の影響範囲はヘッダーファイルのインクルードの仕方で絞れるだろ?
それを放棄して必ずソースの全域で使えるようにしてしまうような奴は
いつまでたってもプログラマレベル1のまんまだ。
グローバル変数や関数を使っちゃ駄目だってのはgotoと同じぐらい駄目だって言われてるのに
何故かこれに関してだけ耳をふさぐ奴が多いんだよな。
一度、どうして駄目だと言われるのか?代わりにどうやって組めばいいのか?って頭使ってよく考えろといいたい。
多分、人から実装方法だけ聞いたんではなんでそんな面倒なことをするのか全く理解できないと思う。
さすがに10年近くもやってるのにこんなのわからないなんてアホ過ぎるにもほどがある。
グローバル変数や関数を使う奴とマスターヘッダーを作る奴ってのは
俺の経験ではほとんどの場合一致している。
で、そいつはオブジェクト指向も理解できないことになる。
0875デフォルトの名無しさん
2006/06/10(土) 02:01:250876デフォルトの名無しさん
2006/06/10(土) 02:18:06まぁお前が低脳だってのも分かったよ
0877デフォルトの名無しさん
2006/06/10(土) 02:31:15この板も理由無しでお前を支持するほど馬鹿ぞろいなわけじゃないでしょw
悪いけどグローバル変数の問題と正面から向き合って考えたことがないプログラマってのは
他のどんな知識を手に入れても、レベルは1のまま。
0878デフォルトの名無しさん
2006/06/10(土) 02:37:300879デフォルトの名無しさん
2006/06/10(土) 02:39:380880デフォルトの名無しさん
2006/06/10(土) 03:14:31はぁ?なにいってんの?
0881デフォルトの名無しさん
2006/06/10(土) 03:35:17スク水を着てから出直してこい。
話はそれからだ。
0882デフォルトの名無しさん
2006/06/10(土) 03:46:580883デフォルトの名無しさん
2006/06/10(土) 04:00:39いや、その管理ができてないから、グローバル変数になるっちゅーねんw
0884デフォルトの名無しさん
2006/06/10(土) 04:01:58男のスク水なんて短パンじゃねぇか・・・見たいのか・・・orz
0885デフォルトの名無しさん
2006/06/10(土) 04:24:110886デフォルトの名無しさん
2006/06/10(土) 06:56:36Knuth先生に鼻で笑われそうな意見だ
0887デフォルトの名無しさん
2006/06/10(土) 07:26:37>グローバル変数や関数
これの関数って何?
0888デフォルトの名無しさん
2006/06/10(土) 08:27:190889デフォルトの名無しさん
2006/06/10(土) 09:38:21C歴半年しかも独学のオレから質問だ。
これは、あったほうがいいよな?
グローバルなんだからどっかに隠しとく必要がないし、
プログラム内でとうとつに出てきた変数の実体を探すのに便利ジャマイカ。
0890デフォルトの名無しさん
2006/06/10(土) 09:59:43>>874
0891デフォルトの名無しさん
2006/06/10(土) 11:11:31configファイルを読み取ってグローバル変数に格納し、
各地で参照するとかそういう使い方なら問題ないのだが、
グローバル変数で、データのやりとりをしようと考えているのなら
考え直した方がいい。
0892デフォルトの名無しさん
2006/06/10(土) 11:19:00>configファイルを読み取ってグローバル変数に格納し、
>各地で参照するとかそういう使い方なら問題ないのだが、
それだって駄目だよ。
configファイルで受け取るデータの保持の仕方に仕様変更がかかったらどうするんだ?
変更箇所の影響範囲が全く絞れないぞ。
普通にconfigファイルからデータを読み込んで取得できるクラスを作れよ。
で、使うところでのみヘッダーファイルをインクルードしろ。
プログラムでただ1つなら頭で読み込んで末端のクラスには引数で渡していけ。
0893デフォルトの名無しさん
2006/06/10(土) 12:21:120894デフォルトの名無しさん
2006/06/10(土) 12:57:07じゃあ、どうするのがいいって言ってるの?
0895デフォルトの名無しさん
2006/06/10(土) 13:26:59議論して結論が出るような簡単な問題じゃないだろうが・・・。
グローバル変数が本当にダメなら言語仕様からはずせばいいのにね。
0896デフォルトの名無しさん
2006/06/10(土) 13:54:09何?結局グローバル変数がどうして駄目なのかわからないわけ?
それってオブジェクト指向を理解できないっていってるのと同じことなんだぞ。
0897デフォルトの名無しさん
2006/06/10(土) 14:24:38「変数の寿命に関して言えば、その期間がプロセスの存命期間に等しければ
constant と同様の扱いが可能」
という話をしていると思われるが、>>892 のアサッテ方向からの指摘は
一体なんなんだろう。
>>896 のトンチキなレスからも同じ臭いがする。
0898デフォルトの名無しさん
2006/06/10(土) 14:55:280899デフォルトの名無しさん
2006/06/10(土) 15:01:490900デフォルトの名無しさん
2006/06/10(土) 15:43:440901デフォルトの名無しさん
2006/06/10(土) 15:57:41どこがアサッテなの?
>>891が問題無いとかいってるのは勝手に自分の脳内でそこだけをみて
問題無いとかいってるレベルでしょ?
正直、非常に視野が狭くてとてもプログラマとは思えない。
素質無いし、この先続けててもみんなに迷惑かけるだけだから辞めちゃったほうがいいと思うよ。
0902デフォルトの名無しさん
2006/06/10(土) 16:02:17せっかく言語側で名前空間や寿命を扱えるんだから使わないと損ってだけ。
0903デフォルトの名無しさん
2006/06/10(土) 16:04:18んじゃ何処が問題なのか指摘しろよ。
俺様とは考えが違うお前は間違ってるってレベルでしょ?
正直、非常に視野が狭くてとてもプログラマとは思えない。
素質無いし、この先続けててもみんなに迷惑かけるだけだから辞めちゃったほうがいいと思うよ。
0904デフォルトの名無しさん
2006/06/10(土) 16:15:04構造化プログラミングがわかるから
グローバル変数がうんこってことはわかる。
0905デフォルトの名無しさん
2006/06/10(土) 16:19:440906デフォルトの名無しさん
2006/06/10(土) 16:22:170907デフォルトの名無しさん
NGNGグローバルでも問題ないんじゃないの?
変数じゃなくて、グローバルな「定数」に文句言う人ってあんまりいないよね。
>>891って、「変数」と言っても、事実上定数と同じ扱いだし。
0908デフォルトの名無しさん
2006/06/10(土) 16:26:50それがどうした
0909デフォルトの名無しさん
2006/06/10(土) 16:31:21だからそれが駄目な理由を>>892で書いてるじゃん。
0910デフォルトの名無しさん
NGNGグローバルな定数のほうは >>892 のような問題はないの?
0911デフォルトの名無しさん
2006/06/10(土) 16:32:52いくら定数だからって影響範囲を全域にすると他のライブラリとしなくてもいいような
バッティングに苦しめられることになる。
0912デフォルトの名無しさん
2006/06/10(土) 16:34:05定数も駄目だと思うよ。
使うところだけの最小範囲に絞りこめればそれに越した事は無い。
0913デフォルトの名無しさん
NGNGたとえば、MAX_PATH のような変数があって、これが、
const int MAX_PATH = 1024; とあるか、
extern int MAX_APTH; とあって、実行時に初期化されるかで、
なにがどうちがってくるのだろうって話。
(extern int MAX_APTH は、初期化以外でも変更可能って話があるけど、
それはスコープとは別のこと)
0914デフォルトの名無しさん
2006/06/10(土) 16:44:37それもダメって言ってんの?
0915デフォルトの名無しさん
2006/06/10(土) 16:46:31定数だと問題はそっちじゃなくて影響範囲の方になるかな。
関係ないところまでMAX_PATHの影響を受けるような組み方だとまずい。
0916デフォルトの名無しさん
2006/06/10(土) 16:47:11どちらにもそれぞれ別の問題がある。
前者はソースローカルにconst int MAX_PATH = 512;とでもされると困るし、
後者は定数を要求する場所で使えない。
0917デフォルトの名無しさん
2006/06/10(土) 16:48:28組み方としては駄目じゃないのかな?
機能がどうのこうのっていうのはいうつもりはないけど。
完成しちまってるもんに関してだと、「もっといい組み方がある」としかいいようがないけどね。
0918デフォルトの名無しさん
2006/06/10(土) 16:50:07{
const int MAX_PATH=512;
}
0919デフォルトの名無しさん
NGNGそれは記述の問題で、>>892とは別問題でしょ。
(MAX_PATHはあくまで例ね)
0920デフォルトの名無しさん
2006/06/10(土) 16:55:57でも、
>>916の
>ローカルにconst int MAX_PATH = 512;とでもされると困るし
っていうのは影響範囲の問題じゃない?
ちゃんと定義したMAX_PATHの影響範囲を頭に入れてないといつでもバグる可能性をもってるじゃん。
0921デフォルトの名無しさん
NGNGじゃ、
getMaxPath(); みたいので取得するってこと?
影響範囲うんぬんなら、同じ問題抱えてると思うよ。
0922デフォルトの名無しさん
2006/06/10(土) 16:58:32namespace MAX_PATH
{
const int MAX_PATH=512;
}
namespace MAX_DIR
{
const int MAX_DIR=256;
}
各cppで利用する定数をusing namespaceする。
0923デフォルトの名無しさん
2006/06/10(土) 17:00:22だからそれじゃMAX_PATHが二カ所にあったら意味が無いんだから、
やるんだったら
namespace config_for_xxx
{
namespace MAX_PATH
{
const int MAX_PATH=512;
}
namespace MAX_DIR
{
const int MAX_DIR=256;
}
}
0924デフォルトの名無しさん
2006/06/10(土) 17:02:21それのほうがなんぼかましになるんじゃない?
ただ、それでもクラスを定義したヘッダをマスターヘッダにインクルードしてたら全く意味無いけど。
問題は実装するとかじゃなくてキチンと影響範囲を限定できる仕組みになっているかどうかだから。
ヘッダを使うところだけにインクルードするって大事だと思うんだけどなぁ。
0925デフォルトの名無しさん
NGNGhoge::hage って、どこからでもアクセスできるなら、グローバルと同じだよね。
0926デフォルトの名無しさん
2006/06/10(土) 17:08:40マスターヘッダなんて作ってる奴はやっぱりヘタレ。
0927デフォルトの名無しさん
2006/06/10(土) 17:08:58publicならグローバルと同じだよね。
0928デフォルトの名無しさん
2006/06/10(土) 17:09:49const int MAX_PATH=1024;
max_dir.h
const int MAX_DIR=512;
…
0929デフォルトの名無しさん
2006/06/10(土) 17:10:22だから大事なのはインクルードで影響する範囲を最小減に絞ることってさっきから言ってるじゃん。
わからないのか?死ねよw
0930デフォルトの名無しさん
2006/06/10(土) 17:11:26getMaxPath()ならおこらないっしょ?
0931デフォルトの名無しさん
2006/06/10(土) 17:11:47取り敢えず
>データの保持の仕方
だの
>取得できる
だの、曖昧な言葉で誤魔化さずに
実例挙げるかどうにかした上で
前段落の問題がどう解決するのか説明してくれ。
0932デフォルトの名無しさん
2006/06/10(土) 17:13:05#define MAX_PATH 260
0933デフォルトの名無しさん
2006/06/10(土) 17:14:06だから、根本的な解決策は直接的なコードなんかにはなくて
ヘッダのインクルードによる影響範囲を最小限にしろっていってるんだよ。馬鹿。
わからないのか?あたまわるいなぁおまえw
0934デフォルトの名無しさん
2006/06/10(土) 17:15:06つ 現実 #define MAX_PATH 512
0935デフォルトの名無しさん
2006/06/10(土) 17:24:12ライブラリとして使われるようなプログラムならまとめたヘッダーがあってもいいだろうし
あってもいいと思われるパターンが限られてるとは思うけど
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
2006/06/10(土) 17:54:42ふむふむ。すると、グローバルかどうかはどうでもよくて、
>普通にconfigファイルからデータを読み込んで取得できるクラスを作れよ。
これも適当にクラスとか言ってみたかっただけで、
真意はその後ろの
>使うところでのみヘッダーファイルをインクルードしろ。
という部分にあるわけですね?
であれば同意します。
0938デフォルトの名無しさん
2006/06/10(土) 17:57:21自動的にグローバルも駄目っしょ。
0939デフォルトの名無しさん
2006/06/10(土) 18:01:37そりゃたまたま定数だっただけで、
変数や関数の場合は両方やらないと影響範囲を限定できないっしょ。
0940デフォルトの名無しさん
2006/06/10(土) 18:19:26だからシングルトン使えってアレほど(ry
0941デフォルトの名無しさん
2006/06/10(土) 18:27:37バカヤローそんなもんグローバルとかわらねーだろ。
0942デフォルトの名無しさん
2006/06/10(土) 18:33:590943デフォルトの名無しさん
2006/06/10(土) 18:49:16無理っしょ。
そりゃ文字列がヒットしたところだけだ。
0944デフォルトの名無しさん
2006/06/10(土) 19:48:520945デフォルトの名無しさん
2006/06/10(土) 19:54:48使うなよ。
0946デフォルトの名無しさん
2006/06/10(土) 19:55:340947デフォルトの名無しさん
2006/06/10(土) 19:56:18static でなんとか踏ん張れ。
0948デフォルトの名無しさん
2006/06/10(土) 20:01:310949デフォルトの名無しさん
2006/06/10(土) 20:03:580950デフォルトの名無しさん
2006/06/10(土) 20:07:300951デフォルトの名無しさん
2006/06/10(土) 20:31:150952デフォルトの名無しさん
2006/06/10(土) 20:31:28int func() {
static int rtn;
rtn = 0;
for (;;) {
...; // 適当な処理
}
return rtn;
}
こんな関数があったとする。
今のコンパイラだとrtnはstaticにしない方が大抵速いんだな。
何故なら、staticじゃなければrtnをレジスタ変数にできるからだ。
尤も、最適化の優れたコンパイラならループ脱出まではレジスタ変数として、
ループ脱出後にstaticにコピーするだろうけれど。
#勿論、それでも何もしないよりはコストが掛かるわけだ。
従って、高速化を目的としたstatic化、グローバル化はしばしば下手の考えとなるってこった。
0953デフォルトの名無しさん
2006/06/10(土) 20:41:10結局>>882が正解か。
0954デフォルトの名無しさん
2006/06/10(土) 21:39:50現在の話題と全然合ってない例出されても、お前がバカだっつーことしかわからんよ。
次から気をつけろよ。
0955デフォルトの名無しさん
2006/06/10(土) 21:48:56うはww
0956デフォルトの名無しさん
2006/06/10(土) 21:53:480957デフォルトの名無しさん
2006/06/10(土) 22:01:38レベル低いな。
0958デフォルトの名無しさん
2006/06/10(土) 22:08:550959デフォルトの名無しさん
2006/06/10(土) 22:13:13>処理速度が必要なところだとグローバル変数は必須
>>947
>static でなんとか踏ん張れ。
>>950
>つまりユーザからしてみれば処理速度遅くなるくらいならグローバルでも何でも使ってくれよってことか。
>>951
>つまりグローバル変数減らす代わりに処理速度遅いプログラムは本末転倒の真のヘタレプログラムってことですね。
>>952
>従って、高速化を目的としたstatic化、グローバル化はしばしば下手の考えとなるってこった。
>>954
斯くの如く卑近な話題に乗っていると思うが。
>>956
同意。
0960デフォルトの名無しさん
2006/06/10(土) 22:16:21てんで的外れだっつってんだよ
0961デフォルトの名無しさん
2006/06/10(土) 22:20:11線で場違い。
0962デフォルトの名無しさん
2006/06/10(土) 22:26:550963デフォルトの名無しさん
2006/06/10(土) 22:29:58例えば>828とかか。
てか、このスレで愚痴言ってる奴全員そうか。
0964デフォルトの名無しさん
2006/06/10(土) 22:38:450965デフォルトの名無しさん
2006/06/10(土) 22:41:210966デフォルトの名無しさん
2006/06/10(土) 22:50:1710個20個だった場合引数を10個20個にしろっていうのか?
0967デフォルトの名無しさん
2006/06/10(土) 22:53:420968デフォルトの名無しさん
2006/06/10(土) 22:57:36だからあんまり使いたくないんだけど、処理速度の話されたらやっぱ使っちゃうんだよね…。
0969デフォルトの名無しさん
2006/06/10(土) 22:58:200970デフォルトの名無しさん
2006/06/10(土) 22:59:12ぷw
処理速度なんて持ち出していいわけしてはずかしくないの?(大笑)
0971デフォルトの名無しさん
2006/06/10(土) 22:59:47自分が馬鹿ないいわけにはちょっとはずかしいかなw
0972デフォルトの名無しさん
2006/06/10(土) 23:03:40逆に処理速度の話されると何か困るのかなぁ?
0973デフォルトの名無しさん
2006/06/10(土) 23:06:15ループが重なる処理でもないしグローバル変数と処理速度を結びつけること自体プログラマとしては失格。
0974デフォルトの名無しさん
2006/06/10(土) 23:08:000975デフォルトの名無しさん
2006/06/10(土) 23:08:300976デフォルトの名無しさん
2006/06/10(土) 23:10:06プログラマの気苦労もどうでもいいし、しったこっちゃない。
プログラムがちゃんと動いて尚早ければもっといい。
ただそれだけ。
0977デフォルトの名無しさん
2006/06/10(土) 23:12:36関数何回も呼ぶ必要がでてくるし、それだけ処理増えるじゃん。
何いってんだか。
0978デフォルトの名無しさん
2006/06/10(土) 23:14:130979デフォルトの名無しさん
2006/06/10(土) 23:15:48それは処理速度にかかわる量なの何万回とかそういう話になるけど
そんな処理する前にローカル変数に1回移せば済む話だよね。
君は本当に馬鹿だね。
まともなプログラマならグローバル変数と処理速度なんて絶対に結びつけて話なんかしない。
君、会社でもおかしな発言して嫌われてるでしょ?
0980デフォルトの名無しさん
2006/06/10(土) 23:17:220981デフォルトの名無しさん
2006/06/10(土) 23:19:190982デフォルトの名無しさん
2006/06/10(土) 23:21:34しかも結論がでてる事に気づいている奴がたくさんいそうだな
0983デフォルトの名無しさん
2006/06/10(土) 23:23:180984デフォルトの名無しさん
2006/06/10(土) 23:25:25そんなコード、まさにこのスレにお似合いだ。
0985デフォルトの名無しさん
2006/06/10(土) 23:28:390986デフォルトの名無しさん
2006/06/10(土) 23:31:510987デフォルトの名無しさん
2006/06/10(土) 23:42:31単純に構造体にでもすればいいんでね?
0988デフォルトの名無しさん
2006/06/11(日) 00:02:17そうだね。少なくとも>>901はプログラマ向きじゃない。
今システム構築とかの現場でデスマーチが多いのはたいてい>>901のような馬鹿や、
それ以外の馬鹿がたくさん居るせいだよ。
0989デフォルトの名無しさん
2006/06/11(日) 01:05:56君ねw
グローバル変数なんてつかっちゃうほど頭が悪いのになんでそんなに自分の腕に自信もってるの?w
「gotoは使わない」「グローバル変数は使わない」とか聞いたことないの?ん?
俺がプログラム組み始めた頃はどこでも聞いたけどね。
それこそうるさいぐらいにこれを使ってる奴=馬鹿ってほど叫ばれてたよ。
0990デフォルトの名無しさん
2006/06/11(日) 01:10:050991デフォルトの名無しさん
2006/06/11(日) 01:13:38Msgbox("2")
Msgbox("1")
Msgbox("0")
0992デフォルトの名無しさん
2006/06/11(日) 01:19:14何故、言語仕様として用意されているのか?
なんて事すら考えられないなんて、逆に不敏になってくるな…。
0993デフォルトの名無しさん
2006/06/11(日) 01:22:070994デフォルトの名無しさん
2006/06/11(日) 01:22:28じゃあ、gotoだって使えよw
0995デフォルトの名無しさん
2006/06/11(日) 01:24:560996デフォルトの名無しさん
2006/06/11(日) 01:25:280997デフォルトの名無しさん
2006/06/11(日) 01:26:03g_
の部分がキモイとかだよ
0999デフォルトの名無しさん
2006/06/11(日) 01:27:271000デフォルトの名無しさん
2006/06/11(日) 01:30:0510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。