2010/11/24 水曜日 

コードレビュー

コーディングの後は、単体テストに入る前にコードレビューを行います。

さて、コードレビューの目的は何でしょうか。バグを見つけることでしょうか。

昔々、30年前、ホスト系システムを開発していた頃、テストで使用するマシンは、とても高価で、使用できる時間も1日に1時間を割り当ててもらえるかどうか、という環境でした。

従って、同じテストを繰り返さなくするか、テスト時間をいかに短くするか、いかに効率良く行うか、に努めました。それが、マシンを使用する前、テスト前にバグを検出することでした。机上デバッグと呼ばれた工程です。

この机上デバッグにおいて検出したバグ件数が、計画時に目標とした値に達しないとテストに着手できませんでした。

テストで使用するサーバやPCのコストや性能を意識せずにテストができる環境においては、机上デバッグを行うよりも、逆にマシンを使用したテストを行った方が、効率的でコストパフォーマンスも高くなるかと思います。

ということで、コードレビューと机上デバッグは、違うことと思います。では、コードレビューの目的は、バグの検出ではないとすると、何でしょうか。

バグとは関係無いところになりますので、正常でも問題が有ること、たとえば以下のようなことがあげられるかと思います。

・コーディング規約に準じているか
 変数などの命名のルールなど、コーディング規約が存在すると思いますが、それに準じたコーディングがされているか。

・冗長なコーディングがないか
 同じ処理が何か所にも書かれていて無駄がないか。1つにまとめて、それを呼び出すようにすれば、ステップ数も削減でき、バグの発生率も抑えられるかと思います。

・パフォーマンスを悪くしていないか
 パフォーマンスに影響するようなコーディングがされていないか。SQL命令の記述内容は、妥当かどうか。

コードレビューのポイントには、いろいろと有ると思いますが、一つには、上記のようにバグではなく、正常に動作するのだが、適当ではないと思うようなところを検出することではないかと思います。

で、一番大事なのは、レビューポイントが明確になっているか、ということだと思います。複数の人がレビューするケースで、レビュー内容がまちまちでは、品質も安定しませんからね。特に、チームやサブシステム、コンポーネント、開発会社によって、レビューポイントが異なるようでは、困りますよね。

従って、レビューポイントが書き物になっていたり、レビュー項目(ケース)が記載されたレビューシートが用意されていることも大事なように思います。

ちなみに、コードレビューを受ける前に、1回実行して動くことを確認するのは、疎通テストと呼ばれる工程だと思います。コードレビュー後にごっそり書き換えられたら、せっかくコードレビューを行った意味が無くなりますからね。

コードレビューを含め、顧客やプロジェクトによっても異なることもあるかと思います。何事も一つ一つの意味、目的を理解して作業することが大事なことのように思います。

もし、コードレビューの後で発生した障害(バグ)が、コードレビューで発見できるような原因であれば、書き物になっているレビューポイントやレビュー項目(ケース)に追加することにより、同じような原因の障害(バグ)が発生することを防ぐことが可能になりますよね。

こうやって工夫していくことにより、品質も上がっていくものだと思います。

仮に、新人のような若手に教育目的でコーディングを任せているようなケースで、コードレビューの際にバグを発見したとしても、教えることはしないですね。バグを発見することも、原因を調べることも、対処方法を考えることも、すべてが勉強ですからね。失敗から学ぶことの方が身になりやすいということです。

冷たいように思われるかもしれませんが、自分で蒔いた種は、自分で刈り取るということです。


トラックバック URL :
2010/11/19 金曜日 

東京メトロスマイルフェスタ2010

東京メトロでは、11月28日(日)の10:00~15:00、「東京メトロスマイルフェスタ2010 車両基地イベントinAYASE」が開催されるようです。

鉄道部品やメトログッズの販売やスタンプラリーなどが開催されるようです。

場所は、東京メトロ千代田線北綾瀬駅下車歩10分の東京メトロ綾瀬車両基地です。


トラックバック URL :

東武ファンフェスタ

東武鉄道では、12月05日(日)の10:00~15:30、「2010東武ファンフェスタ」が開催されるようです。

オリジナルグッズがプレゼントされるみたいです。ミニSLやNゲージ、グッズ販売もあるみたです。

場所は、東武日光線南栗橋駅の南栗橋車両工場です。駅から無料のシャトルバスが運行されるようです。


