仕様に記載されたすべての詳細を実装する
Contents
Implement every detail stated in the specification. (仕様に記載されたすべての詳細を実装する)
解説
仕様書に記載された要件は、ステークホルダーとの合意事項であり、完全に実装される必要があります。仕様の一部を省略したり、勝手に変更したりすることは、期待される機能が提供されないことを意味し、プロジェクトの失敗につながります。不明点や実装困難な要件がある場合は、実装前にステークホルダーと協議し、仕様を明確にする必要があります。実装後は、仕様との整合性を確認するテストが必須です。
具体例
// 仕様:
// - ユーザー登録時にメールアドレスの形式を検証する
// - パスワードは8文字以上必要
// - 登録完了メールを送信する
// 悪い例(仕様の一部のみ実装)
func RegisterUser(email, password string) error {
if !strings.Contains(email, "@") {
return errors.New("invalid email")
}
return saveUser(email, password)
// パスワード長チェック未実装
// メール送信未実装
}
// 良い例(仕様をすべて実装)
func RegisterUser(email, password string) error {
if !strings.Contains(email, "@") {
return errors.New("invalid email format")
}
if len(password) < 8 {
return errors.New("password must be at least 8 characters")
}
if err := saveUser(email, password); err != nil {
return err
}
if err := sendWelcomeEmail(email); err != nil {
log.Printf("Failed to send email: %v", err)
// メール送信失敗は登録処理を失敗させない
}
return nil
}
参考リンク
仕様に記載されたすべての詳細を実装する https://www.tricrow.com/core/coding-standard/implement-all-specs.html

