🤔

task で悩ましいところ

2024/12/08に公開

tl;dr

  • task を書いていて悩ましいところをメモがてら(スクラップで書けよ)
  • task のあれこれを書こうと思ってたんだけど間に合わなかったので先にこっち

悩ましい(?)ところ

呼び方

  • コマンド名は task なわけだけど、brew では Taskwarrior とバッティングしてる
  • task, taskfile, taskfile.dev, go-task のうちどれで呼ぶか
  • zenn の topics にどれをつけるかとも同義

サポートファイル名は読み込み優先度順に読み込まれて見つかったらそれを使う

  • Usage | Task
  • サポートファイル名として読み込み順序があるだけで、最初に見つけたやつが使われる
  • マージしてくれると楽かなって思ってるんだけど、今は自分で全部 include することで機能別にファイルを分割していて問題ないので多分今後も変わらない
  • 別途記事にしようと思ってるけど使い分けにコツがある

TASK 変数は実行中のタスク名が入るので、自分の名前しか持っていない

  • Variable for parent task names · Issue #1227 · go-task/task
  • 関連する課題に deps は実行タスクの前に実行されるので TASK 変数には値が入らない、がある
  • タスクの先頭で現在のステータスをスタックするとかしたらいいのかも
  • タスクの親子関係やチェインを表現できないのがいまいち(変数に自分でスタックする以外にない)

スタイルガイドに沿ったリンターが必要

変数名の大文字はバッティングする

  • スタイルガイドでは変数名は大文字を使用することになっている
  • システムの変数は SCREAMING_SNAKE_CASE が使われているので、合わせるのがいいと思っているんだけど、ついバッティングさせてしまう
  • 前述のとおりリンティングされないので、なんかおかしいと思ったら命名がかぶっているっていうね。もうね。
  • 自前の変数はアンダーバー始まり(よくあるプライベート変数の命名規則)や MY_ 等のプレフィックスをつけることで対応している

まとめ

  • 個人でいじってると個人の能力の範疇を超えられない
  • 使い方が偏るので課題も偏っちゃう
  • 公式以外で相談するところないのつらい

Discussion