人の評価


来年、自分が所属してるテニス部のサブキャプをやることになった。
もうひとつ別のテニス部にも所属してるんだけど、そっちは今年キャプテンをやっている (来年はどうしよう...)


キャプテン・サブキャプテンだからって偉いわけでも優秀なわけでもなんでもないんだけど、そういう役職についてるとバイアスがかかった目で見られる事も多々ある。キャプテンだからなんとかだね、みたいな。


サブキャプになるって発表あってから色んな人から反応があったが、その反応を聞くと、その人が自分をどう思ってたのかが少し垣間見えて面白い。


人が自分をどう評価してるのかを知る(気づく)のも難しいが、自分が他人のことを正しく評価するのはもっと難しいと思う。
彼(彼女)はこんな人だって思ってても、それはその人のほんの一面なのであって、その人のすべてを知る事は不可能なのと同じ様に、その人の評価を下すのはほんとに難しい。


ところでプログラマーの場合、そのプログラマーの力量を評価するには、その人のコードを見ればすぐに分かると言ってた人がいる。
確かに、初心者プログラマーや学生プログラマーの書いたコードはだいたい一目でそうと感じるし、言語仕様を分かってないプログラマーのコードはちゃんと可搬性のないコードになってるので、あ、この人は分かってないんだなってすぐに気づくことが出来る。


ただし、ある程度以上になってくると、ちゃんと力量を評価するのはやっぱり難しくなってくる。
Mersenne Twister を書いたプログラマは、他の人と比べてどこがどう優れてて、他の乱数系関数とどこが違うのかってのはコードを見るだけじゃ僕には一生理解できないと思う。


逆にある程度であれば、ちょっと気をつけてコードを書いてれば、あ、この人はちゃんと考えてプログラミングしてるなって印象を与える事ができると思う。
例えば
・コーディングスタイルを常に一貫させる(途中でスタイルを変更した場合、既存のコードもすべて書き直す)
・長過ぎる処理はちゃんと関数化する
・シンボルの名前はしっかり考えて決める
・同じ #ifdef 〜 #endif は何回も繰り返さないようにする
とかとか、Effective C++ とかに書いてあるようなことそのままだけど、こういった基本的な見栄えの部分だけでもちゃんとしてると、コードの見た目の印象はずいぶん良くなると思う。
コードの見た目がよくなると、処理の見通しもよくなって、それが結果としてバグが少なくなったり、修正が簡単になったりという良い副作用につながっていくものと僕は考えてる。


まぁその副作用を考えなかったとしても、どんなに悪人で性格最悪なやつでも、見た目がちゃんとしてて礼儀正しい言葉使いしてれば、そう思われないってのと一緒だね(・・・全然違う?笑)


ということで、自分がプログラムコードを書く時は、そういったことを常に頭にいれてて、自分のコードをいつ人が見ても大丈夫なように気をつけて書いてますよって話でした。