仕事をする時はいつも、作業ログのような記録をローカルのテキストファイルでつけている。 たぶんみんな似たような事をやっていると思うのだが、具体的にどうやっているのかってあまり話を聞かない。 結構興味があるのでいい感じの手法を編み出している人は教えて欲しい。

まずは自分がどうやっているかについて書く。

大まかな例

だいたい以下のような感じで書いている。(内容は適当にでっちあげてるので意味は無い)

== 4月第四週 ==
2021-04-19
- バグ #381を調査
- 実際にはこのバグを直す為には機能Xを実装する必要がある事が判明、チケットを切る #392
- #392実装調査

2021-04-20
- お休み

2021-04-21
- お休み

2021-04-22
- #392 実装方針をチケットにまとめる
- #392 実装開始

2021-04-23
- ビルドが遅いのでNinja化する
- #392実装終了

## 機能Xのパフォーマンス調査

手抜きアルゴリズム(ms)
  1443
中間木のHoist
  12

PerfCount有り
手抜きアルゴリズム(ms)
  32443
  - inst 214821
  - push 198721
中間木のHoist
  125
  - inst 15732
  - push 12035

## XCodeでのビルド手順

https://stackoverflowのなんかのurl

以上に従い、HeaderとIncludeに/usr/local/libと/usr/local/includeを追加。

Ninjaは 

cmake .. -G "Ninja Multi-Config"

でgenerate。

== 4月第三週 ==
2021-04-15
- お休み

2021-04-16

以下基本的な構成を。

まず週ごとの区切りがある

とりあえず週単位で区切っている。 区切りは

== 2月第3週 ==

のように、イコール2つでくくって、月と何番目の週かを書いている。 これは月の境界の週でどっちに属させるか曖昧性があるが、その辺は適当にしている(だいたい前の月側に入れる)。

そして週の中にその週の日にやった事を書いていく。 どう書くかは後述。

週は、新しいものをテキストファイルの上に書いていく。順番的には、つまり以下のような順番になる。

  • == 2月第3週 ==
  • == 2月第2週 ==
  • == 2月第1週 ==
  • == 1月第5週 ==

週内では日ごとにまず日付を書き、その日にやった事を箇条書きにする

週の中には日を書く。こちらは時系列に新しいものほど下に書く。週同士は新しいものが上になるようにするが、週の中では新しいものが下になるように書いてある。

箇条書きの粒度としては一日がだいたい多くても5個くらいの粒度になるように書く。

ちょとしたメモはその箇条書きの下に書くが、長くなる場合はその週の最後の所にマークダウン的な区切りでタイトルをつけて書いておく(ただ中はフリーテキスト)。 目安として、一週間分の箇条書きが一画面に収まるようにする。

月はハイフン4つで区切り、月ごとにまとめを箇条書きで書く

次の月になったら、----で区切る。 そして、前の4週間分だか5週間分だかからまとめを書く。 例えば以下のような感じ(また内容はでっち上げているので意味は無い)。

---
== 4月第四週 ==
- #381 バグ調査
- #392 X機能関連調査
- #392 X実装
- Ninja化

== 4月第三週 ==
- 機能Yのパフォーマンス改善続き
- 報告のあった #365 の調査
- 再現している人に環境と手順を見せてもらう
- バグの再現に成功、2つのバグの複合だと判明した為、#381 に別のバグをまとめる

== 4月第二週 ==
- 機能Yの性能評価
- 機能Yのパフォーマンス改善

(こちらは5月に入った時に最初に見直しながらまとめて書く所)
---
== 4月第四週 ==
2021-04-19
- バグ #381を調査
- 実際にはこのバグを直す為には機能Xを実装する必要がある事が判明、チケットを切る #392
- #392実装調査

(以下上記の「大まかな例」の所に書いた記述が続く、こちらは日々書いたもの)

このように、週にやった事を5個程度の箇条書きにまとめて、その月にやった事が1画面におさまるようにしている。

日ごとの方には先に述べた通り1日5個くらいだが、 月でのまとめでは各日1個くらいに短くまとめる事になる。 といっても日ごとに1つになるようにするというよりは一週間分を眺めて5個くらいにする感じだが。

今の所、まとめも各週の区切りは== 4月第四週 ==とかいう感じで、毎日書いている方と同じ区切りにしている(というかコピペしている)。 もう少し見やすく違う感じにした方がいいかもしれない。

このまとめを作る時に前の月にやった事について少し考える時間を設けている。

月のまとめは最後の週の上に書く。

雑感など

日ごとの区切りは特に無くて、単に日付を書くだけなのだよなぁ。 IMEで「きょう」で変換して出てきた日付にしている。 その次が箇条書きだけなのでまぁ十分かなぁ。

以前は箇条書きの下にその日の雑多なメモ(エラーログとかググった時のurlとか試して駄目だった事とか)なども書いていたのだが、作業は日をまたいだりしがちだし、 後から一覧したい時にそうしたメモがダラダラ続くと見づらいので、 今は日のやった事の箇条書きとは分離して、でも週の中には入るように書いている。

特にエラーのログとかパフォーマンス調査で測った数字がダラダラ続くような時は相当の長さになるので、 その日やった事を一覧したい時には目に入らない方が都合が良い。

雑多なメモはダラダラ伸びて行きガチなので下に進んでいく方が都合が良く、 その為週の中は下に書き進めていく方が楽なので下に書いていっている。

当然共有した方がいいような事はチケットなりWikiなりに書いていって、 そこへのURLを貼るという感じになる。 実際に共有する必要が無かったなぁ、と後から思う事でも基本は共有側に倒している。

この手の作業ログはWikiとか社内ブログとかに書く事もあるが、 フリーランスという立場から、いろいろな組織のいろいろな仕事を渡り歩く都合から、 テキストファイルが一番多い。

もう少し工夫すればマークダウンには出来るんだろうけれど、別にエディタでしか見ないので、 エディタでのみやすさと書きやすさ最優先にした結果、マークダウンにはなってない。

チケット、Wiki、Slackの分報などとは内容的にもかぶっている事も多い。

いろいろ試行錯誤はあるにせよ近年は割とこんな形で固まってきているので、 まぁまぁ自分的には機能する手法を編み出せたという事なんじゃないか。

俺はこうしているぜ、とか聞かせてくれると嬉しい。