2009-04-01から1ヶ月間の記事一覧
1) オブジェクトの生成(取得)回数を減らす。 1-1) 生成(取得)後、変更されることのないオブジェクトは一度だけ生成 (取得)する。 1-1-1) 複数のメソッドで利用され、そのオブジェクトの生成が 所属するクラスのプロパティに左右されない場合、 クラス(静的)…
「ヒープ領域」「スタック領域」といっても結局、物理メモリ上の領域に対して VM等で役割毎に適切なデータ構造を割当て、物理メモリ上の領域を分割し、 分割したメモリ領域をデータ構造毎に呼んでいるだけ、結局は同じ物理メモリ上。
優秀なエンジニアは拡張性・保守性と処理速度を上手く両立させます。 拡張性や保守性のために処理速度を犠牲にするエンジニアは優秀な エンジニアとは呼べません。
短いロジック(少ない手数)で、求める結果(=最大の効果)を得ること。 ロジックが短いとは、表面上の短さでなくそのロジックで行われる処理 の総量が少ないことを指します。 短いロジックはロジックの実行に要する時間が短い、即ち、処理速度が 速い。 何もし…
細かいところは間違っているかもしれないが、おおよそ次のとおり。 静的言語はJava、動的言語はRubyを基準に記述しているので それ以外の言語では若干異なります。 1)クラスがメモリ上にロードされるとき 静的言語の場合、このタイミングでstatic変数(静的変…
RubyでもJavaでも留意しなければならない点はほぼ同じ。 手続き型言語と同じで一連のロジックの中で処理の重複をなくすのは当たり前である ことがそこそこ意識されているのに対して、オブジェクトの生成回数を減らすことは あまり意識されないことが多いよう…