Esse espaçamento estranho é algum tipo de estilo?

9

Ao ler outro código de programador, ele usa um formato que eu nunca vi. POR EXEMPLO

    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

Eu admito ... esse código me deixa com raiva. É difícil conseguir esse estilo. É preciso combater a formatação padrão fornecida pelo IDE, visual studio.

Eu poderia engolir esta pílula um pouco mais fácil se soubesse que havia uma boa razão para esse estilo. Esse estilo deriva de alguma outra linguagem de programação / IDE?

P.Brian.Mackey
fonte
5
Isso é bizarro. Nos meus 18 anos de desenvolvimento, nunca vi essa convenção.
17 de 26
5
Se eu tivesse que adivinhar, diria que o programador é um convertido em Python que está levemente chateado com a necessidade de chaves e está acostumado a recuar todos os sub-tokens de sintaxe.
Telastyn 15/05
21
CTRL K + CTRL D!
RYFN
2
@ Zeus - Oh meu Deus, isso vai me poupar muito tempo resolvendo essa formatação não convencional !! Você deve obter alguns pontos de resposta para isso.
usar o seguinte
11
Esse atalho de reformatação (Ctrl K + Ctrl D) também funciona em arquivos HTML e outros formatos no Visual Studio.
Oded

Respostas:

19

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

O estilo Whitesmiths, também chamado de estilo Wishart em menor grau, é menos comum hoje em dia ... Ele foi originalmente usado na documentação do primeiro compilador comercial C, o Whitesmiths Compiler . Também era popular nos primeiros dias do Windows, pois era usado em três livros influentes de programação do Windows, o Programmer's Guide to Windows por Durant, Carlson & Yao, Programming Windows por Petzold e Windows 3.0 Power Programming Techniques por Norton & Yao .. .

Esse estilo coloca o colchete associado a uma instrução de controle na próxima linha, recuada. As instruções entre chaves são recuadas para o mesmo nível que as chaves ...

As vantagens desse estilo são semelhantes às do estilo Allman, pois os blocos são claramente separados das instruções de controle. No entanto, no estilo Whitesmiths, o bloco ainda está visualmente conectado à sua declaração de controle, em vez de parecer um bloco de código não relacionado, cercado por espaços em branco. Outra vantagem é que o alinhamento das chaves com o bloco enfatiza o fato de que todo o bloco é conceitual (e também programaticamente) uma única instrução composta. Além disso, o recuo das chaves enfatiza que elas estão subordinadas à instrução de controle.

Uma desvantagem sugerida para esse estilo é que a chave final não se alinha mais com a afirmação a que pertence conceitualmente. No entanto, a chave de fechamento pertence à chave de abertura e não à instrução de controle ...

É uma que eu nunca vi praticada, graças à IPU.

O Eclipse tem um estilo de código Whitesmith embutido para c ++ ... você pode se ferrar com Java, já que todos deveriam usar o mesmo estilo nessa linguagem.

Edward Strange
fonte
4
oh hum, o que significa "thank IPU"? Google não vai me dizer ...
amara
4
Unicórnio rosa invisível. en.wikipedia.org/wiki/Invisible_Pink_Unicorn
Scott C Wilson
O estilo Whitesmiths não inclui guias no final de uma linha. Abas em qualquer lugar, exceto no início de uma linha, são más e precisam ser mortas com fogo.
Tdammers # 15/12
6

Embora o estilo de codificação do seu colega seja bizarro, feio e difícil de ler:

  1. se você não possui padrões de codificação, a formatação deles é tão válida quanto qualquer outra.

  2. se você reformatar o código toda vez que tocar em um arquivo gravado por eles, será muito difícil rastrear alterações - se você fizer uma comparação usando o VCS, muitas linhas de código, se não todas, serão alteradas.

É por isso que você deve ter padrões de codificação, para que todos saibam o que devem fazer e justifiquem a reformatação, caso não tenham cumprido.

Se eles ainda trabalham na sua empresa, você já tentou conversar com eles sobre isso?

mward
fonte
Essa pessoa já se foi há muito tempo. Agora, seguimos as diretrizes de design da estrutura da microsoft.
usar o seguinte
9
Nesse caso, recomendo fazer a reformatação do código como um check-in separado (por exemplo, Ctrl K + Ctrl D) antes de fazer alterações (para facilitar o rastreamento dessa alteração específica).
18711 Brian