top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
トイプログラムにもデザインパターンがあるのではないかと、ふと考えました。
私は日頃 トイプログラムを書いて、未知のプロダクトやAPIの検証を行うことが多いです。ふと トイプログラムにもパターンがあるように感じました。いわば「トイプログラム・デザインパターン(Java言語用)」です。(そういうものが既に存在するのかどうかは私は知りません)
main メソッドだけで完結すること 極力メソッドは利用しません。メソッドを作成するとしても staticメソッドでとどめるよう心がけます。GUIを伴わない時には オブジェクト指向を活用せずにトイプログラムは完成するはずです。
ソースコードの上から下に向かって淡々と処理を羅列すること
動作の理解が行いやすいよう、System.out.printlnを活用して一目で動作が分かるように心がけること
事前条件、事後条件を検証するためにのエラー処理は盛り込むこと
単機能を実現するための実装にとどめること あまり行数が長くなると本来の目的から はずれてしまいます。
私は トイプログラムを下記の順序の中で作成するように心がけています。
対象となるAPI/ライブラリのサンプルプログラムを動作させる。 何かサンプルなどが提供されているはずです。(でも、時として一次情報源にサンプルが無い場合があります)
トイプログラムを作成して初期の理解を行う。 この段階を指して、「トイプログラム・デザインパターン」を連想しました。この時点から 事前条件・事後条件を考えたトイプログラムを作成できていると 後工程が楽になります。
トイプログラムを組み合わせた、コンビネーション型トイプログラムを作成して理解を深める。 具体的なアプリケーションの基本機能を満たした仕様を実装してみます。もとのトイプログラムは確保しておいて、別のトイプログラムを作成することが重要です。また、ここで別のことに気がつく場合があります。
実際に利用するラッパークラス/ライブラリを作成する。 例外処理やエラー処理、ロギング処理などが加わった、具体的なクラスの作成に取りかかります。この時点では、先に作成したトイプログラムとは全く別の実装になります。プロトタイプ・アプリケーション作成と組み合わせることにより、ラッパークラス/ライブラリの実装が より洗練されることも多いです。もちろん、この時点では適切なオブジェクト指向が適用されることでしょう。
具体的なアプリケーションを作成する。 残念ながら、私は このフェーズを担当することは少ないです…。
関連する日記
関連するキーワード
JooConverterに惚れました。ExcelファイルをPDFファイルに変換できます。これはすばらしい。
日本語のページがあるんですね。とても嬉しかったです。
M170の展示を見たいので、有楽町駅近くにあるEIZO Galleria Tokyoに行こうと思います。
2005.02.20 追記 検討の結果、ナナオのM170-WTを購入することになりました。
NANAO FlexScan 17"液晶モニタ M170-WT (オフホワイト) amazon.co.jp: B0006HAELC
EIZO 液晶モニター:FlexScan M170 http://www.nanao.co.jp/products/lcd/m170/contents.html
自宅用ディスプレイとしての購入です。窓際で利用するので、M170が搭載している 環境に合わせた自動輝度調整機能がどうしても必要だったのです。デジタル/アナログの2系統入力を搭載しているのも魅力でした。かねてより目を患っているので、どうしてもディスプレイには投資が必要になります。いままでは液晶ディスプレイに対しては懐疑的な考えを持っていて、自宅用ディスプレイはずっとCRTだったのです。ここ最近は液晶モニタの技術も向上してきた背景もありとうとう自宅モニタにも液晶モニタを導入するところにいたりました。一方でナナオのディスプレイは定評があるので、液晶にも過大な期待をしています。少し奮発しての選択結果となりました。なお、この時点では 検討した購入経路の中では、アマゾンが最安値となりました。
2005.02.28 追記 とても気に入って利用しています。自動で輝度をコントロールしてくれる機能はとても気に入りました。自宅環境のような 部屋の明るさが変わりやすい場所では、自動で輝度をコントロールする機能はとても体に優しいです。すばらしい。くわえて、ディスプレイのモードがフロントスイッチですぐに切り替え可能な点もとても便利です。細やかな配慮が多い、とても素晴らしいディスプレイだと考えます。ちょっと値段が張りますけれどもね。