1

Lombok has a neat feature to use var instead of local variable datatype declarations. 해당되는 경우 항상 var을 사용하도록 전체 코드 기반을 자동으로 "리팩토링"하는 방법이 있습니까? IntelliJ IDEALombok plugin을 사용하고 있습니다. 이런 기능을 찾지 못했습니다.롬복 : 모든 로컬 변수 선언에 "var"를 자동으로 적용하십시오.

또한 var은 여전히 ​​"실험적"으로 간주되므로 코드 기반을 "엉망으로 만들 수 있습니다"코드베이스가 사용 중단 될 때/어떻게 든 도청/교체/이동 되더라도 의미가 있습니까?

답변

1

또한이 방법을 사용하지 않는 것이 좋습니다.

  • 명시 적으로 표시하는 것이 항상 더 좋으므로 IMHO var은 명시적인 비용이 너무 높을 때만 좋습니다. 이것은 동일한 정보가 RHS에서 반복되는 긴 LHS의 경우에만 해당됩니다.
  • 다이아몬드 연산자 (또는 공장)를 사용하십시오. 그 양쪽에서 형식 매개 변수를 제거하면 var list = new ArrayList<>()이 작동하지 않습니다.
  • val-var이 바람직하다. valvar보다 길지 않으므로 사용하지 않을 이유가 없습니다 (별도의 final이 필요한 경우와 달리). 이 방법을 사용하면 어떤 변수가 변경 될 수 있는지 확인할 수 있습니다.

나는 Lombok 작가가 저에게 동의 할 것이므로 그러한 기능을 지원하지 않을 것입니다. 플러그인 작성자에게도 마찬가지입니다.

+0

목록은 예를 들어 다음과 같이 작동 할 수 있습니다. 하지만 당신이 옳다면, 타입 안전성을 깨뜨릴 것입니다. – BullyWiiPlaza

+0

@BullyWiiPlaza 물론, 가능 합니다만,이리스트는'List list = new ArrayList <>()'보다 짧지는 않습니다. 그리고'var list = new ArrayList () 그것은 더 중요한 장소에서 정보를 제거합니다. – maaartinus

+0

곧, java는'var'을 즉시 사용할 수 있도록 지원합니다. 이미 롬복에서 사용하지 않을 이유가 없습니다. –