Question

nous avons ici au travail une convention de codage très étrange, et je n'ai pas réussi à configurer le Java Formatter dans Eclipse correctement pour faire ce que je veux. La convention dit:

  • Avant une accolade "{", il devrait toujours y avoir une nouvelle ligne

[MISE À JOUR] Il n'y a pas de règle dans notre convention indiquant si après un "{" doit être un saut de ligne ou non. Les exemples utilisent en fait un saut de ligne (et presque TOUTE convention que j'ai vue jusqu'à présent dit ou implique qu'après un "{" et un "}" devrait toujours être un saut de ligne). Ainsi, les échantillons 1 et 2 sont tous deux «syntaxiquement corrects». [/ UPDATE]

Comme cela fait exploser le code, notre équipe a décidé d'écrire du code comme celui-ci (non, ce n'était pas mon choix!):

public void methode(final boolean b)
{ if (b)
  { do.something();
  }
  else
  { do.somethingElse();
  }
}

Mais dans le formateur, j'ai seulement réussi à obtenir ceci:

public void methode(final boolean b)
{
  if (b)
  { 
    do.something();
  }
  else
  { 
    do.somethingElse();
  }
}

ou ceci:

public void methode(final boolean b) { 
  if (b) { 
    do.something();
  }
  else {
    do.somethingElse();
  }
}

Existe-t-il un moyen de dire au formateur de couper les lignes avant un "{" mais pas après? Je sais que le premier style est horrible et je serais ravi d'utiliser l'un des deux derniers, mais c'est une décision de l'entreprise.

Autres conseils

Pourriez-vous désactiver les parties pertinentes du formateur de code et utiliser les modèles à la place.Par exemple lors de la saisie

private_

et appuyer sur ctrl + espace invoquerait le modèle private_method.Vous pouvez alors modifier le modèle privé pour qu'il soit quelque chose comme ça -

private ${return_type} ${name}(${}) 
{ ${cursor}
}

Vous devrez faire des choses similaires aux autres instructions de bloc et vous devrez modifier votre style de codage pour commencer à utiliser les modèles plus souvent, mais je pense que cela pourrait fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top