トラックバック URL :

いずはこね ふれあいフェスタ2010

伊豆箱根鉄道では、11月23日(火・祝)の9:30~15:00、「いずはこね ふれあいフェスタ2010」を開催されるようです。

ミニ電車に乗れたり、鉄道模型も展示されているようです。ゆうだいくん的には、手で触れる移動水族館やわんぱく広場の方が喜ぶかもしれませんね。

場所は、伊豆箱根鉄道駿豆線大場駅の伊豆箱根鉄道本社のようです。ちょっと遠いかな、1泊したいです。


トラックバック URL :

ふれあい鉄道フェスティバル

JR東日本では、11月20日(土)の10:00~15:00、「第10回みんな集まれ!ふれあい鉄道フェスティバル」が開催されるようです。

D51蒸気機関車も展示されるようです。鉄道グッズも販売されるようです。

楽しそうですね。行きたいのですが、ゆうだいくん、もう興味が無いと宣言していますからね。一緒に行ってくれませんかね。

場所は、宇都宮線尾久駅のようです。


トラックバック URL :

九州新幹線さくらの駅弁

JR九州では、来年3月12日(土)に開通する九州新幹線さくら用の駅弁が販売されるようです。

九州名物の辛子めんたいこ、からしレンコン、さつま揚げ、黒豚なんかが並ぶのかもしれませんね。

来年の夏休みに帰省する際には、ゆうだいくんと是非、食したいと思います。今から楽しみですね。


トラックバック URL :
2010/11/18 木曜日 

育っているか

先日、お酒の席で、お客様から「うちのプロパーは、育っているか」と尋ねられました。普段、お話をする機会がほとんどない、偉い方なのですが、やっぱり自部門の若手の成長を気にされているのですね。

若いプロパーの方も同席されていましたので、気にされたらしく、言葉を変えて「じゃあ、どうしたら育つか」と尋ねられました。どこの会社も同じで、若手の育成が気になるところなんでしょうね。

以前は、厳しい環境の中に、一人で放り込まれても、自力で何とかし、無事にお勤めを果たし、それに見合った成長をしていたように感じます。

基本は、以前と同じであり、責任のある作業を任せ、経験させることが一番だと思います。

最近、気をつけているのは、任せる際に、目的や期待、何を身に付けて欲しいか、言葉で伝えることです。今の若手も昔と変わらないと思いますが、向上心というか、自分の将来像を描けていないような、そんな感じがします。決して、できないわけではないように思います。

でも、終わった後に勉強になったか、何ができるようになったか、と尋ね際に、考え込んでしまうような気がして、不安を感じます。なので、何をどうして欲しいのか、こちらか伝えるようにしています。

もう一つ、始まる前に伝えただけでは、一抹の不安もあり、途中でできるだけ、状況を確認するように気をつけています。半年、1年、過ぎた後に、何も残っていないというのは、かわいそうですからね。

バットを100回振れとか、1000回振れと言うと、振ると思いますが、終わった後にどう?何か掴んだ?と尋ねても、返事が無いようだと寂しいです。手で振るのではなく、体全体で振る練習なんだ、とか伝えないとね。

任せるという行為は、心配であり、不安であり、できる作業、簡単な作業をお願いした方が、任せる側も安心だし、楽なのですが、これでは育たないかな、と思います。

子供が包丁を持ったり、カッターを持ったりするのを、危ないからダメと言っていたのでは、いつまでもマスターできないですよね。危ないのは、子供も解っていますので、怪我をしないように気をつけます。時には指を切ったりすることもあるかもしれませんが、それで学ぶこともあるでしょう。

お客様がお怒りになるような失敗をするかもしれませんが、上司として率先して謝ります。なんとかしろと言われれば、上司として出来る限りのことをしましょう。それで育つのであれば、学べるのであれば、お安い御用で。

試合も練習も、考えて行動しないと、身に付かないように思います。考えて行動していれば、誤りや、もっと良い方法に気付くこともあるでしょう。そうすれば、改善することも、目指す方向を変えることもできますからね。

描いたとおりに育っているか、を感じるためには、まずは描くことですね。そんな感じの飲み会でした。


トラックバック URL :
Page 5 of 50«2345678»...Last »

Copyright © 2007-2009 Triumph Co.,Ltd. All rights reserved.