こんにちは。いかがお過ごしですか。そうDEATHか。
今回は、私が普段ITシステム開発で使っているWindowsアプリ(ツール)を紹介します。ここに載せているツールは、全部無料で使えます。
定番のエディタです。サクラエディタのいいところは、拡張子に応じてキーワードの色を変えてくれるところと、grep(複数のファイルからキーワード検索する)が強力なところです。grepからのタグジャンプ(検索結果から、該当ファイルの該当行へ飛ぶこと)ができるので、Visual Studioを使って開発しているとしてもgrepツールとして導入しておくと重宝します。Visual Studioの検索は表示領域がせまいので、サクラエディタの方が使いやすいのです。
ファイルの差分を検出してくれるツールです。ITシステム開発は、新規開発より変更開発の方が圧倒的に多いです。新規開発は初めての開発、変更開発は過去に開発したものの変更です。数十年変更開発を重ねることも珍しくありません。経営者にとって、今あるシステムを捨てて新しくシステムを開発するというのはそれほど勇気の要ることなのですね。
変更開発においては、バグ(プログラム上のミス)を混入させないためには、どのファイルにどういう変更を入れたかが重要になります。そこで、差分検出ツールの出番です。変更前のファイルと変更後のファイルを比較すれば、どこにどういう変更を入れたかがわかります。この図は左のファイルと右のファイルを比較しています。変更されたところがオレンジで塗られたところです。灰色は記述がない(追記される前)ことを表します。
WinMergeはそれだけではなくて、「マージ」ができます。差分を取った結果、その差分を活かす(正しい)か殺す(誤り)かです。左側のファイルを残すとすると、右側のファイルの差分の正しいところを左側に適用し、正しくないところは適用しない。そうすることによって細心の注意を払いながら、左側のファイルを更新することができます。
セブンジップと読みます。ファイル・フォルダの圧縮・展開ツールです。インストールすると、エクスプローラに統合されるので、圧縮したいファイル・フォルダを右クリックし「圧縮」を選びます。
ファイル名や圧縮方法をこのダイアログで指定します。パスワードをかけたかったら、パスワード欄に記入します。展開するときも、展開したいファイルを右クリックして「7-Zip>ここに展開」するだけです。簡単です。tarやgzなどUNIX系ファイルにも対応しているので便利です。
これも昔からある、画像処理ツールの定番です。作者のIrfan Skijanさんはボスニア出身です。世界的に有名なツールで、これを知らないIT技術者はモグリです。とまでは言いませんが、きっと若いんでしょうね。私は20年以上前から使っています。IrfanViewのいいところは、画像をBMP/PNG/JPG/GIF/TIFFなどの形式変換ができることと、矩形キャプチャができることです。また、画像品質を%で指定できるので、ネットに負荷をかけないために品質を落としてファイルサイズを小さくすることもできます。私は普段なるべくJPGの保存品質を80%にするよう心掛けています。
モザイクをかけたり、セピアにしたり油絵風にしたり等の画像効果を与えることもできます。
Bzはバイナリエディタです。ファイルの十六進ダンプを取ることができます。編集と保存もできます。Linuxでのodコマンドに該当します(ただしodコマンドはダンプを取ることしかできない)。十六進ダンプとは、ファイルの中身を1バイトずつ十六進数で表現したものです。一般的に、16バイトを横に表示し対応するASCII文字を表示したら改行します。左側に表示されているのは、先頭アドレス0000:0000からの相対アドレスです。
通常、データファイルとしてXMLやCSV、Jsonなどのテキストファイルを使う業務ではバイナリエディタの出番はほとんどありません。ですが、テキストファイルでも改行コードに何が出力されているかなどは調べることがあるでしょう。0d 0aなのかそうでないのか。バイナリエディタはバイナリデータを扱う低レイヤの業務で使われることが多いです。
ソースファイルのステップ数を数えます。
ステップ数の測定は、生産性と品質の測定のために使用します。開発プロジェクトのプロジェクトマネジャーは、各担当者にステップ数の測定を依頼します。担当者は、Blue Step Counterなどのツールを使って、自分が作ったプログラムのステップ数を測定してプロジェクトマネジャーに報告します。開発は新規開発はめったにないので、変更前のステップ数と変更後のステップ数を比較して|変更量|を求めます。測定結果は、担当者の力量の把握やまだバグが潜んでいないかの分析などに使用します。10ステップの変更なのにバグが10件もあったら、作り手の力量不足が疑われます。しかし、その作り手が参照していた設計書がちゃんと仕様を細かく記述していなかったせいかもしれません。そのようにして原因を分析し、対策を取ります。
補足しますと、ステップ数には全ステップ数と実効ステップ数があります。全ステップ数はコメントや空行も含めたステップ数で、実効ステップ数はコメント・空行を除いた有効なステップ数です。コメント率は全ステップ数におけるコメント行数の割合です。
いかがでしたか。少しは、ツールとその背景となるITシステム開発のイメージが湧きましたでしょうか。よければ感想をお聞かせください。
以上