나와 R & D 팀은 큰 코드베이스를 유지 관리합니다. 비즈니스 로직을 여러 패키지로 나누었습니다. 일부는 이름이 같은 클래스 를 가지고 있습니다 .
짐작할 수 있듯이 두 클래스가 모두 동일한 Java 파일에서 참조 될 때 이름이 충돌합니다.
예를 들면 다음과 같습니다.
com.myapp.model (package)
- Device (class)
- ...
com.myapp.data (package)
- Device (class)
- ...
우리는 이러한 사례를 다루는 가장 좋은 방법이 무엇인지에 대해 토론했으며 다음과 같은 옵션이 나타났습니다.
첫 번째 옵션
접두사를 추가하여 클래스 이름 바꾸기
ModelDevice DataDevice
두 번째 옵션
둘 다 참조 될 때 전체 패키지 + 클래스 이름 사용
com.myapp.model.Device com.myapp.data.Device
코드 관리 및 확장 성 측면에서 더 올바른 것은 무엇입니까?
우리는 현재 두 가지 접근법을 혼합하고 불일치하기 시작했습니다.
java.util.Date
하고 java.sql.Date
특히 이후 - java.sql.Date
의 서브 java.util.Date
너무 친절하고 데이터 층으로 미끄러 (및 JSON으로 직렬화 잘하지 않습니다).