こんにちは。るりとです。Twitter: https://twitter.com/ruriro0125
闇のコードとは
さて皆さんは闇のコードというものに触れたことはありますか?闇のコードとは名前の通り✝Dark✝なコードのことです。要するに読めないコードだったり何故動くのか分からないコードのことだったりの総称だと私は勝手に思っています。
私が触れている闇のコードについて
先に答えを言ってしまうと、別サークル(以下R団体)でチーム開発しているコードが闇です。R団体では、RoboCupという大会で優勝するために日々開発に勤しむという表向きには素晴らしい団体です。開発の中身としては、先輩達が書いたコードを引き継いでより改良するといった感じです。そろそろ気づき始めてきた方もいると思いますが、現状先輩達が書いたコードが正常に引き継ぐことが出来ていないのです…。
どうしてコードが闇に埋もれてしまったのか
簡単に説明しますと、
- 毎年代替わりが発生していて、1代あたり2年ほどしか開発する期間が無い
- 開発対象のコードの量が多く、また難解(個人差あり)
- チームメンバー(私も含む)全員が持つ動けばいいや精神
- 引き継ぎを行う時間が無い
- 一部のコードは10年近く開発している
要するに死
闇のコードに対する防衛術について
そんな悲しい環境を打開するために私はDoxygenというものを用いて闇の濃さを薄めようと考えました。Doxygenとはソースコード・ドキュメンテーション・ツールの種類の一つです。ソースコードに埋め込まれているコメントからHTML形式のオンライン・ドキュメント・ブラウザを生成することができます。対応しているプログラミング言語は, C, C++, C#, Java, Python, PHPなどがあります。
防衛術の扱い方
環境構築部分は省きます。Doxygenの取り扱い方として例として簡単なC++コードを用意しました。リンク:https://github.com/ruritoBlogger/doxygen_test
生成したリファレンスはこのような感じです。
最後に
先ほどの例で挙げたような小さなプロジェクトではあまり意味をなさないですが、中規模以上のプロジェクトではきっと役に立つと思います。皆さんも是非使ってみてください!
参考文献: doxygen公式ページ http://www.doxygen.jp/