More Related Content
Similar to ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
Similar to ドキュメント、書いてますか? @ Python hack-a-thon 2011/2 (20)
More from Takeshi Komiya (20)
ドキュメント、書いてますか? @ Python hack-a-thon 2011/2
- 2. おまえ誰よ? 小宮 健 (@tk0miya) 株式会社タイムインターメディア所属 技術者募集中らしいです Python 歴は約 1年ぐらい Sphinx-users の方から来ました 15時ぎりぎりまで資料作ってました 分かりづらかったらごめんなさい!
- 9. Lightweight なドキュメント ツールをうまく使う Sphinx、Wiki で書く ソースに埋め込む -> docstringを Sphinx などで抽出 やり方を変える テンプレートでショートカットする shimizukawaテンプレート @ Sphinx-users 常に書き換える (Wiki 方式) 無理なく、楽しく、続けられるドキュメントであること
- 16. Inside blockdiag:パーサ DOT 文法 (graphviz由来) をまねた文法を採用 diagram { A -> B -> C; B -> D; } テキストでもわかりやすい (like reST!) ノード間の関係や属性をわかりやすく表現できる funcparserlibを利用してパーサを生成 依頼して Python 2.4 でも動くようにしてもらった
- 19. Inside blockdiag:描画エンジン PIL っぽいインターフェースで中間層を作っている line, rectangle, arc, ellipse などの API がそろってる 手がかかってる部分 PIL で点線を書けるようにした SVG でテキスト折り返し 影のぼかし部分
- 23. Inside blockdiag:周辺ツール Web クローラー Pycon mini JP のデモ用に作成 デザイナーさんからキャプチャ画像で遷移図を作るという話を聞いたので作ってみた urllib + lxmlでスクレイプ + クローリング 便利なクローラーライブラリを教えて下さい PyQtでキャプチャ取得 (by ransui先生) 生成される図がでかすぎて閲覧不能 デモ用と割り切って作り捨てることに。
- 24. Inside blockdiag:周辺ツール Sphinx 言わずもしれた便利なアイツ Sphinx 拡張を使うと reSTに直接埋め込むことができる .. blockdiag:: diagram { A -> B -> C; B -> D; } Sphinx との組み合わせは超便利 (らしい)
- 28. Inside seqdiag blockdiagコアを利用して 2時間でプロトタイプ作成 1週間かけてちゃんと作り込んだ 以降、絶賛放置中 バグつぶしをしたら開発終了の予定 シンプルに書いて、それっぽい図ができる Blockdiagと同じような周辺ツールがある Interactive Shell Sphinx 拡張
- 29. schema2rst DB スキーマから定義書を生成する Foreign Key から ER 図っぽいものも生成できる サンプル 以前作った schema2excel.rb を Sphinx 向けにリファイン Rails 風の DB Migration システムと相性がいい気がする 作りながらスキーマを随時拡張していく
- 30. Inside schema2rst スキーマ情報の抽出 Information_Schemaからごりごり SELECT してるだけ MySQLでコメントを付けておくと表現がリッチに 他の DBMS への対応はそのうち考えます ER 図の生成 dot ファイルを生成して Graphvizに渡してる テーブルが多すぎると図が大きくなって見づらい (体験談) 面倒なので bitbucketで公開してるだけ
- 32. 次の目標 ブロック図を作る 機能構成とかシステム構成を表現する図 http://twitter.com/#!/tk0miya/status/36083686684377088 文書テンプレートの作成 みんなが使ってるドキュメントからいいところを抽出 いろんな人から意見を聞きたい! 書くのが面倒くさくない / メンテするのにちょうどいい量 @shimizukawaを巻き込んで、まとめていきます 興味がある人は声かけてください
- 33. まとめ ドキュメントは楽して楽しく書こう 自分のために。誰かのために 書いて終わりではなく、メンテできる大きさが大事 ツールややり方を工夫するとドキュメントは辛くない Excel 方眼紙はもはや化石 Sphinx は冴えた一つのやり方 もちろん blockdiag, seqdiagもね 楽するためには知恵と経験が必要 テンプレート、ツール群 知識やアイディアください (@tk0miya まで)