🐣

MVP開発をしたらモチベーションがもたなくなった話

2024/10/31に公開

tl;dr

  • 個人的な勉強の一環で今月は Go を再履修していた
  • 言語の勉強だし仕事で使っているわけでもないので、手軽に作って遊べればと思っていた
  • MVP開発としてプロジェクトを用意して、大雑把にチケットをきって、とりあえず動作に不満はないものができた
  • 飽きたというか、モチベーションがたもてなくなった

個人的な勉強

  • 趣味というか自己啓発みたいなもので、気が向いた時に使える言語を増やすとかレベルをあげるとか
  • Go や Rust や Flutter で hello world をして、サンプルを動かして遊んでいたがそんなんでレベルはあがらない
  • とりあえず OSS のコードを読んで、理解できない、がない程度には習熟度を高めないといけないと思った
  • というわけで今月は Go を再履修していた
  • なんで Go かって言われたら Terraform のコードを読む機会が一番多いから

MVP

  • Minimum Viable Product
  • とりあえず最低限動かして使えるものを作るのが早いよねと
  • 公開はしてないんだけど、数字当てゲームを作った
  • Go + cobra で cli で乱数を当てるというだけ
  • cobra が楽すぎて怖い
$ ./htn
hit a random number.

Each time you hit a random number, you will be asked to answer whether it is big or small,
so let's see how many times you can hit it.

Usage:
  htn [command]

Available Commands:
  help        Help about any command
  play        Start New GAME!!
  version     Print the version number.

Flags:
  -d, --debug   verbose logging
  -h, --help    help for htn

Use "htn [command] --help" for more information about a command.
  • お作法にならってサブコマンドで play にしたけど、サブコマンドでなくてもいいよなとか
$ ./htn play -h
Always NEW GAME.

Usage:
  htn play [flags]

Flags:
  -h, --help      help for play
  -m, --max int   use max number. between 10 and 10000 (default 100)
      --min int   use min number. between 0 and max

Global Flags:
  -d, --debug   verbose logging
  • 実際遊ぶとこんな感じ(要は2分岐探索的なあれ)
$ ./htn play
Guess the Number: 50
less than 50 next?: 25
greater than 25 next?: 30
greater than 30 next?: 35
greater than 35 next?: 40
greater than 40 next?: 45
less than 45 next?: 44
less than 44 next?: 43
less than 43 next?: 42
less than 42 next?: 41
! Hit the Number ! 41. 10 times.
  • 最初に予定した MVP としては

    • 乱数
    • (数値)入力
    • ループ
    • 処理回数(カウント)
    • デバッグモード
    • 乱数の範囲(min-max)程度のオプションを外付けできる
  • くらいを想定していたので、できたといえばできた

モチベーション低下

  • MVPって形で動作しているのをみると、その先に行く原動力がもうちょっと欲しい
  • ありていに言えば、これ以上やってどうするんだっけ?になった
  • MVPを作って動かせばモチベーションが上がってどんどん先にいけると思ってた
  • 逆に動いている事実があって、その先に進む理由を考えてしまったら、手が動かなくなった
  • もちろん言語仕様やお作法の知らないことなんかはたくさんあって、何ができたんだ?って感じなんだけれども
  • 体調不良とかストレスとか不安とか不満とか、小さいいろいろが集まってきて、やる気がでないってわけ(ダメ

叱咤激励その他ご意見等々おなしゃす

  • モチベーションがあがらない時どうしてる?
  • Go の CLI のテストって書きにくいんだけど、乱数系、ループ系のテストってどう書く?
  • その他なんでもご意見ください

Discussion