Resharper4.0 Nightly build2008年10月20日 18時28分55秒

Resharper4.0 Nightly build

http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nightly+Builds

Resharperの最新のビルドがダウンロードできる場所です。テストされてないですがリリース版にバグがあるときに試してみるのに良さそうです。

VSCommands2008年10月16日 18時07分16秒

http://www.it.kooriyoo.com/

VisualStudioのソリューションエクスプローラーに表示されているファイルを階層表示にすることができる拡張ツール。

VS2008 FileFinder2008年09月26日 11時36分22秒

VisualStudioのアドインでVS FileFinderというソフトがあります。

ソリューションの中のソースコードをファイル名で検索できるソフトなのですが、Googlesuggestのように文字を入力するごとに動的に候補が絞り込まれていくのが特徴です。普通の検索のように結果が出るのを待つことなく、2,3文字入力するとたいていさがしているファイルが見つかるのでかなり便利です。

ソースファイルがたくさんあるような大きなプロジェクトではこれがないと不便です。

ただVS2005用のバージョンで開発が止まっていてVS2008では使えませんでした。

そこで検索してみたらVS2008 FileFinderというページを見つけました。VS2008対応の他に新機能も入っているそうです。早速試してみます。

partialをむやみやたらと使用しない(C#)2008年09月06日 18時24分27秒

仕事で他の人が作成したプログラミングをメンテする機会が多いのですが、その中でやめてほしいのがpartialをやたらと使ったプログラミングです。

オブジェクト指向だろうが構造化だろうが1つのクラスやメソッドにコードを多く詰め込みすぎるとメンテしにくいのでクラスやメソッドの分割を考えると思いますが、そのときにpartialを使う人が結構います。

partialを使った分割は完全にクラスを分割することに比べれば簡単にできるのでpartialを使いたい気持ちはわかりますが、そのクラスを使う側にとって見ればpartialクラスは結局1つのクラスなので単に馬鹿でかいクラスができることになります。

partialがなければファイルがどんどん大きくなっていくのでクラス分割を考えるのでしょうが、partialを使ってしまうとクラスがでかくなっていくのがわからなくなってしまいます。

partialを使ったクラスでpublicメソッドが50を超えているようなものも実際に経験しました。今やっているプロジェクトではコーディングルールでpartialは禁止にしています。

partialは自動生成されたコードとユーザーのコードを分けるために考えられた機能なのでむやみにほかの用途に使うのは考え物です。

Resharperの個人ユーザー向けパートナープログラム2008年06月09日 22時42分55秒

Resharperを作った会社であるjetbrainsからメールがありまして、個人向けのパートナープログラムができたらしいです。その特徴は以下の通りです。

  • 友達にResharperを紹介するときに60日間使用できる試用版ライセンスを特別にもらえる。(通常は30日)
  • そこから購入に至った場合10%の割引が受けられる。
  • 紹介した人も何かもらえるらしい。

Resharperはいろいろなところで紹介されているのでご存じとは思いますがVisualStudio向けの強力なリファクタリングツールです。Resharperを購入するときはお近くのResharperユーザーにパートナープログラムに参加しているかどうかたずねてみてください。割引が受けられるかもしれません。

Resharper4.0βを使ってみる2008年05月25日 17時58分48秒

Resharper4.0βが出たと聞いたのでインストールしてみました。

今回から1つのインストーラーで2005と2008の両方に対応しています。2005の方には3.1を入れていたのですが、ちゃんと4.0にアップグレードしてくれました。

βですがそれほど不具合はありませんでした。仕事用のPCに入れたのですが問題ないです。1点おかしいのが2005でも「変数の宣言をvarに変更してください。」という提案が出てしまうことです。2005はvarが使えないので当然エラーになってしまいます。

4.0に無料でバージョンアップできると聞いて3.1を買ったのですがなかなか製品版が出ないですね。リリースまでおとなしく待つことにします。

ASP.NETモバイルで<head>タグが消える2008年05月01日 23時28分56秒

今日は1日中この問題を調べてました。きっかけは以下のサイト

モバイルWebフォームでheadタグが消える

で、調べてみたらできるようです。aspxの<mobile:form>タグの中に以下のような記述を書けばいい。

<mobile:DeviceSpecific ID="DeviceSpecific1" Runat="server">
   <Choice Filter="supportsJavaScript">
     <ScriptTemplate>                     
       <meta name="description" content="description metatag"/>        
     </ScriptTemplate>
  </Choice>
</mobile:DeviceSpecific>  

この記述でmetaタグが埋め込まれるのはアクセスしたデバイスがjavascriptをサポートしている場合のみです。javascript未サポートの携帯の場合は何も表示されません。

ブラウザファイルを書き換えて強制的にjavascriptオンにするとほかの部分で不具合でそうで困った。

metaタグを出力するのはSEO対策でサーチエンジン用の情報を記述したいからだそうです。そういう場合はサーチエンジンのクローラーがアクセスしたときにmetaタグが出ればいいのかな?サーチエンジンのUserAgentってわかるようになってるのか?この辺がわかれば解決かな。

元ネタ

http://forums.asp.net/t/1229706.aspx

5/17 追記

かるあさんが解決方法をブログに書いてくれました。 どうもありがとうございます。

http://karua.at.webry.info/200805/article_3.html

VisualStudioのコード分析で特定のクラスをチェック対象から除外するには2008年04月25日 23時44分40秒

今プロジェクトの開発環境構築でVisualStudioのコード分析について調べています。

コード分析は便利ですが、たまに特定のコードをチェック対象から外したいと思うときがあります。そういうときはソースコードに属性を追加することで対象外にできるようです。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1822")]

参考: SuppressMessage 属性を使用した警告の抑制

この方法だとコンストラクタで指定したメッセージしか対象外にならないため、すべてのチェック項目について登録したいときにはたくさん属性を宣言しなくてはなりません。

そこですべての項目についてチェックを抑制する場合は以下の属性を使います。

[System.CodeDom.Compiler.GeneratedCodeAttribute("DBFlute", "0.61")]

この属性はツールによって自動生成されたことを示します。たとえばxsd.exeを使用して作成されたクラスにもこの属性はついています。この属性がつけられたクラスはコード分析の対象外になるのでコード分析の抑止目的でも使えると思います。

VS 2008 Web Development Hot-Fix Roll-Up Available2008年02月10日 16時24分50秒

VS 2008 Web Development Hot-Fix Roll-Up Available

aspxさんのブログで知ったのですがVS2008のパッチが出ているようです。

VS2008発売日イベントに参加しました2008年02月09日 01時02分20秒

Visual Studio 2008 発売イベント

今日は仕事を早めに切りあげてVS2008の発売イベントに行ってきました。 私が参加したのはヨドバシカメラマルチメディア Akibaの19時からの回でした。 専用の会場ではなく、液晶テレビによるプレゼンテーションで、50人くらいはいたでしょうか。

プレゼンテーションはMSの新村さんが担当していました。30分という短い時間でしたが、LINQやOfficeとの連携など、デモを交えて一通りの機能説明は網羅していました。

デモが終わった後はストラップと付箋紙をもらいました。

ちょうど今日は一太郎/ATOKの発売日とも重なっていたので新バージョンのATOKが店頭に並んでいました。今日購入するとオリジナルグッズプレゼントなので迷いましたがもう少し評判を確かめてから決めることにしました。