前回に続き,
第一週:2日め~5日め,講義と演習
第一週の講義では初日のウォーミングアップを終え,
毎日午前中から,
- 第一週の講義:
- 2日め:id:cho45氏の
「Perlによるオブジェクト指向プログラミング」 - 3日め:id:onishi氏の
「ORマッパによるデータベース操作」 (DBIx::MoCo) - 4日め:id:nanolia氏の
「MVCによるWebアプリケーション開発」 (Ridge) - 5日め:id:chris4403氏の
「ユーザインターフェースプログラミング」 (Ten. jsとRidge+MoCoでAjaxアプリ),
- 2日め:id:cho45氏の
午前の講義の後,
- ※1
- コミット。分散バージョン管理システムgitにおいては,
リモートのリポジトリに反映することを指す。
2日めの講義メモ
本格的な開発講義の第一弾,
- (1) オブジェクト指向自体について
- (2) Perlでそれをいかに実現しているか
(PerlにおけるOOP) - (3) どうやって設計するか
(実践! オブジェクト指向設計)
という3本柱で解説が行われた。ちなみに,
- ※2
『WEB+DB PRESS』 ,(Vol. 48) 特集1 「[言語別] モダンプログラミング入門」 の 「第6章:JavaScript編 ……誰もが使う, Webプログラミングの必修言語」 で寄稿いただきました。ぜひご参照ください。
(1)オブジェクト指向と(2)PerlにおけるOOP
まず,
そして,
また,
(3)実践! オブジェクト指向設計
続いて,
- APIについて考える。シンプルでわかりやすく。こんな風に使いたいというのを念頭に置いてユースケースを描いて軽くコードにする。このコードが後のテストコードにつながるように意識しておく
- 登場人物と,
登場人物が持つ責務を考える
責務はメソッド呼び出し元との約束。責任をどう委譲してあげる,
いよいよ,
- とりまとめる。まずは入口から着手
- 自分でよくよく考えてもデザインパターンっぽくなるのがオチなので,
はじめから使えば良い - コードを頭から書き下すのではなく,
はじめから実行イメージを動くコードにして, そこからテストを作る - Perlでテスト。Test::Moreのほか,
Test::Exception, Test::Base, Test::Class - テストとリファクタリングの関係
そして,