タグ

ブックマーク / zecl.hatenablog.com (4)

  • 「スマートタグの表示」のショートカットキーの既定値がShift+Alt+F10というのは使いづらい件。Shift+Alt+Zでよくね? - Bug Catharsis

    Visual Studio2005以降では、Eclipseなんかに比べるとまだまだ貧弱とはいえ、 便利なリファクタリング機能がいくつかある。たとえば、フィールドやメソッド名を変更するとき、 スマートタグを表示することで、参照されているものすべての名称を一括して変更することができる。 あるいは、クラスやインターフェイスに対してメソッドのスタブを作成したり、 インターフェイスの実装スタブを作成したり、足りないusing を自動でファイルの先頭に追加できるなど、 開発効率を向上させる便利な機能がいくつか用意されている。 まだ活用されていない方は勿体無いので意識的にガンガン活用するとよいと思う。 とはいえ、C#では利用可能であっても、なぜかVB.NETでは使えないリファクタ機能が多く、 VB.NETユーザーの方は、指を咥えて我慢するしかないという悲しい現実はあります。 この便利なリファクタ機能を利

    「スマートタグの表示」のショートカットキーの既定値がShift+Alt+F10というのは使いづらい件。Shift+Alt+Zでよくね? - Bug Catharsis
  • F#で簡素なモゲマスコンプガチャシミュレータ - Bug Catharsis

    椎名林檎「自由へ道連れ」をヘビロテしすぎて脳内無限ループしている今日この頃ですが、皆様いかがお過ごしでしょうか。 時事ネタとしては旬を逃した感じですが、簡素なコンプガチャシミュレータをF#で書いてみました。 とは言っても、この記事で伝えたいことはコンプガチャの確率がどうのですとか、実社会におけるコンプガチャの問題点がどうのとかいうような話題を扱うものではなく、安直にモナド則を満たさないコンピューテーション式を作ってしまうよりかは、Identityモナド(恒等モナド)を使ってプログラミングをした方が、見通しが良くモジュール性の高いコードを書くことができるかもしれないよ、という話題を提供します。割とどうでもいい話題ですね。未だガラケーユーザーであり、スマホやソーシャルゲーとはほとんど縁のない私ですが(もちろんモゲマスもやったことない)、気が向いたのでちょっと書いてみました。なお、モゲマスおよび

    F#で簡素なモゲマスコンプガチャシミュレータ - Bug Catharsis
  • とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis

    「より堅牢で正確性の高いソフトウェアを作りたいぜ!」と願う.NETデベロッパーお待ちかねの、 契約による設計(DbC)をサポートするCode Contractsが.NET Framework4より利用できるようになります。 C#をベースとして契約による設計をサポートする「Spec#」を利用するという方法もありますが、 学習負担を軽減するためにと、マイクロソフトは言語を意識しなくても開発者が利用できるように、 Code Contractsとして.NET Frameworkで契約をサポートしてくれました。 これは、オブジェクト指向および、オブジェクト指向プログラミングが大好きな.NET開発者にとって、とても良い知らせです。 わたしも待ち望んでいたうちのひとりです。ありがとうマイクロソフト!!という気持ちでいっぱいです。 VisualStudio2010が4月12日(米国)にローンチされることが

    とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis
  • C#で振舞いを抽象化してStateパターン的に使えるTypeSafeEnumを書いてみた。Delegate.DynamicInvokeのオーバーヘッドっていかほどなの? - Bug Catharsis

    以前書いたAbstractなTypeSafeEnumでは、振舞いについてFuncデリゲート固定として実装していました。 でもやっぱり、ちゃんとしたStateパターン的なTypeSafeEnumが欲しいよね。 というわけで、タイプセーフEnumの振舞いについてジェネリックで抽象化してみました。 また、id:atsukanrockさんの熱燗ロックのブログ - .NET Frameworkで、シリアル化可能なタイプセーフenumを実装するにてご指摘のあるように、 シリアライズ/デシリアライズ可能であるべきなので、SerializableAttributeを付加しておきました。 振舞いを抽象化してStateパターン的に使えるタイプセーフEnum まだ改善の余地はありそうですが、とりあえずこんな感じにしてみました。 以下C#のサンプルです。 using System; using System.Co

    C#で振舞いを抽象化してStateパターン的に使えるTypeSafeEnumを書いてみた。Delegate.DynamicInvokeのオーバーヘッドっていかほどなの? - Bug Catharsis
  • 1