2011年2月11日金曜日

効率的なC++での開発を目指して


ビックカメラで将棋ソフトの「世界最強銀星将棋9 風雲龍虎雷伝(ボナンザ)」と「激指」を見つけてしまった。すごく欲しい。。。でも今買ってもやる暇はない。どうせ圧倒的に負けるのは目に見えているし。
代わりに本屋で「ボナンザvs勝負脳」と「Effective C++」を買って帰る。C++は、これまでは自分で使うだけだったので動けばいいというスタンスだったが、これからは共同開発を念頭に、理解しやすく、保守しやすく、移植性があり、拡張しやすく、効率的なプログラムにする。
「C++は単一のルールを持った1つの言語というより、C、OOP、テンプレート、STLという、それぞれ独自のコンベンションを持つ4つの「サブセット言語」の連合と考えたほうがよい。C++で効率よくプログラミングするためのルールはC++のどの部分を使うかで変わってくる。
#defineより、const、enum、inlineを使おう。プリプロセッサよりコンパイラを使おう。#defineにはスコープという考え方がない。
クラスで使う定数のスコープを限定するため、その定数をクラスのメンバにすることがある。その場合、その定数が実際に1つだけ存在するように、staticにしなければならない。
オブジェクト内部のデータへのハンドルを戻す関数は避ける。そのハンドル自体より、ハンドルが指し示すオブジェクトが先に破棄される危険があるから。」
最近、仕事上の最大のボトルネックがコーディングになってきていると感じる。真剣に、効率的な開発を探求しないとやばいです。
職業は、限りなくプログラマに近い、ポートフォリオ・マネージャー兼クオンツ・アナリストです!
私のまわりでインドに行った人は、100%の確率で全員、帰国時に体調を崩した状態で成田に着いている。インドに行かれる方は、みなさん気をつけて。

0 件のコメント: