desktop.ini Manager v4.0完成

メイン画面はフォルダー走査とソリューション解析を実施しながらファイル検索に対応

比較画面では画像も含む差分リストを表示

DIFF VIEWで画像も含む差異ファイルの比較で、差分のみ、全行の切替に対応

GREPは、コード、テキストGREPとEXCEL、PDFのGREPを実施

コードGREPとEXCEL/PDF GREPはあえて分離した。

元々、desktop.iniを編集して、フォルダーアイコンを変えて、ソリューションの開発を視覚的にどこのフォルダーになんのファイルを入れているか等を想定して開発を始めたが、出来上がったら全く別物になってしまった。

結局DIM(DesktopIniManager)を設計、開発するにあたり既にある優秀なBeyond CompareやWinMergeなどの開発支援ツールやVS-CODE等のMergeやGREPの統合開発エディターを使うのを辞めたわけでは無いが、既存のツールの1割も使いこなせていないので、その1割を纏めたのがDIMになった

フリーランスを長く続けていると、現場ではどの企業もNASに細かくわけた深い階層のフォルダーに資料を置き、「どこに、何があるから分からなければそこ見て」と言われ即実践、即戦力になることを期待されているわけだが、そうわ言っても、巨大な階層に並んだフォルダー、企業毎の暗黙知を探りながらのみ込むには、調味料が必要だった。

と言う事でDIMの誕生だが、インストーラーはあえて作らず、ZIPを解凍すれば即実行出来る方が色々な制約のある中で使いやすいツールにしてある。

アンインストールも現場を去るとき、フォルダー削除するだけでゴミは残さない設計にした。

紹介用のWEBページはここを見てくれればダウンロード先のリンクも貼っている

このDIMで一番、設計が気に入ったのは、DIFF VIEWで、差分ファイルを見る際、リストとVIEWの行き来で集中力をそぐことなく、DIFF VIEWのまま、次の差分ファイルを取り込むスタイルにした

それに、もう一つはGREPに拘った。

一般的なGREPは1つのキーワードでそのリストが作成されるわけだが、DIMのGREPは前の結果をそのままに次の結果を追加する他にはない追加GREPになっている。

「他にはない」とわざと書いたのは、実は前回の結果の下に、どんどん追加するGREPはいくらでも有るのは知っている。

DIMは追加の仕方が違い、結果のファイルをグループ化していて、次の結果が前回の結果と同一のファイルなら、そのグループ内に追記していくIntelligence Addにしている。

Textベースの結果だと、そう言うインサートはやりにくいが、UIグリッドを使って結果を出力していると、そう言う事があっさり出来てしまう、使って見るとどれだけ便利かは解るだろう。

そして、これは以外だったが、ZIPファイルで差分などを共有する際、空フォルダーで同じ様に構成を作って、そこにファイルをいれて、ルートを構造を維持してZIP化すると思う。

これがフォルダーやファイルをチェックしてそのままの構成でZIP化する様なツールを、結構さがしてみたんだが、見つからなかった

DIMはフォルダーツリーやファイルリストの必要なファイルだけをチェックしてZIP化ボタンを押せば空フォルダーを作る事無くあっさり作成出来るので開発者に喜んでもらえるのではないかと思っている。

開発にあたり、ファイルの回帰処理などツリー構造を作成する必要があり、簡単にはエクスプローラーを模倣するような作りが必要だと思ったり、フォルダー比較で万単位のファイル比較は時間がかかるものだと言う認識だったが、そこを色々調べると良いAPIがある事をしりそのAPIを駆使して速度的にも既存の優秀なツールに負けず劣らずの快適な速度で処理出来ていると思う。

このアプリはAIコーディングを駆使して書いたが、実践して思ったのは、AIコーディングは設計次第

今、バイブコーディングと言われているわけだが、それだけでは恐らくDIMは開発出来ないだろう

簡単に言うと、今、お手軽にだれでもパソコンで絵が描ける時代だが、誰もがプロのイラストレーターの様な目をひくような絵が描けない延長にAIコーディングがあるのだろう。

もっと言うと、同じ包丁と言う道具で、調理をしたところで、材料は同じなのに、出来上がる料理は同じではないが、家庭料理には家庭料理の味があり、できあがりに差があったとしても、自分で作って自分で食べるなら多少焦げてても問題ないが、店で提供となるとそういうわけには行かないのと同義だ

ただ、バイブコーディングでどう言う物まで出来るかを探りながら独学しながら高みを目指すことは誰にも迷惑をかけないわけで、どんどんAIコーディングを楽しむべきだろう

このツールは、かなり削っている。

GREPでは、EXCELとPDFのGREPは出来るがWORDとかPowerPointなどは見ない

別にOFFICE系のGREPとして作る事も出来るが、今の現場ではWORDの仕様書はなく、ExcelかPDFしかないので、限定したし、オプションとしても選択する事そのものがノイズなので固定にした。

汎用性は一切配慮せず、自分自身の作業効率に特化して完成させた。

汎用的に作る方法を想定してはいるが、DIFF VIEWでもマージ機能は実装していない。

色々と考えるのではなく、まず、やりたい事に特化して作ってしまえば後はいくらでも付けたし出来るのがソフトウェアではあるが、そうかといって、後で修正しやすいように構造的に設計することが重要

AIコーディングは設計に忠実なので、矛盾なく、綺麗な設計を書けばきっちりそれに沿ってコードを吐いてくれる

新しい関数や言語を覚える必要も無い、あくまでも設計を重視した方がいいだろうな。

コメント