TODOや未実装コードを残さない
Contents
Leave no TODOs or partially implemented code. (TODOや部分的に実装されたコードを残さない)
解説
TODOコメントや未実装のコードは、不完全な状態でコードがマージされていることを示します。これらは時間とともに忘れられ、技術的負債として蓄積します。コードレビュー時にもノイズとなり、本当に重要な問題を見逃す原因となります。すべての機能は完全に実装され、テストが通った状態でコミットされるべきです。やむを得ず後回しにする場合は、課題管理システムに登録し、コード内には残しません。
具体例
// 悪い例
func ProcessOrder(order Order) error {
// TODO: バリデーション追加
if err := saveOrder(order); err != nil {
return err
}
// TODO: メール送信実装
// sendConfirmationEmail(order.Email)
return nil
}
// 良い例
func ProcessOrder(order Order) error {
if err := validateOrder(order); err != nil {
return err
}
if err := saveOrder(order); err != nil {
return err
}
if err := sendConfirmationEmail(order.Email); err != nil {
return err
}
return nil
}
func validateOrder(order Order) error {
if order.Amount <= 0 {
return errors.New("invalid amount")
}
return nil
}
func sendConfirmationEmail(email string) error {
// 完全に実装済み
return emailClient.Send(email, "Order Confirmed")
}
参考リンク
TODOや未実装コードを残さない https://www.tricrow.com/core/coding-standard/no-todos.html

