O que fazer se um colega de trabalho estiver editando seu código apenas para alterar a aparência?


16

O que você deve fazer se um colega de trabalho estiver editando seu código?

Sem o objetivo de adicionar funcionalidade ou corrigir bugs, apenas para alterar a aparência ...


9
Presumo que você tenha um problema com isso. Se sim, por quê? Isso piora o código ?
Zaz

3
@ Josh: Sim, na verdade, isso piora o código, porque é mais difícil de manter por outro programador do que o cara que o escreveu.
Robert Koritnik

4
dar-lhe mais trabalho a fazer #
Oscar Cabrero

4
@ Robert - Acho que você perdeu o ponto de Josh. Alterando a aparência do código pode torná-lo objetivamente mais fácil de manter ... especialmente se ele foi mal formatado para começar.
Stephen C

4
É realmente o seu código ou pertence à equipe?
Eric King

Respostas:


28

Converse com eles sobre isso. Entre na conversa com a atitude de "Eles não estão fazendo isso para me irritar ou porque têm algum tipo de transtorno obsessivo-compulsivo; estão tentando melhorar meu código".

Porque você pode estar errado. Isso pode ser uma correção sutil de bug e você simplesmente não a localizou.

Ou pode ser que exista um padrão de codificação que você não conheça e que esteja violando, e eles apenas o estejam corrigindo.

Ou pode estar tentando incomodá-lo ou ter algum tipo de transtorno obsessivo-compulsivo. Se for esse o caso, peça-lhes que parem e, se isso não funcionar, converse com seu chefe.

Mas você nunca saberá a menos que peça.


17
Vale a pena notar que muitos IDEs possuem recursos de formatação automática. Eu os uso o tempo todo sem pensar nisso. Alguns até formatam todos os arquivos do seu projeto ou todos os arquivos que você abriu, dependendo de como está configurado. Pode ser fácil formatar acidentalmente automaticamente.
Matt Olenik

@ Matt: Excelente ponto.
BlairHippo

1
"Eles não estão fazendo isso ... porque eles têm algum tipo de transtorno obsessivo-compulsivo;" Falando principalmente de mim mesmo, esse nem sempre é o caso! Quando se trata de código, eu sou duas coisas: um perfeccionista e uma maníaca pura. Apesar disso, geralmente busco evitar aplicar essa mentalidade no trabalho de meus colegas.
Nathan Taylor

5
Ah, não estou dizendo que o colega de Tom NÃO é um louco pelo TOC com um senso de limites ruim. Só estou dizendo que entrar em uma conversa com uma mentalidade de "O que diabos está errado com você ?!" não é uma boa maneira de ter uma conversa produtiva. :-)
BlairHippo 15/09

1
@ Chris não precisa se preocupar com justificativa, eu sempre Ctrl + K + D!
Nathan Taylor

16

Não sou tão casada com a aparência do meu código que me incomoda. :) Eu tento aprender com as mudanças. Meu colega de trabalho ajustou os nomes das variáveis? Escreva um loop mais eficiente? Tornar o código mais legível?

Se não consigo ver como as mudanças melhoraram o que já estava lá, geralmente pergunto ao colega de trabalho que fez as mudanças qual foi a motivação por trás delas. É possível que a vantagem não seja óbvia para mim. E se eu estiver certo e eles estiverem errados, talvez eu possa explicar por que escrevi da maneira que escrevi.

Se tudo mais falhar, reverta o check-in. ;)

Edit: Todas as apostas estão desativadas se o desejo de fazer alterações cosméticas introduzir um bug, no entanto.


9

OMI e você e sua equipe devem usar um padrão de codificação de qualquer maneira. Se for esse o caso, as perguntas se tornarão 'seu código original estava em conformidade com o padrão?' Se 'sim', seu colega não deve tocar no seu código, a menos que seja alterado funcionalmente. Se 'não', receio que seu colega tenha todo o direito de organizar seu código. Como líder de projeto, eu me pego fazendo isso o tempo todo.

Se você não estiver usando um padrão de codificação, todo o argumento do que constitui 'bom código' se tornará subjetivo demais. Por isso, você deve usar um padrão de codificação :)


8

Como um dos dessas pessoas (que ocasionalmente reformata o código de outras pessoas), a principal razão pela qual faço isso é a legibilidade. Algumas pessoas são extremamente desleixadas com o seu recuo ou misturando guias e espaços.

