noob log.

組み込みSE兼プログラマの備忘録。

プログラマが知るべき97のこと まとめ 11

まとめ記事続きです。

個々のエッセイはクリエイティブ・コモンズでライセンスされています。

 

78.テストは夜間と週末に
実行に時間がかかるテストや、パフォーマンステストを行うなら夜間と週末に実行するとよいでしょう。
重要度の高いテストプロファイルを小さくしてコミット前に実行するようにし、全てのテストプロファイルを夜間に自動的に実行できるようにしておけば、日中の時間をテストに削られることなく結果を得ることができます。
パフォーマンステストやメモリリークテストを週末に実行するようにすれば、平日より長い時間が取れ、他チームを邪魔することもありません。
順列組合せを変えながらテストを行う必要がある場合は、cronなどのスケジューリングツールを使用すれば自動化できます。

 

79.テストのないソフトウェア開発はあり得ない
ソフトウェア開発は土木建築に例えられることがありますが、根本的に異なる点がいくつもあります。
土木建築では、構造学、物理学を使うことでかなりの精度でどういうものになるか分かるようになっています。
ソフトウェア開発では、そういった学問を使うことができないので、テストをする他に品質を保証する手段は有りません。
テストをしさえすれば十分ということは有りませんが、まず、テストをしないことには話になりません。
テストは、ソフトウェア開発の中でも特に難しく、そして重要な部分と言っていいでしょう。

 

81.エラーがエラーを相殺してしまう
バグがバグを相殺してしまい、表面上は問題なく動いてしまうことがあります。
小さい問題を放置し、後回しにしたばかりに、後々になって大きな問題の原因となり、袋小路に入ってしまうことは珍しくありません。
複数の原因がある問題については、こうすればよいというような簡単な解決策はありません。
まず大切なのは、そういう問題が存在すると認識することです。

 

82.他者への思いやりを意識したコーディング
プログラムは自分一人の為だけでなく、他者にも影響を与えることを忘れてはいけません。
自分が質の悪いコードを書いたばかりに、そのコードを利用した他のプログラムの質も悪くなってしまいます。
自分のコードは既に質が高いと思っていても、他のプログラマの存在を意識すれば、より良くなります。
質の良いコードを書けば、巡り巡って自分に返ってきます。
プログラマが他の人への思いやりを持たずにコーディングすることは有りえない、ということを忘れてはならないのです。

 

84.正しいアルゴリズムとデータ構造を選ぶ
適切なアルゴリズムとデータ構造を選択し、使用することで、パフォーマンスを大きく引き上げることができます。
既存のライブラリを使用するだけでなく、それに対して十分な知識を得ることで、一般的には良くないとされているアルゴリズムでも、他のアルゴリズムを使用するよりパフォーマンスを高くすることもできます。
どんな道具にもそれに合った使い道というのはあるのです。

created by Randy_Hoo.