💨
2022-04-20 崖登りコーディングと時刻付きハーケン
概要
2020年10月頃にドキュメンタリ映画「The Dawn Wall」を見ながら、ふと、日頃のコーディングについて思案して思いついた「時刻付ハーケン」について紹介する。
使用歴
2020年10月に核となるアイデアを思いつき、いくつかの改善を加えながら、ほぼ毎日使用している。
2022-04-20現在でdog fooding時間はだいたい1500時間程度だろう。
「非」対象読者
- コーディング技術は色々検討した結果、改善についてはもう十分だと考える人
- ソースコードに一時的とはいえ、余分なコメントを書きたくない人
- 個人の思いつきについては興味がない人
やること
ソースコードに「時刻付ハーケン」を叩きながらコーディングの崖を短時間で登頂する。
効果
以下の効果があると考えている。
- A. 作業の時間履歴の振り返り
- 時刻付ハーケンを見ることで、何をどこまで作業したかを確認できる
- 割り込みが入る環境での作業再開時のコストを低くできる
- 割り込みに対して作業メモを別途用意しなくて良い
- B. 残作業の振り返りの短時間化
- 関連する作業が漏れなくできたかを確認する時に時刻付ハーケン間をジャンプしながら振り返る
- 実装を失敗した時にどの時点が失敗したかを時刻付ハーケン間をジャンプしながら確認する
- C. 「リファクタリングのハットをかぶる」の促進 (codingとcommentの作業時間分離)
- coding中は最小テキストの時刻付ハーケンを打ちながら高速でcodingの崖を駆け上がる
- codingが一段落して動作確認をできた段階でリファクタリングのハットをかぶる
- リファクタリングのハットの状態で時刻付ハーケンを抜きながら、永続コメントとして残したいものは丁寧なコメントに書き換える
- 以上が終わった段階でVCSにチェックイン (時刻付ハーケンが全てない状態)
- D. 直近の作業予定としてのTODO
- 数時間以内に実行する優先度の高いTODOを時刻付ハーケンの形で残す
- 時刻付ハーケンのみを検索してTODOを消化していく
- E. デバッギングハーケン
- デバッグで確認したい部分にハーケンを打つ
- デバッグが終了次第ハーケンをはずす
補助ツール
- ローカルのgitリポジトリ
- Visual Studio Code
- 他のエディタでも良いが、使い勝手が良いのはこちらの方
- 時計
- ブラウザタブで時刻表示する実装を利用
関連
- The Art of Readable Code
- ゆっくりと動きながら高速でこなす、一流の研究者の Doing リスト
- 外部アノテーション (IntelliJ IDEA))
おわりに
使用例については別記事に書くかもしれない
Discussion