Comments (14)
저는 2안이 좀 더 가독성이 좋을 것 같습니다.
from arcus-java-client.
앞으로 java client 작업을 하기 전, 미리 맞춰두려고 합니다. 의견 주세요.
from arcus-java-client.
IDE에 의해 자동으로 import되는 경우에는 어떤 순서를 가지게 되나요?
별도로 정렬되지 않고 가장 아래에 추가되는 형태인가요?
from arcus-java-client.
현재 자바 클라이언트 체크스타일의 경우 아래의 순서를 가집니다.
import all other imports
<br>
import javax.*
import java.*
<br>
import static all other imports
IDE에 따라 순서는 다른 듯 하지만 1안처럼 static을 섞어쓰는 경우는 오픈소스에서 사용하지 않는 것 같습니다. (https://shanepark.tistory.com/371)
다음은 ngrinder 의 import 예시입니다.
https://github.com/naver/ngrinder/blob/5267a1b398953110e27cf1259f136f66b8bbd0ba/ngrinder-core/src/main/java/org/ngrinder/model/User.java#L14-L40
from arcus-java-client.
저도 2안이 가독성이 더 좋은것 같습니다.
from arcus-java-client.
다른 포맷의 안을 제안하고 싶으시다면 제안해주세요.
from arcus-java-client.
현재 2안으로 의견이 모아졌습니다. 검토 부탁드립니다.
참고로 @namsic 님과는 오프라인으로 상의했습니다.
from arcus-java-client.
@uhm0311
2안으로 하고, 2안에서 그 외의 규칙도 간단히 알려주면 좋겠습니다.
- 문자열 정렬 순서
- 그 외..
그리고, 이러한 규칙을 IDE 설정으로 넣을 수 있나요 ?
from arcus-java-client.
그 외의 규칙도 간단히 알려주면 좋겠습니다.
some.other.packages
,some.another.packages
와 같이 설정이 없는 패키지는 ABC 순서대로 자동 정렬됩니다.- 설정이 없다는 것의 의미는 아래의 설정 파일을 참고해주세요.
이러한 규칙을 IDE 설정으로 넣을 수 있나요 ?
- 규칙을 프로젝트 단위의 설정으로 만들 수 있습니다.
- xml 파일로 되어 있으며, 인텔리제이를 사용하는 경우 별도의 불러오는 작업 없이 자동으로 적용됩니다.
- 참고로 2안에 해당하는 설정 파일은 다음과 같습니다.
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JavaCodeStyleSettings>
<option name="CLASS_NAMES_IN_JAVADOC" value="2" />
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="2147483647" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="2147483647" />
<option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
<value />
</option>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="java" withSubpackages="true" static="false" />
<emptyLine />
<package name="javax" withSubpackages="true" static="false" />
<emptyLine />
<package name="net.spy.memcached" withSubpackages="true" static="false" />
<emptyLine />
<package name="org.apache.zookeeper" withSubpackages="true" static="false" />
<emptyLine />
<package name="org.junit" withSubpackages="true" static="false" />
<emptyLine />
<package name="junit" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
<emptyLine />
<package name="java" withSubpackages="true" static="true" />
<emptyLine />
<package name="javax" withSubpackages="true" static="true" />
<emptyLine />
<package name="net.spy.memcached" withSubpackages="true" static="true" />
<emptyLine />
<package name="org.apache.zookeeper" withSubpackages="true" static="true" />
<emptyLine />
<package name="org.junit" withSubpackages="true" static="true" />
<emptyLine />
<package name="junit" withSubpackages="true" static="true" />
<emptyLine />
<package name="" withSubpackages="true" static="true" />
</value>
</option>
</JavaCodeStyleSettings>
<codeStyleSettings language="JAVA">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
</component>
from arcus-java-client.
@uhm0311
junit 패키지의 import는 javax 뒤에 두는 것이 좋지 않나요?
from arcus-java-client.
아래와 같이 말씀이신가요?
<value>
<package name="java" withSubpackages="true" static="false" />
<emptyLine />
<package name="javax" withSubpackages="true" static="false" />
<emptyLine />
<package name="org.junit" withSubpackages="true" static="false" />
<emptyLine />
<package name="junit" withSubpackages="true" static="false" />
<emptyLine />
<package name="net.spy.memcached" withSubpackages="true" static="false" />
<emptyLine />
<package name="org.apache.zookeeper" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
<emptyLine />
<package name="java" withSubpackages="true" static="true" />
<emptyLine />
<package name="javax" withSubpackages="true" static="true" />
<emptyLine />
<package name="org.junit" withSubpackages="true" static="true" />
<emptyLine />
<package name="junit" withSubpackages="true" static="true" />
<emptyLine />
<package name="net.spy.memcached" withSubpackages="true" static="true" />
<emptyLine />
<package name="org.apache.zookeeper" withSubpackages="true" static="true" />
<emptyLine />
<package name="" withSubpackages="true" static="true" />
</value>
from arcus-java-client.
아래와 같이 문자열 정렬 순서로..
<value>
<package name="java" withSubpackages="true" static="false" />
<emptyLine />
<package name="javax" withSubpackages="true" static="false" />
<emptyLine />
<package name="junit" withSubpackages="true" static="false" />
<emptyLine />
<package name="net.spy.memcached" withSubpackages="true" static="false" />
<emptyLine />
<package name="org.apache.zookeeper" withSubpackages="true" static="false" />
<emptyLine />
<package name="org.junit" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
<emptyLine />
<package name="java" withSubpackages="true" static="true" />
<emptyLine />
<package name="javax" withSubpackages="true" static="true" />
<emptyLine />
<package name="junit" withSubpackages="true" static="true" />
<emptyLine />
<package name="net.spy.memcached" withSubpackages="true" static="true" />
<emptyLine />
<package name="org.apache.zookeeper" withSubpackages="true" static="true" />
<emptyLine />
<package name="org.junit" withSubpackages="true" static="true" />
<emptyLine />
<package name="" withSubpackages="true" static="true" />
</value>
from arcus-java-client.
네 이렇게 적용하도록 하겠습니다.
from arcus-java-client.
위 PR로 import 정렬이 설정되었습니다.
import 설정을 반영하는 방법은 인텔리제이에서 원하는 자바 파일을 우클릭해서 Auto Import를 선택하면 됩니다.
디렉토리 내의 자바 파일 전체에 적용하려면 디렉토리를 우클릭해서 하면 됩니다.
프로젝트 전체에 적용하려면 프로젝트 루트를 우클릭해서 하면 됩니다.
from arcus-java-client.
Related Issues (20)
- "exceeded continuous timeout" 메세지 보강 HOT 1
- locator에서 모든 노드 조회하는 getAll() 사용 상의 문제. HOT 1
- CI 테스트 실패 - 의존성 설치 관련 HOT 4
- "bkey" and "subkey" 용어 사용 정리
- CollectionBulkInsertOperation cancel 시 cancel 원인을 API 사용자가 알 수 없는 이슈 HOT 5
- CI가 간헐적으로 실패하는 현상 HOT 8
- 컴파일 실패 이슈. HOT 3
- 컴파일 warning 제거. HOT 1
- CacheManager daemon thread의 busy reconnect HOT 1
- Checkstyle violations으로 인한 빌드 실패 HOT 3
- CI 명령어를 mvn test에서 mvn clean install로 변경 HOT 3
- writeQ 크기와 readQ 크기의 계산 오류. HOT 5
- Cache List에서 빠져나간 MemcachedNode의 Operation Queue에 쌓인 Operation들의 Redistribution 구현 방안 HOT 12
- API로 노출하지 않아도 되는 public 메소드의 보호 방안 HOT 1
- BulkGetFuture.get() 메소드의 무한 대기 HOT 3
- ZK client 의존성 업그레이드: 3.4.14 => 3.5.9 HOT 6
- Boxing 타입 생성자 대신 valueOf 메서드 사용 HOT 1
- 인터페이스 내 불필요한 접근 제어자
- 정상적인 DNS Name Lookups을 위하여 JVM Cache TTL 설정 필요성을 문서화
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arcus-java-client.