A principal coisa que eu tenho o hábito de mudar é reduzir as linhas longas, para que eu possa ler a coisa toda sem a rolagem horizontal. Vou dividir instruções complexas em instruções separadas ou reformatar chamadas / declarações de métodos para listar um parâmetro por linha, se tudo não couber confortavelmente em uma única linha. Também editarei comentários, para corrigir erros de inglês ou apenas para esclarecer as coisas.

Sim, eu poderia deixar isso em paz, mas prefiro reduzir o esforço mental necessário para ler o código.

O que você deve fazer sobre isso? Primeiro, considere que talvez essa pessoa esteja melhorando seu código. Além disso, você deve garantir algum consenso em sua equipe sobre como o código deve ser formatado. Se cada pessoa tem hábitos diferentes, isso atrasa a todos. Se eles não estão melhorando seu código e estão indo contra a corrente, você precisa confrontá-los sobre isso. Se isso não funcionar, pode ser necessário envolver outras pessoas.


Como é sua legibilidade, acho que o código SQL sem recuo é muito mais fácil de ler, porque leio rapidamente e o código recuado me atrasa e dificulta o foco.
HLGEM

6

Pergunte a eles por que eles estão fazendo isso; uma explicação válida pode diminuir sua frustração, mas você deve informar o quanto isso a incomoda. Quem sabe, talvez eles achem que estavam fazendo um favor para você e parem quando descobrirem que isso o ofende. Ou você pode estar lidando com alguém que está sofrendo verdadeiramente de uma condição médica.


"Ou eles têm TOC e podem precisar de medicação." - é melhor não mencionar essa parte, se você quiser permanecer amigável
Zaz

Eu vou fazer uma alteração.
JeffO

5

Ele é permitido? As alterações melhoram o código? Se assim for, engula seu orgulho. Se você sentir que a qualidade do código está piorando, leve-a com o colega de trabalho e pergunte-lhe por que eles sentiram a necessidade de alterar seu código sem nenhum benefício óbvio. Se isso está sendo feito por despeito ou porque a pessoa, por engano, sente que é melhor que você, e você não pode resolver isso com ela, leve-o ao seu chefe.


5

IDEs como o Visual Studio têm uma opção chamada Format Documentque formatará o código de acordo com as regras que o usuário definiu no IDE. Pode ser que seu colega de trabalho esteja usando isso (automaticamente sem saber ou por aplicativo deliberado). Talvez o IDE deles use espaços em vez de tabulações, ou vice-versa, e estes estejam sendo aplicados automaticamente, mesmo sem saber? Mas você precisa conversar com eles para descobrir.

Aliás, muitas vezes vou reformatar o código dos colegas de trabalho se ele obviamente não estiver seguindo algum tipo de esquema de formatação (ou seja, está em todo lugar). É uma maneira esperançosamente sutil de fazê-los notar. (No entanto, eu não a reformataria se fosse legal, mas não do meu agrado).


1
"(No entanto, eu não a reformataria se estivesse arrumado, mas não do meu agrado)" - regra muito importante a seguir, +1
Zaz

Nossas diretrizes de desenvolvimento tendem a colocar o estilo do código mais no canto 'recomendado'. Eu formato automaticamente o código para as recomendações no nível do arquivo, se achar difícil ler.
Joeri Sebrechts

3

Se ele está mudando para que atenda aos padrões de codificação da sua equipe, siga os padrões da próxima vez.

Se ele mudar de forma que não siga mais os padrões de codificação de sua equipe, informe-o sobre o que está fazendo de errado e peça que ele mude de volta.

... Sua equipe tem um conjunto de padrões de formatação de código que são usados ​​por todos, certo?


2

Ocasionalmente, reordenar o código escrito por colegas de trabalho bagunçados (ou corrigir erros de digitação nos comentários). Eles sabem que eu sou obsessivo em formatação e ordem de código e, portanto, eles me deixam fazer isso sem reclamar demais. Às vezes, eles também me dão refrigerantes ou biscoitos grátis.

Obviamente, este é um trabalho ocasional , pois quebrou a funcionalidade de "culpa" no SVN.

Essa também é uma maneira muito básica de fazer algum tipo de revisão de código (normalmente leio a maior parte do código confirmado por meus colegas de trabalho nos módulos em que estou trabalhando).


2

Convenções de código é a resposta. Você deveria ter um no trabalho. Caso contrário, comece agora (um bom ponto de partida é o guia de estilo do Google ). Quando existem regras escritas (ou pelo menos comumente conhecidas), a resposta à sua pergunta é trivial.


1

