5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

パッケージソフトウェア開発Advent Calendar 2014

Day 20

絶望とともに学ぶパッケージソフトウェア開発

Posted at

まず、パッケージソフトウェアの開発について、大変役立つ書籍 があるので紹介する。その本の冒頭には次のようにかかれている。

完璧な文章などといったものは存在しない。完璧な絶望が存在しないようにね。

初めてこの小説の冒頭部分を読んだ時に、たいして感慨を持ったおぼえはない。しかし、パッケージソフトウェアの開発に関わることになって数年が立った時、この文章がリアリティを伴って感じられるようになり、しだいに開発者がパッケージソフトウェアに関わるときの苦悩が延々と書かれている文章としか思えないようになった。
なによりも、ここに引用したように、この小説は絶望についての記述で始まる。

絶望?

なぜ絶望のはなしから始めるのか。

パッケージソフトウェアがリリースされ、それからバグが出ると、開発者が絶望するからだ。

このリリース後のパッケージソフトウェアにバグが出た時ほどの絶望は、他に思いつかない。なぜそれほどに絶望が深いのかといろいろ考えてきたが、まあパッケージソフトウェアが、リリースされた後に修正できないせいであろう。
パッケージソフトウェアはCDないしDVDで出荷されてたくさんのPCやなんかにインストールされてしまう。それらに配られたものを直接修正することはできない。

本当は、パッケージソフトウェアのバグを根絶する方法を紹介できたらよかったのだが、それはやはりできない。

バグのあるパッケージソフトウェアに対してできること

バグが出た時は絶望するしかないが、数分休めばデバッグができるようになる、そうすると修正版をリリースできるようになる。

ビルドプロセス

Visual Studio でできるビルド設定の種類

というわけで、せめてビルド設定を行って少しでも修正版のリリースを簡易にしようというのが本題だ。

リリースするモジュールの作成には手間がかかるし、ミスがあると不具合に直結する。CD-ROMなどにパッケージされてリリースされるソフトウェアともなれば、そのCD-ROMの構成にファイルを配置するのに丸一日作業することだってあり得る。

で、例としてはVisual Studio 2013になるが、ビルドプロセスの設定としては、いくつか選択肢がある。

1. IDEを使用する

  • なにより簡単
  • 多少カスタマイズできる

2. MSBuild コマンドライン

  • 細かい設定やカスタマイズができる

3. Team Foundation ビルド

  • 便利らしい

IDEでのビルド設定

このなかで、多少とも説明できるのはIDE上での設定なので、それについて説明する。

①ビルド構成の追加

構成マネージャーから、新規作成で構成を追加できる。

kobito.1418478449.234630.png

②出力先の変更

プロジェクトのプロパティにて

kobito.1418478631.123685.png

ここで出力先が追加できるので、複数のソリューションがある場合は、リリースされるメディアの構成に沿った形で出力されるようにする。

③いらないファイルをでなくする。

pdbファイルが出力されないようにするには

プロジェクトのプロパティ > ビルド > 出力 から
詳細設定を選ぶ。

kobito.1418478827.129967.png

それで、出力 > デバッグ情報を none にする。

kobito.1418479058.512496.png

vshost.exe が出力されないようにするには

プロジェクトのプロパティ > デバッグ > デバッガーを有効にする で、
Visual Studio ホスティング プロセスを有効にする のチェックを外す。
kobito.1418481799.265263.png

④Debugフォルダのファイルをコピーする

たまに、Debugフォルダにいれて使っていたファイル(なんかDLLとか)をそのままリリースするディレクトリに移したい時があると思われるので、
プロジェクトのプロパティ > ビルドイベントにて設定する。
kobito.1418482659.268663.png

最後に

バグのないソフトウェアが存在しないなら、バグを恐れて心労を重ねるのも無意味であるように思える。
バグは必ずあるし、心労は品質に寄与しないしないからだ。

でも、CD-ROMが早く焼ければそれは意味がある。
何度でも焼けばそれでいいことなのだ。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?