코스 과정으로 제출할 패키지의 일부인 큰 클래스 (40 정도의 메소드)가 있습니다. 현재 유틸리티 공공 / 개인 등의 측면 에서이 방법이 상당히 혼란스럽고 합리적인 방법으로 주문하고 싶습니다. 이 작업을 수행하는 표준 방법이 있습니까? 예를 들어 일반적으로 필드는 메소드 앞에 나열되고 생성자는 다른 메소드 앞에 나열되며 getter / setter는 마지막입니다. 나머지 방법은 어떻습니까?
답변
일부 규칙은 모든 공용 메소드를 먼저 나열한 다음 모든 개인 메소드를 나열합니다. 즉, 인터페이스가없는 경우에도 의미가 무엇인지 알더라도 API를 구현에서 쉽게 분리 할 수 있습니다.
또 다른 아이디어는 관련 방법을 함께 그룹화하는 것입니다. 이렇게하면 기존 대형 클래스를 여러 개의 더 작고 대상이 지정된 여러 클래스로 분할 할 수있는 이음새를 쉽게 찾을 수 있습니다.
답변
-
클래스 (정적) 변수 : 먼저 공개 클래스 변수, 보호 된 변수 및 개인 변수.
-
인스턴스 변수 : 먼저 공개, 보호 및 비공개
-
생성자
-
방법 : 이러한 방법은 범위 나 접근성보다는 기능별로 그룹화해야합니다. 예를 들어 프라이빗 클래스 메서드는 두 퍼블릭 인스턴스 메서드 사이에있을 수 있습니다. 목표는 코드를 쉽게 읽고 이해하는 것입니다.
출처 : http://www.oracle.com/technetwork/java/codeconventions-141855.html
답변
«코드 규칙»에 대한보다 정확한 링크 : «클래스 및 인터페이스 선언»
답변
보편적으로 인정되는 표준이 있는지는 확실하지 않지만 제 자신의 선호는 다음과 같습니다.
- 먼저 생성자
- 정적 메소드 다음, 항상 메인 메소드가있는 경우 항상 다른 정적 메소드 앞에
- 다음은 일반적으로 메소드의 중요성 순서에 따라 정적 메소드가 아닌 메소드를 호출합니다. 이것은 다른 클래스 메소드를 호출하는 퍼블릭 메소드가 맨 위에 표시되고 다른 메소드를 호출하지 않는 개인 메소드는 일반적으로 맨 아래로 표시됨을 의미합니다.
- 표준 방법 좋아
toString
,equals
하고hashcode
다음 - 게터와 세터는 수업 하단에 특별한 장소가 있습니다.
답변
하나의 클래스에서 40 개의 메소드는 약간 많다.
기능 중 일부를 다른 적절한 클래스로 옮기는 것이 합리적입니까? 그렇다면 이해하기가 훨씬 쉽습니다.
수가 적을수록 자연스럽게 읽는 순서대로 나열하는 것이 훨씬 쉽습니다. 빈번한 패러다임 중 하나를 목록 것들입니다 전에 또는 후에 당신은 당신이 그들을 필요로하는 순서를해야합니다.
이것은 일반적 main()
으로 상단 또는 하단에 있음을 의미합니다 .
답변
내 “컨벤션”: 인스턴스 앞에 정적, 개인 앞에 공개, 메서드 앞에 생성자, 맨 아래에 기본 메서드 (있는 경우).
답변
또한 이클립스는 어떤 이유로 든 클래스 멤버를 혼합하면 클래스 멤버를 정렬 할 수 있습니다.
수업 파일을 열고 주 메뉴에서 “소스”로 이동하여 “회원 정렬”을 선택하십시오.