È questo imbarazzante spaziatura per un certo tipo di stile?

9

Nella lettura di un altro codice di programmatori, usa un formato che non ho mai visto. Per es.

    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

Ammetterò ... questo codice mi fa arrabbiare. È difficile raggiungere questo stile. È necessario combattere la formattazione predefinita fornita dall'IDE, lo studio visivo.

Potrei ingoiare questa pillola un po 'più facilmente se sapessi che c'era una buona ragione per questo stile. Questo stile deriva da qualche altro linguaggio di programmazione / IDE?

    
posta P.Brian.Mackey 15.05.2012 - 17:30
fonte

2 risposte

19

Sì: link

The Whitesmiths style, also called Wishart style to a lesser extent, is less common today... It was originally used in the documentation for the first commercial C compiler, the Whitesmiths Compiler. It was also popular in the early days of Windows, since it was used in three influential Windows programming books, Programmer's Guide to Windows by Durant, Carlson & Yao, Programming Windows by Petzold, and Windows 3.0 Power Programming Techniques by Norton & Yao...

This style puts the brace associated with a control statement on the next line, indented. Statements within the braces are indented to the same level as the braces...

The advantages of this style are similar to those of the Allman style in that blocks are clearly set apart from control statements. However with Whitesmiths style, the block is still visually connected to its control statement instead of looking like an unrelated block of code surrounded by whitespace. Another advantage is that the alignment of the braces with the block emphasizes the fact that the entire block is conceptually (as well as programmatically) a single compound statement. Furthermore, indenting the braces emphasizes that they are subordinate to the control statement.

A suggested disadvantage of this style is that the ending brace no longer lines up with the statement it conceptually belongs to. However, the closing brace belongs to the opening brace and not to the control statement...

È uno che non ho mai visto praticato, grazie a IPU.

Eclipse ha uno stile di codice Whitesmith incorporato per c ++ ... potresti essere fregato con Java dato che tutti dovrebbero usare lo stesso stile in quella lingua.

    
risposta data 15.05.2012 - 17:48
fonte
6

Mentre lo stile di codifica del tuo collega è bizzarro, brutto e difficile da leggere:

  1. se non hai standard di codifica, la loro formattazione è valida come qualsiasi.

  2. se si riformatta il codice ogni volta che si tocca un file scritto da loro, sarà molto difficile tenere traccia delle modifiche: se si esegue una diff utilizzando il VCS, molte altre se non tutte le righe di codice sono cambiati.

Questo è il motivo per cui dovresti avere degli standard di codifica, rendere più facile per tutti sapere cosa dovrebbero fare e più facile giustificare la riformattazione se non ti sono stati assegnati.

Se continuano a lavorare nella tua azienda, hai provato a parlarne con loro?

    
risposta data 15.05.2012 - 18:52
fonte

Leggi altre domande sui tag