タグ

2015年5月18日のブックマーク (3件)

  • モダンなVBAの書き方

    「糞VBAコードのメンテナンスが減りますように。なむなむ」 VBAは、非常に古い(VB6ベース)の言語なので、既存のコードは、非常に読み難い物が多いです。しかし、最近、ちょっとしたことをVBAで書いちゃうというソリューションは、案外一般的になりつつあるように思います(これ自体は悪いことではないと思う)。新しく書くVBAのコードをどう書くべきか?という自分なりの意見を纏めてみました。これは、VBAで完全なOOPをしろと言っているものではなく、単純な構造化された小さい関数を組み合わせてプログラムを書く方針(関数型言語のことではない)を勧めるものです。 変数宣言を強制する! これは、自分のため。とにかく書く。オプションで設定しておけば自動で挿入される。 変数宣言は、必要になったところで宣言する! そのコードを読む人に、いちいち、関数の先頭までスクロールさせるな。変数の有効範囲をなるべく狭くするこ

    taiti0826
    taiti0826 2015/05/18
    Collectionの方が良いのか調べてみる
  • Factory Method

    ホーム < ゲームつくろー! < デザインパターン習得編 Factory Method ~子オブジェクトを親クラスの関数が作る ① 何を生成するかわからない! Factory Methodは多分知らずに使っているかもしれない、生成に関するデザインパターンの中では簡単な部類に入るパターンです。 ゲームには沢山のアイテムがあります。RPGでは特に膨大なアイテムが提供されます。そのアイテムは、プレーヤーがお店で買うかもしれませんし、モンスターが落としていくかもしれませんし、宝箱の中に入っているかもしれません。いずれにせよ、それを手に入れるタイミングはプレーヤー次第です。 例として、「Store」および「Item」というクラスを作ります。

  • サルでもわかる 逆引きデザインパターン 第2章 逆引きカタログ ロジック編 Factory/Factory Method(ファクトリ/ファクトリメソッド)

    イントロダクション オブジェクトを利用する側からすれば、使用する際にオブジェクトの詳細を意識したくはありませんよね。 たとえば、条件によってデータファイルの読み込みに使うオブジェクトが異なる場合、CSV形式であればCSVDataReaderオブジェクトを、XML形式であればXMLDataReaderオブジェクトを生成します。 通常はif、else、switchなどの条件分岐を使用して、条件ごとに生成するオブジェクトを変更します。 ここで新たなデータファイル形式への対応が必要になった場合は、新しいオブジェクト生成処理と、条件式を追加しなければいけません。 オブジェクトの使用者は、オブジェクトが使用できる状態で受け渡してもらい、オブジェクトは使うことだけに専念したいものです。 また、このようにオブジェクトの生成処理と使用処理が同じコードに書かれていた場合、オブジェクトの生成処理によってオブジェ

    taiti0826
    taiti0826 2015/05/18
    “オブジェクトを生成する処理と生成したオブジェクトを使用する処理を分離させるパターンです。”