バグをどう減らすか、そのための意識

まとめました。
2
ずきゅ~んたん @ZuQ9Nn

実践バグ管理って本が良さげだから、購入しようかと思ったんだが、テストコード書いて、グリーンバーが出てる限り、バグが無いって保証されるんだから、わざわざバグを管理するより、テストコード書けよ俺って結論に至った。

2012-08-18 13:34:17
非実在naka aki @naka_aki_spl

@ZuQ9Nn 例のバグ率とかいう奴も「バグの管理なんかチンタラやってる暇が有るなら直せばいいのに」という視点が欠如してる点がムカつくんだよなあ。奴らの標準と今のxUnit世界とでは開発速度は実は洒落抜きの「桁違い」に違うんだろうな。数十倍とかいうオーダーの。

2012-08-18 13:46:57
ずきゅ~んたん @ZuQ9Nn

@naka_aki_spl かなり昔の本ですが、バグのないプログラムの作り方って本を思い出しました。あの本では具体的なTDDが紹介されてましたが、考えかたそのものも、そもそも、バグを作り込まない。開発って展開が必要なんだと、感じさせられました

2012-08-18 14:41:18
非実在naka aki @naka_aki_spl

@ZuQ9Nn 懐かしいなあ。まず魂(考え方)を入れ替えるところから始めないとならないんですよねえ多分。パラダイムシフト。下手したらoopのシフトよりデカいシフトかも知れない気がしてます。

2012-08-18 14:43:52
非実在naka aki @naka_aki_spl

「xUnitへの誤解」シリーズは、俺みたいな駄目人間じゃなく、もっと確かな理論なり経験なりを持った人が増殖させてくれるのが理想だなあと思ってる。このパラダイムシフトがどういうシフトなのか、を、きちんと説明することこそが大事なのだろうと思う。実利的(ソフト産業の活性化とかw)にも。

2012-08-18 14:45:49
非実在naka aki @naka_aki_spl

@ZuQ9Nn まあ半分は人間系の問題、つまり「(小さいオブジェクトやルーチンを)作った直後じゃないと忘れちゃうので効果的なバグ対が出来ない」という問題に正面から取り組んだらアアなった、ってのもあるんだろうけど。数えれるほどのバグを「貯めてる」時点で負けだと。

2012-08-18 14:50:24
非実在naka aki @naka_aki_spl

xUnitの「バグが無い」は「バグが産まれてもすぐ殺す」なんだよな。なんでも汽水界あたりでは「今でも頻繁に全く新しい生命の元が産まれてるはず」だが「既存生命に速攻で食われるので消えて行ってる」らしい。そういう感じだ。

2012-08-18 14:52:09
ずきゅ~んたん @ZuQ9Nn

@naka_aki_spl oopはgithubのようなソーシャルコーティングの時代へ、誰もがtwitterのメンションのように、気軽にプルリクエスト出来る代わりに、テストコードが必須になりつつあり、そういう意味でパラダイムシフトは既に起きているのかなと

2012-08-18 15:13:54
非実在naka aki @naka_aki_spl

@ZuQ9Nn ところで「いつ」起きてるかはまた別の話題です。というのは主観時間wの流れる速さは人それぞれなので。未だにxUnit未満なスタイルしか知らない/考えたことのない残念な人や企業も多いようですし。

2012-08-18 15:16:31
ずきゅ~んたん @ZuQ9Nn

@naka_aki_spl ただ、残念SIerでは、未だに実践されずに、人依存、任せるというよりは、丸投げ、自分は責任無いみたいな管理職が多いのが実情、コードを書かなくなると、そんなもんでしょうか、プロジェクト自体を改善しようとせず、出来ないと言って人を切り捨てる

2012-08-18 15:16:46
非実在naka aki @naka_aki_spl

@ZuQ9Nn プログラムに対する責任じゃなく、プログラムごっこに対する責任で、回ってるところとかしばしば有るように見えますね。それでも商売として成り立つ可能性は有るんだろうけど、いくらなんでも競争力のある商品がそこに存在するはずもなく、お遊戯じみた商売。

2012-08-18 15:19:01
ずきゅ~んたん @ZuQ9Nn

@naka_aki_spl 僕も最近のTDDイベントに参加するまで、知識としてxUnitしか知りませんでした。BDDが最近のトレンド、ここらへんも追っていかないと、遅れると言うより、死ねる

2012-08-18 15:19:39
非実在naka aki @naka_aki_spl

残念SIer「この品質はバカには見えない品質なのですよ!」→顧客企業「み、みえますとも!(ほんとはどっちにせよ理解できてない)」→エンドユーザ「ねーねーこれ品質ぜんぜんナシじゃね?」

