-
静的解析ツール → 今回でいうとSwiftlint
-
開発とテストの連携では、第一に「プロジェクト全体でどのような品質を確保すべきか」の品質要求の分析が重要
-
またアーキテクチャレベルで品質要求を分割し、別々に分析可能にするアプローチも品質要求の全体を扱う工夫として有効です。例えば課金システムや個人情報管理などハイリスクな責務のインフラとローリスクのサービスを設計で分離して、各品質確保の厚みや方針を別々に考えられるようにする
-
スクリプトテストと探索的テスト
-
要件と課題
-
「本当に必要なテストを行えているか」を担保する手段
- 同値分割/境界値分析
- ドメイン分析
- 組み合わせテスト
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
任意のUIViewControllerのサブクラスに対して、Storyboardableを適応することによって、 | |
Storyboardから該当のUIViewControllerの型でインスタンスを取得できるようになります。 | |
*/ | |
extension NSObjectProtocol { | |
static var className: String { | |
return String(describing: self) | |
} | |
} | |
protocol Storyboardable: NSObjectProtocol { |
CaseIterable
プロトコルが登場。
allCases
プロパティで、その型の全値をSequence
で返す。
例えばenum
の全区分値を列挙できるようになった。
(What` new in Swiftより)
enum Gait: CaseIterable {
case walk
case trot
case canter
C言語で作成されたライブラリを、Swiftでラッパーを書き、Carthageでライブラリとして提供するための試行錯誤の記録になります。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
extension CGSize { | |
var inversed: CGSize { | |
return CGSize(width: self.height, height: self.width) | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
generate random string. | |
possibly contained letters are: | |
- lower case alphabet | |
- upper case alphabet | |
- number | |
todo: | |
- pass letter kind or letter set |
Rakeは、MakeをRubyで実装したものを超越したビルドツールである。 世間では、ビルドツールというとMakeやApache Antが有名で、よく使われている。 Rakeは、これらのいいとこ取りをした上で、特有のフィーチャーを追加した新しいビルドツールであり、複雑なビルドを柔軟に書きこなすことができる。その秘密は内部DSLという仕組みにあり、このおかげでビルドの記述にRubyの強力な文法をそのまま使うことができる。この自由度の高さは、ビルドの記述に独自の言語の使用を選択したMakeとAntには無い強みだ。 その代わりと言ってはなんだが、Rubyにある程度習熟していないと扱えないツールである。