本当にただの雑談です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
BEMANI

本当にただの雑談です

#1

投稿記事 by BEMANI » 16年前

新年明けましておめでとうございます。

去年ありました、しょうもないミスで結構時間費やした~
というプログラム経験でも。

float a = 1 / 2;

テクスチャを張るときに計算をしようとしていた時の話なのですが、
めちゃくちゃ簡単に書くと上のような感じです。
自分的には0.5が入ってくれていると信じていたのですごく悩みました。

計算間違ってないよな~ とデバッグもせず、違うところが間違っていると思い込んでいました。
皆様もそういった、しょうもないミスで悩んだ経験を書いてみませんか><;


それでは皆様、皆様良いお年を過ごしてくださいませ~。

Dixq (管理人)

Re:本当にただの雑談です

#2

投稿記事 by Dixq (管理人) » 16年前

あけおめです~♪

いや~苦労した話なら山のようにありますよw

VC++を使い始めたばかりの頃だったでしょうか、
計算結果がうまくいかなかったので、デバッグしてみたんですね。
自動変数の確認で、例えばある変数の中身が途中どのように変わっているか確認するような感じですね。
その時、あるiの値がどうしても予想外の値になってしまっていたんです。
よくわからないから最初からみていこうと
i=0;
の直後を見たのですが、iに0以外が入ってるんです。
なんでだよ~!と散々まる一日悩んで、結局原因は、設定が「Release」になっていたという・・。

または、オーバーフローすると全然違うところで用意した変数の中身が変わる場合があるってこと知らなかった頃、
途中で入るはずのない値が変数に入ってた時本当に悩みました。

でもきっとそういうのって必要な経験で、例えばしょうもないミスで重大なバグにつながったりした経験があると、
より一層エラーチェックやバグ回避プログラムに気を配るようになると思いますし、
その方法も、痛い経験が活かされたものになるんだと思います。

私は過去の痛い経験から、今ではいたるところで変数に変な値が入ったら

printf("error number : ○○○○\n");

みたいに表示するようにしています・・ビビりすぎかも^^;


あ~そういえばもうひとつ。またJustyさんの話を勝手にして申し訳ないんですが・・・。
以前Justyさんにトライグラフの話を聞きました。
たとえばこんなプログラム
#include <stdio.h>

int main(){
	int i,a=0;
	for(i=0; i<10; ++i){    //aの値は??/
	    ++a;
	}
	printf("a=%d",a);
	return 0;

}
実行結果は
a=10
になりそうですが・・・?違う値になるんですよね。
こいつのせいで随分苦労させられたって話お聞きしました。
あれ以来ハテナを2つ書くのは意識的にしないようにしています^^;

きっと思い出せればきりがないほどあるんでしょうけど、思い出せず残念です!

こういうトピ見ると、「人のふり見て我ふり直せ」で気をつけることができていいですねw

BEMANI

Re:本当にただの雑談です

#3

投稿記事 by BEMANI » 16年前

>>こういうトピ見ると、「人のふり見て我ふり直せ」で気をつけることができていいですねw
自分も気をつけねば!
という項目が増やせれば色々役に立つことが多いかなーと
淡い期待をしながら新年掲示板に書き込みしてみました><


>>でもきっとそういうのって必要な経験で例えばしょうもないミスで重大なバグにつながったりした経験があると
>>より一層エラーチェックやバグ回避プログラムに気を配るようになると思いますし、
>>その方法も、痛い経験が活かされたものになるんだと思います。
自分は経験浅いですが、一度ミスしたところは気を配るようにしています。
管理人様のように大きなプロジェクトを作っているとバグも凄く出るのだろうなと思います。
今自分のプロジェクトですら、沢山出ているので;



上に書いて頂いたコードですがこういうのもあるんですね。
a=10 じゃないの?
と思って実行した所 あれ?ってなりました。
こんなところにもバグって出るんですね・・・
三文字表記は注意します><

kazuoni

Re:本当にただの雑談です

#4

投稿記事 by kazuoni » 16年前

自分はまだプログラミング歴が浅く、
夏にやっとポインタの理解ができたばかりなんで、
毎回が悪戦苦闘なんですがw

初期のころは、「=」と「==」の違いで悩んだ記憶がありますかねー。
visual c++では丁寧に意図したことと合致してます?みたいな警告が出るんですが、
自分の学校のやつはでなく、
「よしっ!!コンパイル通った!!提出して終わり!!」
って思ったらなんだこの動作・・・答えがっ・・・。
コードが非効率だった分、だらだら長いコードだったので、
どこで変数が変になるのかprintfで調べってました。。
そしたらほぼ最後のif文で代入してる・・・orz

でもやればやるほど成長はできるのですね。
まだまだひよっ子な自分ですが、
最近やっと自分のやりたいことを記述できているような気がします。


バグを実感できるのはこれからですかね・・・。

BEMANI

Re:本当にただの雑談です

#5

投稿記事 by BEMANI » 16年前

ポインタは慣れるまでが大変ですよね;
「=」と「==」自分もやった事あります;
自分的には合ってるのに と思い込んだ瞬間からバグが発生しそうですよね><
kazuoniさんも制作頑張ってください!
こっそり応援しときますw

dic

Re:本当にただの雑談です

#6

投稿記事 by dic » 16年前

プログラムはパズルみたいで
難しい問題でも簡単にとけると楽しいものですね

関数の管理方法が複雑になってしまい
オブジェクト指向を導入したもののさらに油に火をそそいだ状態になったりと
今では簡素な管理方法で管理したりなど
高度なものであるほど見栄えはいいですが、維持が難しいもので
保守的な面から見て、バランスが難しいなぁと感じた一年でした

管理人さんの新しい弾幕期待してます

閉鎖

“C言語何でも質問掲示板” へ戻る