Java メソッドの呼び出し元や、メソッドが呼び出しているメソッドを木構造で表示するプラグイン。
インストール方法 (0.4.0 の場合)
アーカイブの中の dk.kamstruplinnet.callers ディレクトリをディレクトリごと eclipse/plugins の中にコピーして再起動する。
ソフトウェアのレビュー日。 最近ミーティングの調整やドキュメントの作成などばかりで、ソースコードに触れる機会がほとんどなかったので Eclipse なんか入れちゃったりしてウキウキ。
……あれ? ビルドまだ自動化してないの? いや、普通まず最初にビルド自動化しておくでしょ。configure.ac とか Makefile.am とか Makefile とか Makefile.PL とか Build.PL とか書いちゃうでしょ。 Java ならまあ build.xml とか書いとくでしょ。 make dist (相当が)できるようなターゲット書いておくでしょ。
……無いのね。Eclipse でぬくぬく書いてるのね。コード書いている間はいいよ。 でもね、節目のビルドはね、そういうのでやってね。ビルドファイルの含めているソースアーカイブもコマンド一発で作れるようにしておいてね。
はい。では、書きますよ。今回は私が。 次はちゃんと書いてね。
サンフランシスコの Moscone Center で8月14日から8月17日まで開催されている LinuxWorld Conference & Expo の Expo の方を見にいってきた。
受付にある PC に事前登録してある名前を入力し、Print ボタンを押すとカウンターの方で手続きが行われる (最初 Continue を押したら入力フォーム出てきて、「え、面倒」と思ってしまった)。
名前の印字されたプラスチックカードをホルダーに入れて首から下げ展示会場へ。
まず向かったのは .org Pavilion。
入口を入って左手奥にあるのだが、そこだけ別世界の雰囲気だ。
なんというか、だらっとしている。 企業ブースのように営業目的があるわけではないので、媚びる風がなく勝手きままだ。 そこら辺で飯食ってるし。
置いてあるパンフレットは「What is 〜?」という紹介的なもの。
聞きたいことがあれば、話かければよいのだが考えてみると特段これといってなかったりする。ぐるっとひとまわり。
Ubuntu というキーワードは何カ所かで見かけた。それなりにはやっているのか?
大きなところは、NOVEL、IBM、AMD、HP、MOTOROLA、ORACLE、INTEL あたり。 特別注目すべきところはあまり感じられなかったかな。
全体を見るとモバイル系や、Virtualization が目についた感じだ。
出る前に Debian のブースによって T シャツを買ってきた。 多少は donation になるかな?
ときたまやってくるソフトウェア開発の計画作成、今までは GanttProject を使っていたのだけれども、挙動が安定しないのと印刷機能が貧弱なのとで満足できていなかった。
ということで今回は新しいツールを使ってみることにした。チョイスしたのは TaskJuggler。
Linux 上で動くツールである。 GanttProject は Windows でも Linux でも使えるのが利点だったのだが、ここ数年の中でプロジェクトファイルを共有することも無かったので、まあ Linux だけでしか動かなくてもいいかなと。
TaskJuggler が特徴的なのは、プロジェクトをテキストファイルで記述するところである。 一般的なプロジェクトマネジメントツールは GUI 上でガントチャートを直接編集したりできるのだが、TaskJuggler はそんな軟弱者向けの機能は用意されていない。
あくまでテキストで書く。プロジェクト・リソース・タスク・レポートをテキストファイルに書く。 でコンパイルするとガントチャート等のレポートが生成される。実績もテキストで入力する。
書き方に問題があればコンパイルエラーになるし、定義したタスクの依存関係等でプロジェクト期間からはみ出てしまうような時もコンパイル時に怒られる。 渋い。
とっつきにくく見えるが、慣れると以外とそんなに難しくない。 effort と length と duration の違いが分かればあとは楽勝。
TaskJugglerUI という GUI ソフトウェアでは、補完機能の優れたエディタが内蔵されているしサイドバーのリストからタスク等を選んで、対応する行に移動することもできる。
さながら Eclipse でコードを書いているような感じ。
下手にガントチャート上でタスクをドラッグアンドドロップして、日にちを動かすよりも思った通りに定義していけるので良い。
ガントチャートについては、それなりに見やすいフォーマットの印刷物を生成してくれる。 印刷からプリンタとして「Print to File (PDF)」を選択すれば日本語も含めて問題なく PDF 化できるので、でき上がったものも配付しやすい(ここら辺は KDE 側の範疇か)。
GanttProject では PDF 出力がイマイチで結局、画像ファイルにエクスポートしてプリントアウト/配付していたのでこれは便利。
面倒な点があるとしたら、タスクに ID をつけてその ID で依存関係などを指定してあげなければいけない点か。 識別子を考えるのが面倒なのと、タスクの数が増えてきた時にその指定したい ID を探す(思い出す)のが面倒である。
あと、識別子の名前変更リファクタリング機能があればいいな (一括置換だと関係ないところまで置換してしまう可能性がある)。
ソフトウェアエンジニアには使いやすいツールだと思う。
マクロ機能やインクルード機能などもあるのでもう少し使いこんでみたい。
ちょっとした文字列構文解析関係の C++ コードを書き始めた。 C++ は随分触ってなかったので「C++ で書き直すのを考慮してそれっぽく Perl で書くから後で書き直して」と最初は言っておいたのだが、それもあんまりだと思って C++ で書くことにした。
Debian GNU/Linux 上で書くので GNU Automake + CppUnit で。 「Perl + Test::Harness」や「Java + Eclipse + JUnit」や「C# + Visual C# + NUnit」などと比べるとやっぱりタルいな。
1つメソッド書くのに、
と 4ファイル5カ所編集しなければならない。 クラス追加時には Makefile.am にヘッダファイルとソースファイルをテストケース用のと含めて4ファイル書き加える必要があるし。
あー面倒。
でも C++ で書き始めると楽しいんだよなあ。
ソースコードに To Do タスクを埋め込むのにどの形式が良さそげか調査。
トークンとして "TODO" が登録済み。 大文字小文字を区別する。 コメントの先頭に TODO がある必要がある。 この設定の時に @TODO と書いても認識しない。
トークンには @ 文字を設定できない。
テキストとして "TODO" が登録済み。 大文字小文字を区別する。 コメントの先頭でなくても良い。
この設定の時に @TODO と書いても認識しない。
IDE じゃないけど。 ドキュメンテーションコメント中に \todo または @todo。 \TODO や @TODO は駄目。
コメントの先頭に TODO を書くという書式で統一しておくのが良さそげ。
Visual Studio 2005 がコメントの先頭以外でも認識してくれるのなら
/** @todo TODO 説明 */
としておけば、ちょっと冗長だけれど doxygen にも認識させられるのなあと思ったり。
しばらく前に途中までやったんだけれど、何もしないうちにバージョンが上がったので最新版をダウンロードして入れ直し。 以下作業メモ。
マインドマップを書く時、最近は(といってもしばらく書いてないけど) iPad 用の iThoughtsHD を使ってる。直感的に使えるしエクスポート結果も綺麗だし、クラウド連携も良くできてる。
ただ難点があって iPad 2 が手元に無い時は使えない。PC だとたまに FreeMind とか使ってたけどちょっと表現や出力がモダンじゃなくて高まらないので、別のを探してみることにした。
XMind をチョイス。
Eclipse ベースなので見た目も綺麗だ。気にいった点はマトリクスが書けること。多次元マインドマップツールとまではいかないけれど、表が書けて、別のツリーからその表上のトピックに関連線をつけられる! ひゃっほー。こういう図が書きたかったのよという感じ。
フリーだと PDF 出力が無いのはちょっと惜しい。Gantt View も使える XMind Pro 2012 が気になるんだけれど $99 なんだよねぇ。ちょっと高い。でも PDF 出力のためだけに $79 の XMind Plus 2012 のライセンス買うのものなあ。しばらくはフリーで使い込んでみよう。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。