トップ «前の日記(2010-01-12) 最新 次の日記(2010-01-14)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2010-01-13

_ Effective C#

翔泳社の野村さんからEffective C#とMoreを頂いたのだが、年末はばたばただったので読めず、やっとEffective C#のほうに目を通せた。

まあ、Effectiveとアディソンがタイトルに付ければ、出版社としてはブランドを守るためにもきちんとしたものを作るはずなので、読んで損することはあり得ない。で、当然のように、Effective C#も良い本だ。翻訳も良いと思う(のだが、翻訳の良し悪しの受け止め方は、読み手によってどえらく違うので困るものだが)。というか、スコットメイヤーもレビューに参加したと序文に書いてあるし。

constではなくreadonlyを使えとかnewメソッドを避けるとか、言い切り命令型の項で構成しているので、旗色鮮明、わかりやすい。

ただ、キャスト時にはisあるいはas演算子を使え、という項はあまり感心しない。どうもリストを読んでもいんちき比較に見える(おそらく、インターフェイスに対する考え方の違いに原因がありそうだ。また、ジェネリックが利用できるようになった2.0以降であればそもそもキャストが必要なコードは圧倒的に減るからどうでも良いことのような気もしてきた)。

原書はC# 1.0ベースで、2.0の予告編を元に少しジェネリックとかに触れた程度となっていて、それは本書でも変わらない。ただし訳注で変えたほうが良さそうな点は補っているので、困ることはないと思う。たとえば、本文でXMLシリアライザを勧めているところに対して、NFX2.0以降ならSettingBaseを使え、といったことだ。

というわけで、C#のベストプラクティスを手っ取り早く詰め込むには良い本です。

Effective C#(ビル ワグナー/Bill Wagner/鈴木 幸敏)

あと、「はじめに」で、リストは意図をコードで示すためのものだからコピペしてもコンパイルは通らないとわざわざ書いてあるのを読むのは初めてな気がした。そこまで書いておく必要があるのかなぁ。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|

ジェズイットを見習え