Doc and Error Handling
Upcoming SlideShare
Loading in...5
×
 

Doc and Error Handling

on

  • 7,560 views

 

Statistics

Views

Total Views
7,560
Views on SlideShare
2,715
Embed Views
4,845

Actions

Likes
2
Downloads
26
Comments
0

11 Embeds 4,845

http://d.hatena.ne.jp 4813
http://webcache.googleusercontent.com 11
https://twitter.com 5
http://faithandbrave.hateblo.jp 4
http://twitter.com 3
https://www.google.co.jp 3
http://www.slideshare.net 2
http://translate.googleusercontent.com 1
https://translate.googleusercontent.com 1
http://digg.com 1
http://us-w1.rockmelt.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Doc and Error Handling Doc and Error Handling Presentation Transcript

  • ドキュメントとエラーハンドリング 高橋 晶(Akira Takahashi) id:faith_and_brave @cpp_akira エラーハンドリング勉強会 2011/09/04(日)
  • 自己紹介• 株式会社ロングゲート 取締役• C++テンプレートメタプログラマ• Boost Geometry Libraryコントリビュータ• 『プログラミングの魔導書』 編集長。
  • チュートリアル• チュートリアルにはエラーハンドリングが記載 されていないことが多い。• そのまま使用すると、あとで想定していなかっ たエラーが発生してしまう場合がある。
  • ドキュメントは大事!• 適切なエラーハンドリングを行うためには、ド キュメントをしっかり読まないといけない。• その関数はどういったケースでどういったエ ラーを出力する可能性があるのか。 そのエラーは、そのプロジェクトで起こること が想定できるものか。
  • ドキュメントの読み方• 直接記載されていないエラーが報告される可 能性がある。• その関数自体だけではなく、引数として渡し たオブジェクトがエラーを報告する場合もある。• その関数が引数をどのように扱うのか注意し て読む必要がある。
  • アンドキュメントなものは使わない• アンドキュメントな機能は、将来のバージョンアップで予 告なく変更・削除される可能性がある。• 「ライブラリをアップデートしたらリリースノートにも変更 が書かれていないのに動かなくなった」では困る。• アンドキュメントだが有用な機能だと思うなら、それを作 者に報告し、方針を確認した上で使おう。 例. 「アンドキュメントだからまだ使わないほうがいい?」 「ドキュメントパッチを送れば取り込んでくれる?」
  • ドキュメントに記載されていないエラー• ドキュメントに記載されていないエラーを投げ る可能性が、実装を読んで発覚する場合が ある。• ドキュメントバグなので報告しよう。• アンドキュメントなエラーをハンドリングする場 合は、その旨コメントに書こう。 報告した際のチケット番号を記載するとGood!
  • ドキュメント読むのめんどくさい• めんどくさいです。• ドキュメント読まなくても適切なエラーハンドリ ングがしたい!• ライブラリ作者は、間違った使い方をした場合 や、適切なエラーハンドリングを行わなかった 場合に、事前にそれを検知できる機構を用意 すべし。
  • 型付けしよう• 静的型付け言語では、型付けによって、間違った使い 方をした場合にコンパイルエラーにすることができる。• ハンドリング洩れも、がんばればチェックできると思う (戻り値を受け取ったかのチェック、エラーチェックした か、をコンパイル時に判断するのは難しい)。• ただし例外の型付け、ハンドリング洩れの静的チェッ クは難しい。IDEのサポートに期待。 (もしくは例外を積極的に使わない)
  • まとめ• ドキュメントは大事• アプリケーションコードの全ての関数までドキュメントを記 載する必要はないが、ライブラリコードはドキュメントを書 くべし。• ドキュメントが間違っていたら報告しよう。 それはあとに続く開発者にとって有益。• 型は大事。 型はプログラム内にプログラムで記載されたドキュメント。