Cet espacement maladroit est-il un type de style?

9

En lisant un autre code de programmeur, il utilise un format que je n'ai jamais vu. PAR EXEMPLE

    namespace MyNs.HereWeAre
         {//tab here for some reason
         public class SomeClass
               {//here's another tab
               public string Method()
                    {//yet another tab
                    string _variable = "";//no tab implementation
                    return _variable;
                    }
               }//eof - class  (Yes these eof comments are on every file)
        }//eof - namespace
// eof - file

J'avoue ... ce code me met en colère. Il est difficile de réaliser ce style. Il faut combattre le formatage par défaut fourni par l'IDE, Visual Studio.

Je pourrais avaler cette pilule un peu plus facilement si je savais qu'il y avait une bonne raison à ce style. Ce style provient-il d'un autre langage de programmation / IDE?

P.Brian.Mackey
la source
5
C'est tout simplement bizarre. En 18 ans de développement, je n'ai jamais vu cette convention.
17 du 26
5
Si je devais deviner, je dirais que le programmeur est un converti Python qui est légèrement contrarié d'avoir besoin d'accolades et est habitué à indenter tous les sous-jetons de syntaxe.
Telastyn
21
CTRL K + CTRL D!
RYFN
2
@Zeus - Oh mon Dieu qui va me faire gagner tellement de temps à résoudre ce formatage non conventionnel !! Vous devriez obtenir des points de réponse pour cela.
P.Brian.Mackey
1
Ce raccourci de reformatage (Ctrl K + Ctrl D) fonctionne également sur les fichiers HTML et d'autres formats dans Visual Studio.
Odé

Réponses:

19

Oui: http://en.wikipedia.org/wiki/Indent_style#Whitesmiths_style

Le style Whitesmiths, également appelé style Wishart dans une moindre mesure, est moins courant aujourd'hui ... Il était à l'origine utilisé dans la documentation du premier compilateur C commercial, le Whitesmiths Compiler . Il était également populaire au début de Windows, car il était utilisé dans trois livres de programmation Windows influents, Guide du programmeur pour Windows par Durant, Carlson & Yao, Programming Windows par Petzold et Windows 3.0 Power Programming Techniques par Norton & Yao. .

Ce style place l'accolade associée à une instruction de contrôle sur la ligne suivante, en retrait. Les instructions entre accolades sont en retrait au même niveau que les accolades ...

Les avantages de ce style sont similaires à ceux du style Allman dans la mesure où les blocs sont clairement séparés des instructions de contrôle. Cependant, avec le style Whitesmiths, le bloc est toujours visuellement connecté à son instruction de contrôle au lieu de ressembler à un bloc de code sans rapport entouré d'espaces. Un autre avantage est que l'alignement des accolades avec le bloc souligne le fait que le bloc entier est conceptuellement (ainsi que par programme) une seule instruction composée. En outre, l'indentation des accolades souligne qu'elles sont subordonnées à la déclaration de contrôle.

Un inconvénient suggéré de ce style est que l'accolade de fin ne correspond plus à l'instruction à laquelle elle appartient conceptuellement. Cependant, l'accolade fermante appartient à l'accolade ouvrante et non à l'instruction de contrôle ...

C'est une pratique que je n'ai jamais vue, merci à l'UIP.

Eclipse a un style de code Whitesmith intégré pour c ++ ... vous pourriez être foutu avec Java car tout le monde est censé utiliser le même style dans ce langage.

Edward Strange
la source
4
oh euh que signifie "remercier l'UIP"? Google ne me le dira pas ...
amara
4
Licorne rose invisible. en.wikipedia.org/wiki/Invisible_Pink_Unicorn
Scott C Wilson
Le style Whitesmiths n'inclut pas d'onglets à la fin d'une ligne. Les onglets n'importe où sauf au tout début d'une ligne sont mauvais et doivent être tués par le feu.
tdammers
6

Alors que le style de codage de votre collègue est bizarre, laid et difficile à lire:

  1. si vous n'avez pas de normes de codage, leur formatage est aussi valable que n'importe quel autre.

  2. si vous reformatez leur code chaque fois que vous touchez un fichier écrit par eux, vous trouverez très difficile de suivre les modifications - si vous effectuez un diff à l'aide de votre VCS, alors beaucoup, sinon toutes les lignes de code auront changé.

C'est pourquoi vous devriez avoir des normes de codage, cela permet à tout le monde de savoir plus facilement ce qu'il doit faire et de justifier le reformatage s'il ne s'y conforme pas.

S'ils travaillent toujours dans votre entreprise, avez-vous essayé d'en parler avec eux?

mward
la source
Cette personne est partie depuis longtemps de mon temps. Maintenant, nous suivons les directives de conception du cadre Microsoft.
P.Brian.Mackey
9
Dans ce cas, je recommande d'archiver le reformatage du code en tant qu'archivage séparé (par exemple, Ctrl K + Ctrl D) avant d'apporter des modifications (pour rendre cette modification spécifique plus facile à suivre).
Brian