2012-08-18 15:21:02
非実在naka aki @naka_aki_spl

@ZuQ9Nn いやほんと「xUnitへの誤解」シリーズはみなさんでよろしくお願いします。あれはいったいどういう考え方なのか?を是非底辺にもw広めたい。

2012-08-18 15:22:47
ずきゅ~んたん @ZuQ9Nn

@naka_aki_spl だから、どんなコードを書くかってのは余り気にされずに、Java◯年、PHP◯年とかって、バカらしいスペック表のみ重要視され、それに見合わないと、イマイチ曖昧な判断基準できめつけられるともうヲワンコという悲しいよね

2012-08-18 15:23:03
非実在naka aki @naka_aki_spl

再掲。「少し書いては動かして確認」を底辺残念SIerだってやってないわけではない。たとえばSQLを書くときは得てしてそうしているようだ。つまりだ、「どこでそのワザを使うのか」という「常識」をどう洗脳するか?の問題でしかないはずなんだよ。はずなんだよ。

2012-08-18 15:23:47
非実在naka aki @naka_aki_spl

@ZuQ9Nn xUnitしってるのとしらないのとは別世界の住人だから良い、と言ってられないなあと最近よく感じますねえ。「同じ」ものを作って(つまり客もかぶる)いても品質も開発速度も数倍違うんじゃ勝敗は流石に見えてる。

2012-08-18 15:25:07
非実在naka aki @naka_aki_spl

ボトルネックはxUnitなりなんなりを邪魔する老人どもだけだ、とは思うねえ。わかんねーならせめて黙っててくれや。

2012-08-18 15:25:42
ずきゅ~んたん @ZuQ9Nn

@naka_aki_spl BDDスタイルのコードが見やすいと感じたのはこの前のTDDactの勉強会に参加してコードを見てから、やはり体感に勝るもの無しですね。TDDが良いものと知識レベルでしっていても、普段実践出来ないのは、あの、安心感を体感してないからかと

2012-08-18 15:31:49
非実在naka aki @naka_aki_spl

@ZuQ9Nn 勉強とかいうと妙に身構える奴が(とくに残念界隈は)多いんだけど、「勉強とは体感だと見つけたり」しちゃえばどーってことなんだけどねえ。まずヤッテみることなんだよなあ。(って殆どやってない俺が言うのも変だがな!(だれか「xUnitへの誤解」シリーズ拡充してくれー

2012-08-18 15:33:28
非実在naka aki @naka_aki_spl

再掲。計算機を使うののヤリカタの味噌は「最後は人間、ではない」という点だと思う。逆だ。「最初は人間」なんだよ。つまり仕込みをやるんだよ。あとは計算機が全力で突っ走れるように、つまり具体的な仕込みを(抽象の理解じたいを計算機は出来ないから)ね。これが「自動化」だ。

2012-08-18 15:37:01
非実在naka aki @naka_aki_spl

「残念SIerよ、これが自動化だ」

2012-08-18 15:37:27
ずきゅ~んたん @ZuQ9Nn

@naka_aki_spl 誰かと言わず、自分でするってのがこの場合の流れかとw 何故か直ぐに実践出来る事と、なかなか行動に移れない事があるのが不思議、自分も知らず知らず、曖昧な判断基準で動いてるなぁと、最近は思います。まぁ余り、完璧主義になる事無く、緩く改善し続けるのが吉

2012-08-18 15:39:22
非実在naka aki @naka_aki_spl

@ZuQ9Nn まあ他の人「にも」使って欲しいってのはありますね>誤解シリーズ。ガキのころからのクセで、「流行を作る」ことに喜びを感じてるもんでして。

2012-08-18 15:51:44
非実在naka aki @naka_aki_spl

@ZuQ9Nn 「ユルく」のところで1つ問題になるのが、これはパラダイムシフトだってことなんですよねえ。発想だけじゃなく実際におこなう行動様式も含めて「飛躍」が必要になる。飛躍前と後との2つの事象/概念のうち、一方を選ぶ人間は得てして他方を疎むんです。ここがボトルネック。

2012-08-18 15:53:23
残りを読む(9)

コメント

Tsuyoshi CHO @tsuyoshi_cho 2012年8月18日
それで本番バグがどれだけ出ないか、によるんでしょうけども。本番の実動作が全部予見でき、全部テストに入れこめれば確実なんですがねぇ...。むろん事前に可能な限りバグが少なくなるようなテスト/開発が最初だよなとは思うので、あえて。
0
順三朗 @junzabroP 2012年8月19日
TDDを過信してない? 書かれたテストコードの範囲で想定通りに動いているということにすぎないんだけど。
0