Java 클래스는 일반적으로 논리적 “블록”으로 나뉩니다. 이 섹션을 표시하는 규칙이 있습니까? 이상적으로는 주요 IDE에서 지원합니다.
개인적으로이 방법을 사용합니다.
//// Section name here ////
그러나 일부 편집자는 이에 문제가있는 것 같습니다.
예를 들어 Objective-C 코드에서 다음 방법을 사용할 수 있습니다.
#pragma mark -
#pragma mark Section name here
그러면 다음과 같은 XCode 메뉴가 나타납니다.
답변
개인적으로 다음과 같이 80 자 줄 구분 기호를 사용합니다.
public class Client {
//================================================================================
// Properties
//================================================================================
private String name;
private boolean checked;
//================================================================================
// Constructors
//================================================================================
public Client() {
}
public Client(String name, boolean checked) {
this.name = name;
this.checked = checked;
}
//================================================================================
// Accessors
//================================================================================
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
}
물론 이것은 작은 POJO에 대해 약간 과잉으로 보일 수 있지만 큰 소스 파일을 탐색하고 관심있는 방법을 빨리 찾아야하는 거대한 프로젝트에서 매우 유용하다는 것이 입증되었습니다. 또한 이해하는 데 도움이됩니다. 소스 코드 구조.
Eclipse에서는 이러한 막대를 생성하는 사용자 정의 템플릿 (Java-> Editor-> Templates in Eclipse ‘s Preferences dialog)을 만들었습니다. -sepa (접근 자용 SEParator)-sepp (속성 용 SEParator)-sepc (생성자 용 SEParator)-등
또한 표준 “새 클래스”템플릿 (Java-> 코드 스타일-> Eclipse 환경 설정 화면의 코드 템플릿)을 수정했습니다.
또한 Coffee-bytes 라는 이전 Eclipse 플러그인이 있는데, 이는 Eclipse가 코드의 일부를 접는 방식을 향상 시켰습니다. 여전히 작동하는지는 모르겠지만 // [SECTION] 등의 특수 주석을 추가하여 임의의 폴더 블 영역을 정의 할 수 있다는 것을 기억했습니다. 최근 Eclipse 개정판에서 여전히 작동 할 수 있으므로 살펴보십시오.
답변
intellij / android studio에는 놀라운 솔루션이 있습니다.
시작 :
//region Description
및 끝 :
//endregion
단축키는 Command+ Alt+ T(Mac) 또는 Ctrl+ Alt+ T(Windows)로 열 수있는 메뉴에 있습니다.
필요한 경우 시각적 분리를 추가하기 위해 고유 한 선을 추가 할 수도 있습니다. 영역은 다른 기능과 마찬가지로 +/- 버튼으로 자유롭게 축소 및 확장 할 수 있습니다. Command+ Alt+ Period( Ctrl+ Alt+ Period)를 사용하여 지역을 탐색 할 수도 있습니다.
소스 .
예:
//region Parceler Implementation
//---------------------------------------------------------------------------------------
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeParcelable(this.die, 0);
dest.writeParcelable(this.dieSprite, 0);
}
private DieVm(Parcel in) {
this.die = in.readParcelable(Die.class.getClassLoader());
this.dieSprite = in.readParcelable(Sprite.class.getClassLoader());
}
public static final Parcelable.Creator<DieVm> CREATOR = new Parcelable.Creator<DieVm>() {
public DieVm createFromParcel(Parcel source) {
return new DieVm(source);
}
public DieVm[] newArray(int size) {
return new DieVm[size];
}
};
//---------------------------------------------------------------------------------------
//endregion
답변
Eclipse는 개요보기에서 카테고리별로 필터링 할 수 있는 @category javadoc 어노테이션 ( “카테고리 지원”으로 표시된 섹션으로 스크롤)을 정의합니다 . 정확히 원하는 것이 아닙니다. 아무도 당신의 스크린 샷과 같은보기를 제공하는 Eclipse 플러그인을 작성하지 않았다는 것이 놀랍습니다.
답변
나는 xcode를 사용할 때도 그것을 좋아했습니다. 이클립스의 경우 ctrl + o (빠른 개요)를 사용하여 Java 클래스를 탐색합니다.
답변
작업을 돕기 위해 코드에서 불필요한 주석 / 마커를 사용하는 것은 좋은 습관이 아닐 수 있습니다. xcode 및 Java 개발에 대한 아이디어는 거의 없지만 eclipse와 같은 특수 마커가없는 구성원을 찾는 모든 주요 IDE의 지원은 ctrl+O
, Intellij를 사용하여 트리거 할 수있는 개요보기를 사용하여 메서드와 구성원을 보여줍니다 (Mac에서 더 많이 사용하고 커뮤니티 에디션도) 동일한 개요 개념을 가지며 (ctrl + f12)를 사용하여 빠르게 액세스 할 수 있습니다. 그래서 여기서 내 요점은 코드에서 불필요한 마크 업을 사용하지 않는다는 것입니다. 모든 (또는 최소한 좋은 / 정상적인) IDE가 자동으로 할 수 있기 때문입니다.
답변
내가 아는 한 클래스 멤버를 함께 그룹화하는 데 지원되는 사양은 없습니다. 원하는 주석 규칙을 사용할 수 있지만 어떤 도구에서도 지원되지 않을 가능성이 있습니다.
상속 또는 집계를 통해 관련 멤버를 별도의 클래스로 그룹화하는 것이 좋습니다. 이것은 좋은 OOP 스타일로 간주됩니다.
답변
제공된 Andrey의 답변 외에도 // region // endregion을 사용하기 위해 주요 코드 섹션에 [BigAscii letters] [1]를 삽입합니다. 빠르게 스크롤하면 정말 눈에.니다. 이 접근 방식의 한 가지 단점은 검색 할 수 없으므로 아래 에서처럼 “배너”바로 아래에 검색어를 추가해야한다는 것입니다.
인용구
// _ _____ _____ _ _
// | | | __ \ /\ | __ \ /\ | | | |
// | | | | | | / \ | |__) | / \ _ _| |_| |__
// | | | | | |/ /\ \ | ___/ / /\ \| | | | __| '_ \
// | |____| |__| / ____ \| | / ____ \ |_| | |_| | | |
// |______|_____/_/ \_\_| /_/ \_\__,_|\__|_| |_|
//
// Search here with: LDAP Auth
[1] : http://patorjk.com/software/taag/#p=display&c=c%2B%2B&f=Big&t=LDAP 인증