Coder Social home page Coder Social logo

Comments (14)

oliviarla avatar oliviarla commented on June 11, 2024

저는 2안이 좀 더 가독성이 좋을 것 같습니다.

from arcus-java-client.

uhm0311 avatar uhm0311 commented on June 11, 2024

@namsic @jhpark816 @brido4125

앞으로 java client 작업을 하기 전, 미리 맞춰두려고 합니다. 의견 주세요.

from arcus-java-client.

namsic avatar namsic commented on June 11, 2024

IDE에 의해 자동으로 import되는 경우에는 어떤 순서를 가지게 되나요?

별도로 정렬되지 않고 가장 아래에 추가되는 형태인가요?

from arcus-java-client.

oliviarla avatar oliviarla commented on June 11, 2024

현재 자바 클라이언트 체크스타일의 경우 아래의 순서를 가집니다.

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.

brido4125 avatar brido4125 commented on June 11, 2024

저도 2안이 가독성이 더 좋은것 같습니다.

from arcus-java-client.

uhm0311 avatar uhm0311 commented on June 11, 2024

다른 포맷의 안을 제안하고 싶으시다면 제안해주세요.

from arcus-java-client.

uhm0311 avatar uhm0311 commented on June 11, 2024

@jhpark816

현재 2안으로 의견이 모아졌습니다. 검토 부탁드립니다.
참고로 @namsic 님과는 오프라인으로 상의했습니다.

from arcus-java-client.

jhpark816 avatar jhpark816 commented on June 11, 2024

@uhm0311
2안으로 하고, 2안에서 그 외의 규칙도 간단히 알려주면 좋겠습니다.

  • 문자열 정렬 순서
  • 그 외..

그리고, 이러한 규칙을 IDE 설정으로 넣을 수 있나요 ?

from arcus-java-client.

uhm0311 avatar uhm0311 commented on June 11, 2024

@jhpark816

그 외의 규칙도 간단히 알려주면 좋겠습니다.

  • 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.

jhpark816 avatar jhpark816 commented on June 11, 2024

@uhm0311
junit 패키지의 import는 javax 뒤에 두는 것이 좋지 않나요?

from arcus-java-client.

uhm0311 avatar uhm0311 commented on June 11, 2024

@jhpark816

아래와 같이 말씀이신가요?

        <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.

jhpark816 avatar jhpark816 commented on June 11, 2024

아래와 같이 문자열 정렬 순서로..

        <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.

uhm0311 avatar uhm0311 commented on June 11, 2024

네 이렇게 적용하도록 하겠습니다.

from arcus-java-client.

uhm0311 avatar uhm0311 commented on June 11, 2024

#629

위 PR로 import 정렬이 설정되었습니다.
import 설정을 반영하는 방법은 인텔리제이에서 원하는 자바 파일을 우클릭해서 Auto Import를 선택하면 됩니다.
디렉토리 내의 자바 파일 전체에 적용하려면 디렉토리를 우클릭해서 하면 됩니다.
프로젝트 전체에 적용하려면 프로젝트 루트를 우클릭해서 하면 됩니다.

from arcus-java-client.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.