ChangeLogメモってイマドキのかたは使ってるんですかね?
私は5年くらい前に以下のようなサイト様を見て使い始め、まだまだ使っております。
ChangeLogメモの実践
clmemo@aka: Change Log メモを試してみよう
ChangeLogメモとは、以下のようにChangeLog形式でメモをとっていくものです。
2013-07-01 Wed. @hijili2 <hoge_fuga@noexist.com> * トラブル対応: Aさんエスカレ XXX案件 - 原因調査 1h - 対応 30m * 実装 プロダクトA: モジュールB 3h - xxxでハマる、以下で解決 $ hoge hoge 2013-06-30 Tue. @hijili2 <hoge_fuga@noexist.com> * 設計 プロダクトA: レビュー会 1h TODO: 確認する * トラブル対応: Cさんエスカレ - 原因調査 45m 進行中のプロダクトAに影響するかも...
個人的にChangeLogメモは視認性がよくてマークダウンより好きです。
ただ、これだけだと、適当にインデント付ければChangeLogである必要無くない?
って話になるのですが、形式が決まっていることがポイントだと思っています。
先人の皆様もemacs-lispやrubyなどで、ChangeLogメモ用のgrep、
すなわちclgrepを作っており、私もそれをマネしだしてから、かなり重宝してます。
GitHub - hijili/clgrep: grep command for changelog memo
# 大したコードでは無いです、しかもPerl...
「形式があれば何でもできる」と高名なプロレスラーの方も言うように、
ちょいちょい拡張できます。("元気"と"形式"をかけるのは無理があるな1スベリ)
まあ、普通に使おうと思ったらこんな感じです。
「この前 hogeコマンド使って解決したの何だっけ?」みたいなとき。
該当した1ブロックをgrepします。
$ clgrep hoge hoge.txt * 実装 プロダクトA: モジュールB 3h - xxxでハマる、以下で解決 $ hoge hoge
「プロダクトA関連の作業だけを一覧したい」みたいなときは
-tを使うと、タグ(と私が勝手に呼んでる部分)だけを対象にgrepします。
$ clgrep プロダクトA hoge.txt * 実装 プロダクトA: モジュールB 3h - xxxでハマる、以下で解決 $ hoge hoge * 設計 プロダクトA: レビュー会 1h TODO: 確認する * トラブル対応: Cさんエスカレ - 原因調査 45m 進行中のプロダクトAに影響するかも... $ clgrep -t プロダクトA hoge.txt * 実装 プロダクトA: モジュールB 3h - xxxでハマる、以下で解決 $ hoge hoge * 設計 プロダクトA: レビュー会 1h TODO: 確認する
そこそこちゃんと書くようになってきたので「このまま週報に載せてまえ」
と思い、日付昇順に並べてヘッダだけ出せるようにしてみたり。
また、その際、各行末の \d[mh] をパースして集計するようにしてみたり。
$ clgrep -r . hoge.txt 2013-06-30 Tue. @hijili2 <hoge_fuga@noexist.com> * 設計 プロダクトA: レビュー会 60m * トラブル対応: Cさんエスカレ 45m 2013-07-01 Wed. @hijili2 <hoge_fuga@noexist.com> * トラブル対応: Aさんエスカレ XXX案件 90m * 実装 プロダクトA: モジュールB 180m
お約束の「工数見える化せい」的な話があれば、csvで吐けるようにしてみたり。
$ clgrep --csv . hoge.txt # tag,time(minute) # TOTAL_TIME,375 トラブル対応,135 実装 プロダクトA,180 設計 プロダクトA,60
こんな感じで使っており、個人的には意外と便利だと思ってます。
ただ、結局の所は「いかにちゃんとメモを残せるか」が鍵なので、
そこが面倒で続かなくなりがちではあります…
# 本気で忙しい時は何も書かなくなります…
とはいえ、書くときは結構シンプルで、パースもしやすい一つの形だと思っております。
もしご興味あればお試しください。
では最後に「こんなChangeLogはChangeしろ」をお届けして終わります(は?)
2016-07-19 Tue. @hijili2 <hoge_fuga@noexist.com> * トラブル対応: お客様帰宅時間に間に合わず、明日再調査 * 実装 プロダクトA: コードレビュー -> 指摘を受け再修正 4日遅れ * 出社: 9:15 電車遅延のため遅刻 2016-07-15 Fri. @hijili2 <hoge_fuga@noexist.com> * 実装 プロダクトA: 3日遅れ * 出社: 9:30 電車遅延のため遅刻
ChangeLogっていうか、遅延時ログだ。(リスケしろ2スベリ)
2016-07-20 Tue. @hijili2 <hoge_fuga@noexist.com> * トラブル対応: お客様が自己解決、追加調査不要とのこと * 実装 プロダクトA: 別プロジェクトとの兼ね合いでリスケ、納期1ヶ月延長 * 出社: 9:45 遅刻かと思ったがシステム故障のため全員9:00扱いになった
ChangeLogっていうか、もはや珍事ログだ。(全てフィクションです3スベリ)
最後のが書きたくてこの記事を書いた気がするのはきっと気のせい。