up: 📂ソフトウェア開発手法

OSSのコードを読み解くためのノウハウをここに集約する.

📝コードリーディング概論

以下の戦略が考えられる.

  • リバースエンジニアリングからせめる
  • リーディングツールからせめる
  • ノウハウ蓄積からせめる
  • 設計パターンからせめる

📍リバースエンジニアリング

設計をツールによって見える化することで, 理解を助ける.

UML 自動生成

いろいろ書き溜めていたものの情報が古くなったので削除…

コールグラフ生成

  • Doxygen

📍リーディングツール

ツールによって検索効率をあげて可読性をあげることで, 理解を助ける.

タグジャンプ

必須ツール. Eclipse のような IDE に依存しないならば, これがないと死ねる.

  • GNU Global

grep

ソースコード探索における最大の武器は, grep.

📍ノウハウ蓄積

内部の構造についてしらべたことを適切にまとめあげて見直すことで, 理解を助ける.

Wiki

📝Wiki

UML

設計に関する知識を共有するための, デファクトスタンダード, 強力な手法.

📝UML

📍設計パターン

ステレオタイプを当てはめることによって, 理解を助ける.

🔗References

Articles

楽天技術顧問のよしおかひろたかさんの素晴らしいスライド.

http://www.slideshare.net/hyoshiok/sourcecode-reading-workshop2010

Books

Amazon.co.jp: Code Reading-オープンソースから学ぶソフトウェア開発技法: トップスタジオ, まつもと ゆきひろ, 平林 俊一, 鵜飼 文敏: 本