IDEやエディタに求める機能
プログラミングをする際に必ずお世話になるのがIDEやエディタです。
IDE(VisualStudioやIntelliJ IDEAなど)もエディタ(VSCode, ATOM, vim, Emacs)なども、様々なプログラミング言語で文法による色分け表示や定義にジャンプできるのは当たり前です。
IDEであれば、リファクタリングの補助やパフォーマンス解析やデータベース管理、ソース管理との統合などの含まれていますが、
ここでは、その他に僕が欲しい機能を列挙します。
コードに付箋を貼り付けたい
エディタで表示されているコードのある部分に対して、矢印を引っ張った付箋を貼り付け「この部分はXXXなので注意」「この部分の仕様」などなど付箋を貼りたいです。
コメントよりもわかりやすくなるのではないかと思います。
これらのデータを保存するために、コメント部分を活用するのか別にソースファイルと対になるデータファイルを管理するかなど、実装方法は工夫する必要がありますが、ぜひ欲しいです。
コードに図形を書きたい
コードを書くテキストエディタとPlantUMLやMermaidと統合されて自由に図形を描きたいです。
常に表示されていたらそれはそれでウザそうなので、カーソルを合わせたらポップアップするようなのがいいでしょうか。
(Mermaidでもまだ図形描画という点では弱いので本当はVISIOなんかが貼り付けられればいいのですがそれは高望みしすぎだと思います。)
コードを自由に色分けしたい
今でもプログラミング言語の文法に応じて自動で色分けされますが、それに上書きする形で自分で色を変えたり下線を引いたりしたいです。
上の2つと同じようなものですね。
演算子の優先順位を視覚的にわかるようにして欲しい
様々なプログラミング言語でだいたい同じですが演算子の優先順位はすぐに忘れてしまいます。
僕の場合は記憶が曖昧な部分は括弧を多用しますが、コードが冗長になってしまいます。
目で見て優先順位が判断できれば便利だと思います。
入れ子になった色分けや枠で囲うなどどう表示すればわかりやすいのかあまり考えていませんが、演算子の優先順位を視覚的に知りたいです。
コンパイルエラー発生時の途中経過が知りたい
新しいコンパイラ(clangやrustcなど)は、コンパイルエラーが発生した時のメッセージがかなりわかりやすくなりそれだけでも大助かりです。
ただ、それでもエラー発生箇所がわかりにくい場合が多々あります。
そこで、構文エラーや型エラーの際にコンパイラがどう解析してエラーになったのかがわかるように、そこまでの途中経過の構文解析木のようなものを表示して欲しいです。
実行結果を表示して欲しい
大規模なソフトウェアになると自動テストやステージング環境でのテストではどうしても本番環境での動作を再現できないことが増えてきます。
他社ベンダのソフトウェアとたくさん連携したり、社内の環境で再現するのは不可能なほどの負荷がかかったり、あらかじめ自動で生成するのが難しい複雑なパターンのデータが発生したり…
仕事の話になりますが、最近では仕様やコードの誤りによる障害というのはほぼ発生しなくて、本番環境でのみ発生する負荷や他社ソフトウェアからの要求、ある国が休日だった…などなど、環境による障害が多いです。
「うぉ!本番だとこんなことが起きるの!?」の連続です。
その解消に役に立つと思っているのですが、本番環境などで実際に動かした際の情報を記録し、コード上に引数のパターンや呼び出し回数などを表示してほしいです。
実際には数千万、数億回呼ばれるわけなので、何をどう記録してどう表示するんだという難問ではあります。
以上、言い出しっぺの法則が適用されないただのメモです。