Return to Blog Homepage

マインドマップ、コーディングをもっと効率に

blog image

マインドマップ、コーディングをもっと効率に

image

ソフトウェア開発者であり、有名なプログラミング雑誌の編集者でもあるAndrewは、セキュアでクオリティの高いコードを提供するために、コーディング中にメモを取ることのメリットについてよく話してきました。彼は、コーディング中に観察したことややるべきことを構造化された文書に記録することで、プロジェクトにおける自分の位置と進むべき方法を把握することができると考えています。Andrewは、様々な方法でメモを取ることを試してきましたが、マインドマップが一番良いソリユーションであることを発見しました。彼は、マインドマップに作業中のプロジェクトの一部をレイアウトし、メモやToDoタスクで装飾することで、簡単に見つけることができるのです。

この方法によって、精神的なパーソナルスペースを確保し、作業中のコードに集中できるようになったと同時に、必要な文脈的な情報も失われなくなったという経験をしてます。また、次のインタビューでは、コードを分析する際にもメンタルマップを使用していることを紹介しています。


あなたのことを簡単に教えていただけますか?

過去5年間、私はJava Magazine(オラクル社)の編集者を務めてきました。それ以前は、Dr. Dobb's Journalの編集長を務めており、更に以前からは、数多くのプログラミング出版物の編集長を務めてきました。ソフトウェア開発者としてキャリアをスタートし、現在でも副業としてプログラミングを続けながら、オープンソースプロジェクトへの貢献や自身のプロジェクトに取り組むことで、自身の技術力を向上させています。

私の経験を通じて、プログラマーとしてのスキルや知識の向上に努めており、プログラミング界隈で活躍する人々とのつながりも大切にしています。

趣味は何ですか?

私、ピアノの勉強をしていますが、プログラミングと比べるとはるかに難しいと感じています。ピアノのエキスパートになるためには、険しい道のりが待っていると感じます。一方、多くのプログラマーは自分のスキルを過信しがちだと思います。私もそうですが、古いコードを見て「こんなの書けるわけがない」と思うことがあります。しかし、ピアノには謙虚さが必要です。学ぶべきことが多くて、偉大なピアニストのレベルに達することは容易ではないことを常に意識しています。さて、話は変わりますが、マインドマップは私が日々行っている2つの異なる分野での活動において、とても役立っています。

⒈自分自身や家族、友人とのタスクやプロジェクトのブレーンストーミング;

⒉プログラミング:後述するように、マインドマップはソフトウェア開発における3つの主要な目的のために使用しています。

Xmindを使い始めてどのくらいになりますか?

6、7年前からでしょうか、もっと長いかもしれません。

Xmindをコーディングに使うというのは、開発者にとっては普通ではないですが、どのように思いついたのでしょうか?

もともとは、ケント・ベック(アジャイルマニフェストの起草者の一人)が、プログラミングをするときに下す決定をすべて記録しておくとよい習慣になると提案したことがきっかけです。(例えば:"この変数の最大値は70にしよう"、 "ユーザーが注文時に端数を入力できるようにしよう "といった重要なものから、"この新しいコードをカバーするために統合テストを拡張する必要がある"といったメモなど)

このような重要な決定事項は、ただ書き留めるだけでは不十分だと気づきました。しかし、プロジェクトのタスクやデフェクトトラッカーに書き込むのはやりすぎかなと思いました。そこで、私は自分が取り組んでいるプロジェクトの一部分をマインドマップで整理し、そのマインドマップに関連するメモや細かい決定事項を書き加えることにしました。マインドマップを使うと、メモをすぐに見つけて他の作業と同時に確認することができるので、非常に便利だと感じました

また、機能の設計に取り組む際にも、マインドマップを使用しています。まず、新機能を中心トピックとして、サブ機能を枝分かれさせ、その枝に決定事項や、実装上の注意点、リマインダー、場合によってはオブジェクトやメソッドの名前案などを付けます。こうすることで、1行も書かないうちにコードについて詳しく考えることができるのです。多くの場合、いくつかのメソッドを含むブランチを別のブランチに移動させます。これにより、簡単に変更することができ、コードを書き始めるときに、自分がどこに向かっているのかをより確信することができるのです。

新機能ケース:既存のツールにHTMLを追加

image

最近、慣れないコードを読む際にマインドマップを使うようになりました。ほとんどのプログラムは階層化アーキテクチャを持っていますが、これは意外とマインドマップで表現するのに適していることが気づきました。例えば、iText7というライブラリの解析をする時に使う事例があります。このような事例はあまり見かけませんが、実用的だと思います。

マインドマップを使うことで、自分がどこにいて、どのようにして現在の箇所に至ったかを確認することができます。道筋が見えるため、後で参照できるようなドキュメントも作成することができます。つまり、マインドマップを使うことで、プログラムのコードを効果的に読み解くことができるようになりました。

image

Xmindには、お気に入りの機能がありますか?その理由は何ですか?

正直に言うと、Xmindの使い勝手がとても良いと思っています。マインドマップを使って、アイデアを整理しやすいです。時間に余裕がないときでも、スムーズに作業を進めることができます。

また、生産性をどうすれば維持しますか?生産性向上アプリを使っていますか?

私はこのトピックについて、多くの論説を読んできました。気が散る要因を排除することや、優れたツールを使用すること、クラシック音楽を聴くことなどが生産性向上に効果的だと思います。

コーヒーか紅茶か?

朝はコーヒーで元気を出します。それから一日中ずっと紅茶です。他のバイナリーオプションについて: 猫より犬、タブよりスペース、ワーグナーよりブラームス、マネよりモ。

写真提供:ボブ・アドラー

Xmindを無料でお試し
Xmindを無料でお試し
当社は、お客様へのサービスの提供、向上および宣伝などの用途でクッキーを使用しております。第三者へのデータの漏洩や販売などの行為は一切行いません。本サービスの利用を継続する場合、当社のプライバシーポリシーに同意したものとみなされます。