タグ

2012年9月3日のブックマーク (4件)

  • DRY原則とテストの可読性 - ✘╹◡╹✘

    DRY原則に従おうとするほど、テストコードがどんどん読みづらくなる。 The RSpec Bookに答えがあるかと思って読んでみたものの、「あるある」と一言述べているだけだった。辛い。 テストコードが読みづらくなる例を示すために、1つRubyのライブラリをつくった。 値とパターンを与えてValidationを行う機能を提供するライブラリ。 実装60行、テスト120行なので、詳しく見たければすぐ読めると思う。 最近不意ながらキラキラネームの命名力が上がってきたと思う。 avalon - A validator implementation for Ruby https://github.com/r7kamura/avalon 冗長だが読みやすい例 letもsubjectもローカル変数も何も用いずに率直に書いたテストコード例がこちら。 冗長だが読みやすく、テストコードを見ればライブラリの使い

    DRY原則とテストの可読性 - ✘╹◡╹✘
    hirose504
    hirose504 2012/09/03
    テストコードは冗長でも良いから読みやすさを心がける
  • METAL GEAR SOLID GROUND ZEROES

    ※画面右下、歯車アイコンの画質変更にて、高解像度での視聴を推奨いたします。 SNAKE IS BACK ON "FOX" ! A HIDEO KOJIMA GAME 「METAL GEAR SOLID GROUND ZEROES」 http://www.konami.jp/mg25th/

    hirose504
    hirose504 2012/09/03
    プレイアブル凄すぎワラタ
  • ぼくが実際に運用していたGitブランチモデルについて

    オペレーションとかインフラ系のエンジニアリングからは少々離れそうなので、個人的な備忘録がてら、Gitのブランチモデルについて。淡々と書くよ。 見えないチカラ: A successful Git branching model を翻訳しました 基的に、このA successful Git branching model(上記は翻訳記事)を参考にしています。ですが、完全ではありません。運用しながら都合よく省略していますし、悪く言えば曲解もしています。あくまで、わたしが都合良く解釈して取り回した結果と考えてください。 さて、このようなドッシリとしたブランチモデルが、あらゆる規模のプロジェクトに対して有効であるかといえば、もちろんそうではありません。コツコツ個人で開発しているライブラリなどは、ブランチを使わなくても良いケースがあるでしょうし、作ってもバージョン番号ブランチぐらいのケースだってザラ

    ぼくが実際に運用していたGitブランチモデルについて
  • PHP 5.5 でジェネレータが導入される

    PHP 5.5 でジェネレータが導入されることになりました。 PHP においてジェネレータは Iterator インターフェイスを実装するクラスで次のメソッドが定義されています。 final class Generator implements Iterator { void rewind(); bool valid(); mixed current(); mixed key(); void next(); mixed send(mixed $value); } 関数やメソッド定義のなかの yield 文で指定した式は foreach ループで展開されます。これによって Iterator インターフェイスを実装するクラスを用意しなくても、上記のイテレータのメソッドを利用したり、AppendIterator や MultipleIterator を使って複数のジェネレータをまとめるなど、イテ

    PHP 5.5 でジェネレータが導入される