アカウント名:
パスワード:
実際、次世代静的プログラム解析ツールを導入することで開発方法やテストサイクルに変化はあるのだろうか? 新しい解析ツールは既存のものよりそんなに実力が違うのだろうか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
そこそこ出来る人による使用例を求む (スコア:2, すばらしい洞察)
「ダメダメな人にでも使わせるとダメダメなプログラムがそれなりの出来になるツール」ではなくて、
「それなりの人に使わせることでそれなりなプログラムがなかなか良い出来になるツール」なのでしょう。
「すごい人に使わせてもすごいプログラムが完璧なできになるツール」でもないと思います。むしろこの場合は、ツールの出来によっては「見当はずれな警告しか出ないでストレスの元にしかならないツール」であるかもしれません。
「こーんなヤツにこんなツールを使わせても役には立たないよ!」という話ばかりでなく、
こちらの話も聞きたいのですが。「甲のツールを使っていたらこんな警告が出て、こんなバグを見つけたよー」とかいう話もよろしく。
Re: (スコア:2, 参考になる)
ごくまれに、なんで警告が出るんだ出るわけないだろってこともあります。
警告の内容は例えば
1.int型に対しビット演算を行うと「整数型に対してビット演算を行っています」ってな感じの警告が出ます。
この場合unsigned int型でビット演算を行えば警告は出ません。
2.もしchar型の範囲が-127~128だった場合
0xffを代入しようとした場合これも警告が出ます。
型の範囲外の値を代入しようとしているためです。
charの範囲は環境により異なるためなんともいえませんが。
3.short型(16ビット)にint型
Re: (スコア:0)
1.は、符号付き整数にたいしてビット操作をおこなうのは、符号の反転が
発生することがあるから行儀よくない、ということだろうし。
(ビット列としてみるなら符号無し整数を使うべき)
2.も同様。signed charに対して0xffを代入するのは、まちがえて255を
代入しているのか-1の8bit表現を16進数に書き直したものかが明示的で
ないためだと思われます。
3.は、処理系のエンディアンによってint型のbyte列のどこがshort型に
入るかがちがってくるからでしょう。
4.は、for文の条件は符号無しの条件分岐になるので、常に真ですよ。
Re:そこそこ出来る人による使用例を求む (スコア:0)
> 3.は、処理系のエンディアンによってint型のbyte列のどこがshort型に
> 入るかがちがってくるからでしょう。
これは違うでしょう。
int i = 123;
short s;
memcpy(&s, &i, sizeof(short));
とかしてるわけじゃないし。