Pendant longtemps , je l' ai soutenu qu'ils étaient de valeur égale, ou si très proche de l' égalité que le gain possible en faisant bien, le bon choix était loin, au- dessous du coût de discuter à ce sujet.
Être cohérent est important , cependant. Alors j'ai dit, jetons une pièce et commençons à écrire du code.
J'ai déjà vu des programmeurs résister à un tel changement. Passer à autre chose! J'ai changé plusieurs fois dans ma carrière. J'utilise même des styles différents dans mon C # que dans mon PowerShell.
Il y a quelques années, je travaillais au sein d'une équipe (environ 20 développeurs) qui a décidé de demander son apport, puis de prendre une décision, puis de l'appliquer à l'ensemble de la base de code. Nous aurions une semaine pour décider.
Beaucoup de gémissements et à couper le souffle. Beaucoup de "J'aime mon chemin, parce que c'est mieux" mais pas de substance.
Alors que nous étions en train d’étudier les points les plus fins de la question, quelqu'un a demandé comment traiter cette question dans l’ordre habituel:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Notez que l'emplacement de la liste de paramètres et le début du corps ne sont pas immédiatement évidents. Comparer aux:
void MyFunction(
int parameterOne,
int parameterTwo)
{
int localOne,
int localTwo
}
Nous avons lu quelques explications sur la façon dont les gens du monde entier ont traité ce problème et nous avons trouvé le schéma consistant à ajouter une ligne vierge après l'accolade ouverte:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
Si vous voulez faire une pause visuelle, vous pouvez également le faire avec une attelle. Ensuite, vos ruptures visuelles deviennent également cohérentes.
Edit : Deux alternatives à la solution 'extra blank line' lorsque K & R est utilisé:
1 / Indenter les arguments de la fonction différemment du corps de la fonction
2 / Placez le premier argument sur la même ligne que le nom de la fonction et alignez les arguments supplémentaires sur les nouvelles lignes avec ce premier argument
Exemples:
1/
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
2 /
void MyFunction(int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
/Modifier
Je persiste à dire que la cohérence est plus importante que d’autres considérations, mais si nous n’avons pas de précédent établi , nous devons nous attendre le lendemain.