🐡

あれ、月齢の計算って面倒じゃね?

に公開

Motivation

個人で作った、子供の成長を記録するアプリで、DateTime型の記録日を月齢毎に分けて表示したくなった⇨DateTimeを月齢へ変換する関数を作成

Problems

いざやろうとすると、なんか考慮しなきゃいけないこと多くね?って気づいた

  • 月またぎ
  • 誕生日月よりも前の月
  • 閏年
  • 基準日が誕生日よりも早い
  • 誕生日が月末
  • 法律上の誕生日 (なんだそれ)

Action

とりあえずテストで外堀を埋める

https://github.com/RyuNyan-Taro/wo_read/blob/master/test/record/use_cases/lunar_age_test.dart

その後に、テストが通るよう条件分岐しながらyearとmonthを算出

https://github.com/RyuNyan-Taro/wo_read/blob/master/lib/record/use_cases/lunar_age_use_case.dart

Doing

  • UIを月齢毎に記録を分けて表示
  • 多分テスト足りてない

Zaregoto

既に先人がやっていそうだが、とりあえず面白くはあるので車輪の再発明でも良いかと思っている今日この頃。後絶対テストは足りていない。多分閏年挟んだり、誕生日が月末だと破綻する。ただ、とりあえず我が子の誕生日は月末じゃないのが救い。

Discussion