負債と共には生きたくない
これに参加しました!!
すごく勉強になる良いイベントでした。
執筆が遅くなりましたが、引っ越し後まだインターネットが繋がっていないんです。
という言い訳です。
負債とは
- 読むのが辛い/時間がかかる
- 修正するのが辛い/危ない
過去の自分を含めて全てを疑え
こんな時は負債を背負っているはず
- そんな複雑なわけがない
- 1分以上読んでもわからないわけがない
- 一連の処理で行ったり来たり繰り替えすわけがない
負債返済の下準備のタイミング
- 調査やリファクタをしたとき
- 変更を入れるとき
負債の種類を見極める
- 負債の払い戻し: 返済するべき負債
- 負債の転換: ベストではないけどベターに返済
- 利息のみ支払う: コードと共に生きる
なぜ負債を返済する必要があるのか、返済することで何が変わるのか
まとめ
負債があるのは何故か??
- 時間的な制約、実装者の技術力の限界。など色々ある。
- ポジティブに考えると「自分たちの技術力が高いので負債と感じる」
- 「負債vs人」ではなく「負債vsチーム」とする
負債は少しずつ日々返済していくもの
- 貯まってしまった負債は現実世界同様、すぐに返すことはできない。
- 負債を返済する時間がないなら不吉な匂いのするコードにコメントを入れる。
- コメントを入れる仲間(連帯保証人)を増やす
文化を作ろう
- 「低品質のコードを書くのが悪い」のではなく「低品質のコードをマージする文化が悪い」
- 技術的負債を混入しない環境・文化作りが大事。
- 自分がメンテできないコードは Approve するな!
実装よりもリファクタが大変
- 技術的負債を返済するときは、とにかく幅広い知識が必要。
- 遅くなれば遅くなるほど、依存関係が増えるため依存モジュールへの知識も必要であり、
- 後でリファクタしようとすると死ぬことになる。