A julgar competência - faz uma andorinha faz verão?

votos
5

Enquanto trabalhando em algum código Javascript geralmente horrível esta manhã, me deparei com a seguinte (em vários lugares):

// make moveAmount negative
moveAmount = moveAmount - (moveAmount * 2);

Sento-me em frente ao cara que escreveu isso; ele tem sido um desenvolvedor aqui por sete anos. Eu, por outro lado, tem apenas começou, tenho quase júnior e não pretendem saber jack.

Não obstante, tem-me perguntando sobre contorções do cara de lógica simples depois de tantos anos de software em desenvolvimento.

A minha pergunta é o que ver os outros aqui pode levar do competancy geral de um desenvolvedor que escreveu isto (3 semanas atrás), ou ele mesmo refletir em tudo?

Será que alguém apontar a convolução?

Eu, pessoalmente, o trabalho em constante temor de que tais decisões sejam feitas de mim.

Publicado 19/05/2009 em 16:35
fonte usuário
Em outras línguas...                            


9 respostas

votos
30

Solução simples: Mostre-lhe a linha de código e perguntar por que ele fez isso. É uma oportunidade para tanto de você para aprender alguma coisa. Talvez houvesse um bug em um navegador ou algum outro problema (arredondamento vem à mente) para que o código pode quebrar sem essa. Ou ele cometeu um erro. De qualquer maneira, perguntando vai esclarecer isso.

E enquanto você está certo de que outras pessoas vão julgá-lo a partir do código que vêem de você, que não é a única coisa que eles levam em consideração (e se for, então você está trabalhando no lugar errado - sair enquanto você está ainda são). Eles também vão ver quando você está educado, curioso, útil.

Essas coisas contam mais do que o código que você escreve: Código pode ser fixado muito mais facilmente do que os colegas de trabalho irritados.

Respondeu 19/05/2009 em 16:42
fonte usuário

votos
4

O seu exemplo pode ser código pobre, mas eu já vi pior (afinal, há circunstâncias em que ele vai trabalhar, alguns código não pode mesmo dizer que). Eu acho que a pergunta que você está realmente perguntando é: existe alguma linha de código tão horrível que isso significa que o desenvolvedor pode ser considerado incompetente com base em que uma linha?

Eu disse não. Tenho dois filhos que estavam dormentes terríveis como bebês. Eu vim para trabalhar com a gripe. Estive no trabalho no modo de morte marcha onde eu estive trabalhando vinte horas em uma fila. Em tais circunstâncias, qualquer um pode escrever uma linha terrível de código. (É por isso que tais circunstâncias devem ser evitados.)

Concedido, eu espero que eu iria manchar o código terrível depois, e corrigi-lo.

Respondeu 19/05/2009 em 16:47
fonte usuário

votos
3

Ele funciona bem, assim você iria apenas olhar como ap **** se você disse a ele que você não gosta que o código e provavelmente com razão :) Então, novamente ele poderia ter feito esse código 7 anos atrás como o primeiro JavaScript ele escreveu, mas a sério nunca julgue alguém de apenas uma linha de código.

Respondeu 19/05/2009 em 16:38
fonte usuário

votos
2

Quanto ao medo do julgamento, relaxar. É verdade, estamos todos indo para ser julgado por alguém, em algum momento, se é alguma saliência pontiaguda de cabelos ou pouco upstart maleveolent. A principal coisa a se familiarizar com, eu acho, é como obter algo útil de cada tal encontro.

Obviamente, não vão ser pessoas queixando sobre as coisas para o bem dela, mas você também vai encontrar muitas situações semelhantes onde há algo a ser aprendido.

A sugestão para iniciar um diálogo com seu colega de trabalho é excelente; pode alimentar diretamente em apenas como um encontro, a partir do qual qualquer um, ou ambos, podem aprender alguma coisa importante.

Respondeu 19/05/2009 em 19:46
fonte usuário

votos
1

Eu digo que vai depender da andorinha. Se isolado, a linha de código que você mostrou é algo que eu esperaria de um programador exausto, mesmo um muito competente. É um exemplo de algo não pessoas muito inteligentes e cansados ​​não fazem as coisas tão inteligentes. Se, por outro lado, esse tipo de código aparece com freqüência, então provavelmente você está trabalhando com alguém com uma mente distorcida.

Coisas que são indicações óbvias de um programador ruim estão relacionados com as más práticas. Bons programadores não vai fazer métodos enormes. Mesmo cansado, eles vão tentar manter os seus tipos de baixo acoplamento. Eles vão evitar expor campos públicos em vez de expô-los através de assessores ou propriedades. Eles vão tentar herança e agregação como formas de reutilização de código, em vez de repetidamente fazer copy-paste ... A lista é longa. Esses são os tipos de andorinhas que levam-me a sentir-se quase que instantaneamente é verão. :-)

Respondeu 19/05/2009 em 20:01
fonte usuário

votos
1

Desde que ele escreveu há 3 semanas, eu diria que ele deve estar aberto a críticas por esta linha. Ele mostra uma imaturidade que é realmente imperdoável após 7 anos de trabalho profissionalmente.

Se ele teria pelo menos feito isso:

moveAmount -= moveAmount * 2;

Ele teria ficado menos Flack. É, pelo menos, mostra que ele está ciente dos outros operadores e está fazendo algum esforço para tornar as coisas mais legível.

Eu não acho que você sempre pode julgar as pessoas com uma linha, mas o código pode dizer muito sobre a aptidão de uma pessoa que uma linha pode dizer muito sobre uma pessoa.

Respondeu 19/05/2009 em 16:59
fonte usuário

votos
1

Se ele escreveu que quando ele era primeiro início, ele recebe um passe. Se ele escreveu que, recentemente, ele recebe um polegares para baixo de mim. A competência geral do desenvolvedor é definitivamente suspeito.

Outros estão dizendo que você não pode julgar um desenvolvedor por uma linha de código, mas eu digo que certamente pode lançar dúvidas sobre sua competência. Eu não estou sugerindo que você tire conclusões precipitadas, mas que tipo de código é certamente evidência de um desenvolvedor medíocre no melhor.

... e quanto a ele ser relacionado para ser overtired ou estressado ou o que quer ... a linha de fundo é que a qualidade do código é importante. Se ele escreveu uma frase como esta, o que mais pode ter sido escrito que não se destacam tão facilmente?

Respondeu 19/05/2009 em 16:44
fonte usuário

votos
1

este comportamento é diferente do mountAmount = -moveAmount no caso em que 2 * moveAmount pode causar um erro de excesso se moveAmount foi suficientemente grande (como 2 ^ 32-1 por exemplo).

Eu não sei se era sua intenção embora.

Respondeu 19/05/2009 em 16:41
fonte usuário

votos
1

É tentador para encontrar um exemplo e generalizar sobre um desenvolvedor, mas a menos que ele tem um histórico deste tipo de absurdo, eu consideraria isso um incidente isolado. Basta perguntar a ele por que ele não escreveu:

moveAmount = moveAmount * (-1)
Respondeu 19/05/2009 em 16:40
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more