2013年9月30日月曜日

C++コード書きの3つのゴール

先月同様の手抜き更新です。チームで C++ Seasoning というタイトルのトークを見たので、他にも興味ある人がいるかなと思いつつトークのビデオをここに貼っておきます。

 
トークの中で Sean 氏は、3つのゴールとは、むき出しのループはやめよう、むき出しの同期プリミティブはやめよう、むき出しのポインタはやめよう、であると説明しています。詳しくはトークを見てもらって、以下は僕がビデオを見た(すっごく適当な)雑感を。

最初のゴールのむき出しのループはやめようの Chrome OS のサンプルコードのループの連続、これ結構ヒドいですね(笑)Google は candidate をスクリーニングしてるはずでは??
でもインタビュー質問を突破したとしても、次から次へと舞い込む日々の作業の量ゆえ、こういうコードを書いてしまう気持ちも分からなくはないです。が、極力避けるべきことだと思います。

最後のゴールのむき出しのポインタで shared_ptr とグローバル変数は同じメモリ領域を複数人で叩いてるんだから、つまるところ一緒じゃん言われてギクっしました。あとポインタ経由の継承を避けてトーク内では type erasure を使ってる?のかな。でも自分は現場ではそれはやってないですね。どうしても安易にポインタ経由の継承に走っているので、このトークの観点からすると自分のあまりほめられたことはやってないんだなと。 

また別のトークを見たらここでまた適当に紹介します。