willnet / reading-metaprogramming-ruby

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TODO

willnet opened this issue · comments

  • ruby 3.1(3.2)化
    • とりあえず単純に3.1にして、過去に解いた答えでテストがそのまま通ることを確認したのでそのままいけそう
  • willnet/reading-metaprogramming-ruby-first-stepsの問題とマージ
  • 各問題に順番つけて、どこから着手するといいかわかるようにする
    • https://rubygems.org/gems/skp のように、コマンドを実行すると問題が増える、という形式にできるとより良い(が、それで実施がかなり遅くなるようならやらない
  • 各章でテストを独立させる
  • 5章の問題で6章に回したほうがいいやつがあるので6章に回す
  • 答えの解説を追加
  • 説明文言を追加
  • https://rubygems.org/gems/skp のコードを見た
  • skpは認証があったり、S3においてあるコンテンツをダウンロードさせたりである程度複雑になっている
  • 「nextコマンドを叩いたら次のコンテンツを持ってくる」だけならエイヤで作れるのではという気がする
  • しかし問題文や答えのバージョンが上がったときに、gem側をどうするか考え始めるとめんどいかも
    • 問題そのものにバージョン情報をもたせておいて、パッチバージョンだったらバグ修正なのでそのまま、みたいな場合分けをするとか…
  • 一旦は考えないほうが良さそう
    • #1 (comment) のことを考えるとバージョン管理のことはおいておいてエイヤで作る、がいい気がしてきた

問題をどう解いてもらうとよいか

  • もともとはforkして、元リポジトリのバッジをグリーンにするというものだった
  • が、汎用的にすることを考えると難しい
  • 各自forkしてローカルでテストを実行してもらう、がこれまで各社でやってきたこと
  • 答えを同一リポジトリにおいておくとCIで、答えと問題が一致していることを確認できて便利だけどforkした人のCIも答えに対して動いてしまう
    • 問題解く人はCI動いてほしくない
      • そういう意味ではskp方式は良い
    • 答えのリポジトリと問題のリポジトリを分けると解決する?
    • その場合はそれぞれの同期が必要
    • 答えのリポジトリから問題のリポジトリをgit submoduleで持ってきてテストを動かすとどうか
      • やや面倒