技術関連の覚書

案件でやったり自宅で試したことの覚書

仕事効率化の追記

意外と知りたい人が多かったようなので、追加しておきます。

コマンドラインの再利用

コマンドラインはコマンドを打って実行するのですが、Windowsならbat,cmdファイル、(Powershellはあまり知りません) UNIX系ならばシェルファイルにしておいてこれを実行できる事は知ってる人は多いです。

それを再利用するためにどうしたらいいかを知らない人が意外にいました。

プログラムでもimportしたりすることで別に作ったモジュールの利用ができるようにバッチファイルやシェルファイルでもできます。

バッチファイルならcall バッチ,bash系なら. シェルファイル といった書き方で読み込めます。[c-shellはどうだったかな….]

エディタのマクロなどでも外部ファイルを読み込む仕組みがある物もあるのでそれを使って再利用する工夫をするとプログラミングでも何を共通化することで再利用しやすい作りを考える習慣が身につくと思います。

Excelドキュメント

業務上、なんでもExcel(個人的には嫌いですが)というところが多いです。

仕事なので使わざるを得ないこともありますが、マクロやVBAにするよりもJavaのPOIを使ったり、RubyならRubyXLなど(こちらは使った事ないですが)開発メンバーなら使える言語で作るという方法もあります。

このメリットは、VBAExcelにくっついてしまってるためソースがバイナリになります。 バージョン管理ツールを使ってもTortoiseSVNでセルの差分は見ることができますが、マクロやVBAは見ることができません。

ソース管理の上でもVBAよりメンテナンス性があると思います。(外部ファイルに展開してしまうと整合性の保証の問題が発生します)

また、VBAの場合はそのExcelを開く必要がありますが、Javaならjarを実行すればExcelを開かずに実行できます。 それに、JavaとかRubyはテストフレームワークもあるのでテストもできるし。

案件ごとに使う言語が違うにしてもその言語とVBAを知っている人でなく、その言語がわかれば作れたり直せたりするはずなので、そのVBAを作った人がいなくなって直せなくなったということもないかと思います。 VBAって、複雑になりがちなので。

最後に

業務上、どうしてもこっちのツールを使った方が(backlogとかRedmineでなくExcel管理表みたいに)と思う事や、こう作った方がもっとコーディング量減るのにとかがあってもそれに従わないといけないことも少なくありません。

だから、制限があってもできる範囲で工夫すると終電帰りから終電1時間前くらいまでの短縮にはなることもあります。

手作業よりは、ツールを使うことで早くなるし、ツールがなければあるもので作ると言うのは有効な手段です。 ミスも減りますしね。

作る時間はかかるけれども、使う時間は瞬時で終わるので、使いつづけるものを作ることは最終的には時間の短縮になります。