Doc and Error Handling

  • 7,291 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
7,291
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
26
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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