軸 | 概要 |
---|---|
実行速度 | 処理をどの程度高速に行えるか。 これが低いと処理落ちが起こりやすくなる。 ゲームプログラムにおいては最も重要な軸。 この軸を向上する技法にはその他の全ての軸を低下させる技法が多い。 |
メモリ効率 | メモリをどの程度効率的に扱えるか。 これが低いとメモリ消費が増大し、メモリ不足になりやすくなる。 最近はPCのメモリ搭載量が大きくなり軽視されがちだが、 Windowsの32bitアプリケーションでは1プロセスあたり2GBまでしかメモリを使用できないため、 メモリ不足でクラッシュするアプリケーションは増加傾向にある。 この軸を向上する技法には難しいものが多く、特に保守性、可読性、安定性を低下させる技法が多い。 |
保守性 | バグの発見や修正の容易さ。 これが低いとバグの原因特定や修正が難しくなる。 修正を繰り返してもバグがなくならないような場合、これが致命的に低い可能性がある。 最近はPCの性能に余裕があるため、可読性、拡張性と合わせて重視項目として選ばれやすい。 特性としては可読性、拡張性、安定性と連動しやすく、設計時点で大枠の値が決まる。 |
可読性 | プログラムの理解のしやすさ。 これが低いとプログラムの理解が難しくなる。 自分で書いたコードがわからなくなるような場合、これが不足している可能性が高い。 最近はPCの性能に余裕があるため、保守性、拡張性と合わせて重視項目として選ばれやすい。 特性としては保守性、拡張性と連動しやすく、設計時点で大枠の値が決まる。 |
拡張性 | プログラムの仕様変更、機能拡張のしやすさ。 これが低いと仕様変更や機能拡張が難しくなり、 一定水準に満たない場合、仕様変更や機能拡張時に保守性や可読性が低下するようになる。 いじるほどプログラムがぐちゃぐちゃになっていく場合、これが不足している可能性が高い。 設計時点で大枠の値が決まってしまうため、このような場合はプログラム全体を作り直した方が良い。 最近はPCの性能に余裕があるため、保守性、可読性と合わせて重視項目として選ばれやすい。 特性としては保守性、可読性と連動しやすく、設計時点で大枠の値が決まる。 |
安定性 | プログラムの異常耐性。 これが高いと異常が発生した時に影響を受けにくくなる。 異常状態への対処は正規の処理手順よりも複雑な場合が多く、 これを高めるには高い技術力が必要となる。 この軸を向上させる技法は可読性を低下させる技法が多い。 |
セキュリティ | プログラムのセキュリティレベル。 これが低いと細工した入力によって不正な操作が行われやすくなる。 ネットワーク通信を扱うプログラムでは特に重要な軸。 これを高めるには入力データの流れを正確に追う解析力や適切に穴を塞ぐ技術力が必要になる。 この軸を考慮した場合、スクリプト言語によくあるeval関数など、 「できることが多すぎる機能」は非常に使いづらい。 |