他人からもらったプログラムはちゃんと自分でも確認しよう

この投稿は、極々当たり前のことについて述べています。
できている人は、「なんだ、そんなことか」と思われることでしょう。
残念な私は、残念ながらできていなかったことです。
それは、「他人からもらったプログラムはちゃんと自分でも確認しよう」ということです。

動作確認は自分でもしよう

開発をしていると、他の人が作ったプログラムを使うことがあります。
それは、同じチーム内のメンバーから貰ったライブラリファイルかもしれないし、他のプロジェクトの実行形式ファイルかもしれません。クラスファイルをもらうかもしれません。
その人は「動作テスト済みだから組み込めば動くよ」と言ってくれました。
私は、さっそく自分のプロジェクトに組み込もうとするでしょう。
だけど私はここで少し冷静になるべきなのです。
すぐに自分のプロジェクトに組み込んでチェックインしてはいけません。
もらった資産を、必ず自分でテストをして、動作確認をする必要があるからです。

動かない原因

私の経験上、他の人からもらったプログラムが自分のプロジェクトで問題になる確率は5割以上です。
これは、他の人が無能だから、という意味ではありません。(むしろ私の周りの人は優秀な人が多いです。)
その原因は、他の人は自分のプロジェクトの環境を完璧に知っているわけではないからです。
例えば、設定ファイルが思わぬところにあるかもしれません。またあるいは、私のプロジェクトのディレクトリ構成が想定外かもしれません。ネットワークに接続できない環境でも、私のプロジェクトは正常に動くかもしれません。
他の人から貰ったプログラムが動作しない原因のほとんどは、「プログラムを作った他プロジェクトの人が、自分のプロジェクトの環境を知らない」せいです。

知らないことは罪ではない

ここで大切なのは、たとえ他の人からもらったライブラリがエラーを出しても、感情的になってはいけないということです。
その理由は上記の通りです。すべての環境を想定できる人間など、ほとんどいないのです。
「私のプロジェクトの環境では、うまく動かない」ということを正直に伝え、解決してもらいましょう。
だいたいは、その資産を修正することになるでしょう。たまに、自分のプロジェクトの環境を変える必要があるかもしれません。

自分も同じこと

ここまでは、他の人から資産をもらうことを話してきました。しかし、逆の立場になったらどうでしょうか。他の人の環境を完璧に把握するということが、どれだけ大変かが理解できると思います。実際、私も問題を何度も起こしています。

まとめ

この投稿では、「他人からもらったプログラムはちゃんと自分でも確認しよう」という、当たり前のことについて述べました。
私は、当たり前のことが、当たり前にできる技術者を目指しています。
こういう小さなことでも、ないがしろにせず、一つ一つを大切にしていきたいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax