背景
一年目のとき、変更によるバグの多さ、バグの特定が困難であること、そして機能追加(削除)の際に必要な工数が予想以上に増大する問題に直面しました。
これらの問題に対処する過程で、まず、コードの品質について考えたので、そのときのことをアウトプットしておきます。
コードの品質を高める目的
・変更によるバグの多さ
・バグの特定が困難であること
・そして機能追加(削除)の際に必要な工数が予想以上に増大することが問題なのか
上記は、ビジネスの成長を妨げるから、ビジネスの機会損失につながるから問題であると考えました。
そして、自分の中で、コードの品質向上の目的を、ビジネスへの貢献としました。
「可読性」と「保守性」
バグの多発、バグの特定困難、工数増大に対処するために、「可読性」「保守性」を意識していこうと考えました。
それぞれ、下記のように認識しています。
可読性
コードの読みやすさ
メリット
・開発効率の向上
・バグの特定が容易
・新規参入者の学習コストの低下
実現方法
・適切な変数名・関数名
・責務の明確化
・適切なコメント
・分岐を減らす
保守性
将来の変更、機能追加(削除)のしやすさ
メリット
将来的な変更、機能追加のコスト削減
バグの修正が容易
実現方法
・依存関係が最小限に抑えられている
・コードを再利用可能にする
・インターフェースと実装の分離
まとめ
自分が問題に感じていたことがなぜ問題なのかを言語化することで、目的意識をはっきりさせることができました。
また、コードの改修提案前に、ビジネスを伸ばすために「可読性」「保守性」を上げていくといった提案の方針を決めることができたので、提案を作っていくのがスムーズになりました。