Eu sinto que você está achando ofensivo fazer isso ...? Por exemplo, eu mesmo corrigia esse código imediatamente

int myFunction( ) {

    int i ;
  return  0;

}

tornar-se

int myFunction() {
    int i;
    return 0;
}

então ... eu deveria ser punido por causa da minha ação? Na vida real, na verdade, tenho toneladas de logs SVN lidos 'Formatação'. ;-)


0

Use uma ferramenta de verificação de estilo

Comece a usar o StyleCop ou similar e aplique regras de estilo de código e também obrigue todos os desenvolvedores a usá-lo. Todo o código terá a mesma aparência, sem exceção. E se reúna com os intelectuais para discutir as regras mais apropriadas para sua organização. Embora as regras padrão já sejam muito semelhantes ao próprio código da estrutura .net.

É a maneira mais fácil de fazer isso. Eu me vi corrigindo o código de outra pessoa em um dos meus empregadores anteriores, porque esse outro cara estava escrevendo código com quantidades excessivas de linhas vazias e sem regras de recuo. O código era realmente ilegível para um desenvolvedor comum. Se o StyleCop existisse naquela época, muitos de nós ficariam realmente felizes.


Eu tenho que votar isso. O StyleCop é uma péssima implementação de uma idéia decente. 1) É executado após a compilação, o que o torna um grande exterminador de projetos em grandes projetos. 2) Suas regras padrão realmente contradizem os padrões do VS em alguns casos. Ele reclama de "//" sem um espaço à direita e depois pede para você usar "////" Novamente, após uma compilação. Essa é a pior parte. Não seria ruim, mas a parte posterior da construção o mata em um grande projeto com um longo tempo de construção.
MIA

Eu discordo de você em muitos aspectos que você apontou. Você pode configurar a maneira como a verificação de estilo funciona. Eu até implementei algumas das minhas próprias regras que fornecem a formatação que eu quero. Em relação à velocidade, não posso dizer que é ótimo. mas em uma máquina decente, deve funcionar muito bem. Pense na velocidade do copiador C ++ no início dos anos 90, onde você foi capaz de preparar uma xícara de chá enquanto isso. Enquanto sua construção falhou !!!!!! ;)
Robert Koritnik

Comecei a usar o StyleCop para ver como vai ser e, embora às vezes seja um pouco chato, também ajuda a encontrar muitos erros que, de outra forma, passariam despercebidos. Você não precisa executá-lo como parte da compilação e pode apenas executá-lo em sua máquina local, também apenas para arquivos únicos. Então você pode usá-lo sem incomodar seus colegas desenvolvedores. Além disso, se você não gostar das regras, poderá desabilitá-las, para não causar nenhum dano real.
Anne Schuessler

+1 Isso não é explicitamente sobre o StyleCop. (StyleCop ou similar ). E essa é uma ideia muito boa. Defina um conjunto de regras, configure sua ferramenta de escolha e faça isso para sempre.
Bruno Schäpper

Hoje em dia, temos Grunt, Gulp, etc., que podem fazer essa etapa exatamente como a StyleCop fez no passado.
Robert Koritnik

0

esse é um pensamento que eu vi na internet falando sobre refatoração e talvez explique por que alguém tocaria seu código para torná-lo melhor:

Por quê?

Há duas razões principais para refatorar:

  1. Para melhorar o código / design antes de criar o seu topo: é realmente difícil criar um bom código na primeira tentativa. A primeira tentativa de implementar qualquer design inicial nos mostrará que interpretamos mal ou esquecemos alguma lógica.

  2. Adaptar-se às mudanças nos requisitos. A mudança acontece no desenvolvimento de software; ser responsivo à mudança é melhor ter uma boa base de código. Temos duas opções para os dois cenários: localizar o código ou refatorá-lo. A correção do código nos levará a um código não sustentável, e aumentará nossa dívida técnica; é sempre melhor refatorar.

Quando?

  1. Quanto mais cedo melhor, mais fácil.

  2. mais rápido e menos arriscado para refatorar um código refatorado recentemente, em vez de esperar para refatorar o código para estar quase completo.

O que?

  1. Todo o código e todo o design são candidatos à refatoração.

  2. Uma exceção por não refatorar algo pode ser um código de trabalho com baixa qualidade, mas, por estar próximo de um prazo, preferimos manter nossa dívida técnica em vez de arriscar a planificação.

Você apenas tem que deixá-lo fazer o seu melhor, se isso for ótimo para ambos e economizar seu tempo no futuro!

Felicidades

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.