
88
6
章 性格・知能・専門性がソフトウェア開発に及ぼす影響
して調整されています。知能や性格と同様、
1
人の受験者は、同じテストを受けた他の人たち全体と比
べて相対的に評価されることになります。ただし、知能や性格とは異なり、プログラミングスキルは優
秀なプログラマを採用し、雇用し続けることに直接関係しています。
プログラミング効率
次に、プログラミング効率が良いとはどういう意味でしょうか?
明らかに、コードの品質は基準の
1
つです。コードの話となれば、「品質が良い」が意味するものについては、もちろん尽きない議論のテー
マです。作業サンプルテスト以外に、明快でエビデンスにも基づくような品質の尺度として、機能の正
しさ、継承の深さなど複数のものがあります。別の基準として、作成に要した時間があります。よい品
質のコードをできるだけ短い時間で得たいわけですから。そして、この
2
つの基準が相反していて、よ
り品質の高いコードを作るにはより多くの時間が掛かるであろうと予期するかもし
れません。しかしそ
れは必ずしも真実ではありません[
Arisholm and Sjøberg 2004
]、[
Bergersen 2010b
]。ある種のプロ
グラミングタスクに関しては、あるプログラマはそれが「分かる」か「分からない」かのいずれかであり、
「分かる」ならば「すぐに」分かるものです。しかし、また別の種類のプログラミングタスクでは、作業
に時間を掛けるほど、よい解法が作れるものもあります。ですから、取り組んでいるタスクがこの点に
おいてどちらの種類なのか知ることが重要です。 ...