2016-12-06 6 views
1

내 클래스는 여러 필드와 접근자를 공유합니다. 예를 getId()한 필드에 액세스하기위한 인터페이스의 명명 규칙

setId(Long id)getTimestamp()setTimestamp(Instant time)

위해 나는 별도의 인터페이스에서 이러한 방법 추상화합니다. 나는 이러한 인터페이스

의 이름을 가장 좋은 방법을 찾고 있어요

I 가정 가능한 제안은 다음과 같습니다

HasId 또는 WithId 또는 Timestamped (하지만 당신은 Ided을 할 수 없기 때문에 이것은, ID 작동하지 않습니다)

인가 이러한 인터페이스에 대한 표준 명명 규칙이 있습니까?

+8

Identifiable, Timestampable? –

+0

좋은 이름을 생각할 수 없다면 디자인이 추상화 될 수 있다는 신호입니다. –

+0

예를 들어'Serializable'을 취하십시오. 그러나 이것은 의견에 기초한 것입니다 ... 그들이 "좋은"대답은 아닌지 확실하지 않습니다. – AxelH

답변

1

여기에는 모범 사례가 없다고 생각합니다. 사용 사례가 무엇인지에 따라 달라집니다. 인터페이스는 "계약"이라는 것을 기억하십시오. 따라서 인터페이스를 명명 할 때 계약과 마찬가지로 생각하십시오.

예 (id) "IsIdentified", "Identified", "Identifiable", "WithIdentifier"를 사용하는 사람들을 보았습니다 ... 아무도 실제로 잘못은 아니지만 "-able "접미사.

이제는 "모든 인터페이스에 -able 접미사가 있어야합니다"라고 생각하지 마십시오. 무엇이 당신의 코드를 더 명확하게하고 인터페이스의 목적은 자명하다 :