google / google/google-java-format

No empty line before method with Javadoc

Aberta
#399 1 comentário 3 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Java
Estrelas
6.2k
Forks
937
Merge médio
6min
PRs com merge (30d)
3

Descrição

Consider the following code:
```java
class Dummy {
void method1() {}
void method2() {}

void method3() {}
/** Documentation. */
void method4() {}

class Inner1 {}
void method5() {}

class Inner2 {}
// Comment
void method6() {}
}
```

Running `java -jar google-java-format-1.7-all-deps.jar Dummy.java` produces:
```java
class Dummy {
void method1() {}

void method2() {}

void method3() {}
/** Documentation. */
void method4() {}

class Inner1 {}

void method5() {}

class Inner2 {}
// Comment
void method6() {}
}
```

Note how a newline is inserted before `method2` and `method5`, but not before `method4` and `method6`. Based on all occurrences I found in our private code base (using Checkstyle's [`EmptyLineSeparatorCheck`](https://checkstyle.sourceforge.io/apidocs/com/puppycrawl/tools/checkstyle/checks/whitespace/EmptyLineSeparatorCheck.html)) the issue seems to happen:
- only when there is a comment (`//**`, `/*` or `//`) on the method.
- but irrespective of the syntactic construct (another method, a field, a class, ....) that precedes it.

Based on [section 4.6.1](https://google.github.io/styleguide/javaguide.html#s4.6.1-vertical-whitespace) of the style guide I do think such empty lines should be introduced.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece reproduzindo o comportamento do formatador com o exemplo fornecido Dummy.java e o comando google-java-format. Rastreie como as linhas vazias são tratadas ao redor de métodos comentados e, em seguida, verifique se uma linha em branco é inserida antes de method4 e method6, preservando os casos de espaçamento existentes.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
tooling
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.