『アジャイルサムライ』読了
先日の @Ryuzee さんのイベントに行く途中の電車の中で読み終わりました。
- 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
- 出版社/メーカー: オーム社
- 発売日: 2011/07/16
- メディア: 単行本(ソフトカバー)
- 購入: 42人 クリック: 1,991回
- この商品を含むブログ (254件) を見る
ちょっと前のことですが、会社で"若手に学ばせたいスキル"というアンケート?みたいなものが回ってきました。
たぶん、どっかの研修会社からもらったものみたいです。
その中の "ソフトウェア開発手法" がちょっと突っ込みどころが多くてアレな感じです。
選択肢抜粋
他にもいくつか選択肢はあったのですが、この二つが同列に並ぶって一体…
さらに、他の人が回答した中に、その他として"アジャイル(スクラム/XP/リーンなど)とかあってもう。
私自身、アジャイルな開発現場を経験している訳じゃないしアジャイルとは!とか力説できるほどの知識も経験もありません。
ですが、『アジャイルサムライ』読んだり読書会で他の方のお話を聞いたりする中で、アジャイルってプラクティスじゃない、個人のスキルだけじゃないという思いを強くしています。
極論すると、@Ryuzee さんの言われていた"態度重要"が全てじゃないかと思います。
でも会社の偉い人たちからすると、プラクティスを実践すればアジャイルになる、NTTデータもやってるからうちも、みたいな感じなんでしょう。
『アジャイルサムライ』配るか。
『テスト駆動開発入門』を Ruby で写経する 1章〜8章
まとまった時間が取れたので、積読になっていた『テスト駆動開発入門』を、Ruby に読み換えながら写経しました。
TDD 力アップのため、まずは量をこなす予定。
やったこと
1章〜8章までの写経
テストコード
require 'test/unit' require 'money' class TC_Money < Test::Unit::TestCase def testMultiplication five = Money.dollar(5) assert_equal(Money.dollar(10), five.times(2)) assert_equal(Money.dollar(15), five.times(3)) end def testEquality assert(Money.dollar(5).equals(Money.dollar(5))) assert(!Money.dollar(5).equals(Money.dollar(6))) assert(Money.franc(5).equals(Money.franc(5))) assert(!Money.franc(5).equals(Money.franc(6))) assert(!Money.franc(5).equals(Money.dollar(5))) end def testFrancMultiplication five = Money.franc(5) assert_equal(Money.franc(10), five.times(2)) assert_equal(Money.franc(15), five.times(3)) end end
プロダクトコード
class Money @amount def equals(obj) return @amount == obj.amount && self.class.equal?(obj.class) end def ==(obj) @amount == obj.amount end def self.dollar(amount) return Dollar.new(amount) end def self.franc(amount) return Franc.new(amount) end end class Dollar < Money def initialize(amount) @amount = amount end attr_accessor :amount def times(multiplier) obj = Dollar.new(@amount * multiplier) return obj end end class Franc < Money def initialize(amount) @amount = amount end attr_accessor :amount def times(multiplier) obj = Franc.new(@amount * multiplier) return obj end end
感想とか
- テストやプロダクトコード修正の単位が非常に小さい
- この感覚を身につける
- 写経じゃない場合、この過程を踏めるか疑問
- まずは型としてやる!
- Ruby の知識不足で、本筋以外で引っかかることが多い。
- 写経しながら勉強あるのみ