タグ
品質
補足
ハードコーディング
int calcPriceIncludeTax(int price) {
return price * 1.08
}
// 意味のある変数名にする
const taxRate = 1.08
void calcPriceIncludeTax(int price) {
return price * taxRate;
}
テスタブルなコード
class FirebaseRepository {
// FirebaseAuth.instance を外部から注入していないので、
// FirebaseRepository().signOut メソッドを呼んだ際に FirebaseAuth.instance.signOut() が呼ばれたかどうかのテストができない
Future<void> signOut() => FirebaseAuth.instance.signOut();
}
class FirebaseRepository {
// Dependency Injection
// テスト時に FirebaseAuth.instance をモックできる
const FirebaseAuthRepository(this._auth);
final FirebaseAuth _auth;
Future<void> signOut() => _auth.signOut();
}