2021-05-01から1ヶ月間の記事一覧
テスト駆動開発のポイントとは? システム開発は、作ろうとしているものへの理解を深めながら進行する システムとその用途を学ぶためには、作ってリリースしてフィードバックを得るのが良い 実装する前にテストをすることで設計する。何をさせたいかが明確に…
クリーンコードのメモ。 良い名前付けのためのルール 意図を明確にする なぜそれが存在するか、何をするか、どのように利用するか、がわかる名前にする コードの外側にあるコンテキストがわかるようにする 偽情報を避ける 意図した意味とは違う用途で使われ…
クリーンコードに「創発」という気になる名前の章があったので読んでみた。ざっくりいうと、とりあえず動くものを作ってから後から設計するという考え方で、私も最近はこういった感じで開発している。 創発的設計 よい設計を最初に考えるのではなく、コード…
ネストの深いrspec BDDは、下記のように書くので、GivenとWhenをcontextで書くとネストが深くなることがある。 Given:最初の文脈(前提)があって、 When:イベントが発生した場合、 then:なんらかのアウトプットを保証する。 例えば、fizz_buzz問題でfizz…
BDDとは何か 振る舞い駆動開発。 ソフトウェアの振る舞い検証するテストをまず記述して、次にそのテストをパスするソフトウェアを記述するという開発の方法。 BDDとTDD TDDでは、何をテストして、何をテストしないべきか、という問題に当たることがある。 BD…
やりたいこと 下記のように、rubyソースコード、specファイル、Guardfileが全て一つのディレクトリにフラットに配置されている環境で、guardによる自動テスト実行を行いたい。 root_dir ├── Guardfile ├── gilded_rose.rb └── gilded_rose_spec.rb 設定方法 …
使いどころ オブジェクトに対する操作の間に何らかの操作を挟み込みたいとき 間に挟み込まれている処理に関する詳細を、対象のオブジェクトとそれを操作するオブジェクト隠蔽したいとき 構造 商品を表すItemを考える。ItemImplはItemそのものを表すクラスで…