ソフトウェアのバグをなくすには?--プログラミングの際に避けるべき10の失敗 - (page 2)

David Gewirtz (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子

2016-06-17 06:00

 これに対して、「gallons = miles / mpg」という文があったとしてほしい。それぞれの変数が何を意味しているのかは、一目見れば分かるはずだ。最初の項はガロンを、2つ目の項はマイルを、3つ目の項は1ガロンあたりのマイル数を表していることは明白だ。

 変数間の関係を考慮し、英語(あるいはあなたにとっての母国語)で意味が明確に分かる名前を付けたうえで、コメントも記述するようにしてほしい。大量のソースコードを保守する担当者になり、「a = b / c」という文を目にした時に、それが何をする文なのか、想像できるだろうか?

 変数名を付ける際には、その機能を表すような名前になっているかどうかを確認してほしい。それによって時間の無駄を省き、頭痛の種を減らせるようになる。

#3:ラボノートがない

 ZENPRESSの開発を始めたのは1997年半ばであり、本番稼働に入ったのは1998年1月だった。最初のリリースはスケジュールがひっ迫していたため、残念ながらラボノートを書く時間がなく、その後何度も後悔する羽目に陥っている。このためZENPRESSバージョン2の開発に着手した1999年6月以来、筆者はラボノートを欠かさず書くようにしている。

 ラボノートとは、ソースコード中のコメントで表現しきれない記録などを書きとめておくノートだ。研究者は日々の作業のなかで起こったことや、研究時の思考過程を残すために、常にラボノートを使用している。またラボノートは、科学的発見の所有権を証明する資料としても用いられている。というのも、研究者は進捗状況を記録する日誌としてラボノートを使用していることから、研究の過程が文書化されている場合もしばしばあるためだ。

 ラボノートはプログラマーにとっても強力なツールとなる。筆者はついこの前の3月、ZATZLabsのアーカイブを他のホストプロバイダーへと移行する際にもZENPRESSのラボノートを記述した。また、その他のプロジェクトでも定期的にラボノートをつけるようにしており、ノートを読むことで何度も助けられてきている。

 ラボノートをつけたことがない方は、今すぐつけ始めてほしい。自らの手による修正や、推論の過程、検討事項や棄却事項、有益なリソースへの参照といった、将来に役立ちそうなありとあらゆることを書きとめておくのだ。これによって、新たなメンバーが参加してきた際や、引き継ぎの際にも役立つうえ、自らの考えの先見性を示すためにも使用できるはずだ。

#4:国語力が不十分

 筆者のクラスの学生らは単位を取得するうえで、プログラミングの試験に合格するだけではなく、掲示板への投稿で、コーディングに関するある種のコンセプトを理解していることを示す必要がある。

 掲示板への投稿という課題には2つの目的がある。最初の目的はもちろんながら、コンセプトに対する理解を示すというものだ。しかしより重要な目的として、あらゆるプロフェッショナルに必要となる作文能力の評価がある。

 学生からは多くの反対意見が寄せられてくる。学期を重ねるたびに「わたしがなりたいのはプログラマーであって、文筆家ではない」という泣き言を少なくとも2人の学生から聞かされる。しかし、プログラマーやエンジニアなどのIT関連の職業、そしてほとんどすべての専門的な職業は世の中との関わり無しに存在し得ないのだ。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

マイナンバーカードの利用状況を教えてください

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]