タグ

ブックマーク / www.tokoro.me (4)

  • Objective-Cで少しでも疎結合なプログラムを書くためのチェックポイント | TOKOROM BLOG

    チェック1. なんでもかんでもヘッダーファイルでimportしていませんか? 例えば、こんなコードを書いていませんか? #import "OtherLibrary1.h" #import "OtherLibrary2.h" @interface Library @property (strong) OtherLibrary1* otherLibrary1; @property (strong) OtherLibrary2* otherLibrary2; @property (assign) BOOL flag; @end Libraryというクラスを作り、そこでOtherLibrary1とOtherLibrary2をpublicなpropertyとする場合、当然のごとくOtherLibrary1とOtherLibrary2のimportが必要なわけですが、なにも考えずにヘッダーファイルでO

  • Objective-Cで最近お気に入りのマクロ4つ | TOKOROM BLOG

    マクロ マクロの利用については賛否両論がありますが、ぼくはわりかし使います。 ** ※2013/1/9 追記 ** 上記のとおり独自のマクロを使うこと自体に賛否両論あります。 例えば独自のマクロを定義して利用することで、 他の人がコードを見たときに分かりづらくなる 思わぬ不具合が出るケースがある 名前の衝突リスクがある(マクロは名前空間が使えない) などのデメリットがあります。 特にチームや会社でのご利用の際にはよくよくご留意をお願いします。 1. [NSString stringWithFormat:] を簡単に NSString* message = [NSString stringWithFormat:@"HELLO %3.1d", 333.333]; [NSString stringWithFormat:]はよく使うのだが長くて面倒…とよく思ってしまう。 ということで、 #defi

  • Objective-Cのテストクラスからプライベートメソッド/プロパティを参照したい | TOKOROM BLOG

    dkfjさんが Objective-Cで、プライベートメソッド・プロパティにアクセスし、ユニットテストを実行する方法 という記事を書かれていました。 せっかくなので私がやっている方法も書かせていただきます。 テスト対象のクラス 以下のようにプライベートメソッドとプロパティを持ったExampleClassをテストするとします。 #import "ExampleClass.h" @interface ExampleClass() - (BOOL)privateMethod; @property (assign) BOOL flag; @end @implementation ExampleClass - (BOOL)privateMethod { return self.flag; } @end テストクラス 自分の場合は、こんなかんじでテストクラスでテスト対象のプライベートメソッドやプロパテ

  • GHUnitのテストカバレッジをJenkinsで表示する | TOKOROM BLOG

    概要 設定が完了すると、JenkinsでGHUnitのテストが実行された後に以下のようにテストカバレッジが参照できます。 設定がちょっとだけ面倒ですが、一度やって慣れてしまえばなんてことありません。 実際に動かしてみたサンプルプロジェクトGithub に置いてあります。 うまく動かない場合の設定の比較などにご参照ください。 なお、ここではiOSアプリ開発用としての紹介をさせていただきます。 事前準備 Jenkinsの導入 さくらVPSにJenkinsさんをインストールする GHUnitの導入 Jenkins を iOS アプリ開発に導入してみた (GHUnit編) GHUnitのiOS用frameworkをビルドするのが面倒な場合は、Github にビルド済みのものを置いてあるのでこれを使っていただいても構いません(2012/9/2時点でXcode 4.4.1 では問題なく利用できまし

  • 1