/** * ❌ BAD EXAMPLE: Technical method names * * Repository interface uses database/ORM terminology instead of domain language. * Methods should reflect business operations, not technical implementation. */ interface IUserRepository { findOne(id: string): Promise findMany(filter: any): Promise insert(user: User): Promise updateOne(id: string, data: any): Promise deleteOne(id: string): Promise query(sql: string): Promise execute(command: string): Promise select(fields: string[]): Promise } class User { constructor( public id: string, public email: string, public name: string, ) {} }