Apego emocional ao código [fechado]


26

Como funcionário de uma empresa, quando você escreve um código, sente que tem um anexo? Você sente que possui alguma propriedade do código? Ou você o escreve completamente desanexado, sem se preocupar com o que acontece depois que você se muda para outra coisa?

Edição: Eu não estou falando sobre escrever código ruim e, em seguida, executando ...


Depende fortemente da cultura do local de trabalho.

Respostas:


33

Depois de 30 anos como contratado, é misto.

  1. É tudo descartável. Eu trabalhei com centenas de clientes. Eu nunca vou ver o código novamente. Por que se apegar? Não há senso de propriedade.

  2. É muito visível. É mais caro do que o código interno, por isso é muito minucioso. Como não estarei por perto para mantê-lo, é preciso muito escrutínio. Instruções passo a passo e transferências de código são muito importantes. Há algum orgulho no artesanato. Mas nenhum senso de propriedade.

Meu recorde é de 17 anos de produção. 12 daqueles anos com zero manutenção de qualquer tipo.

Eu sei porque recebi uma ligação. Eles estavam revisando seus sistemas de contabilidade e queriam saber como substituir o inteligente algoritmo de alocação de custos que eu havia construído tantos anos atrás. Examinei o código e os arquivos não foram alterados desde o último aprimoramento, 12 anos atrás. (Não é uma correção de bug, AFAIK.)

A próxima corrida mais longa - que eu conheço - foram sete anos de operação impecável. Isso, no entanto, teve um problema sério no ano 2000 e exigiu alguns retrabalhos para usar nomes de arquivos com anos de quatro dígitos. Os algoritmos internos estavam todos corretos, mas os arquivos de log teriam aparecido na ordem errada.

Novamente, eu sei que foi impecável porque os arquivos não foram tocados desde a última versão que eu fiz.

Então, sim, há muito orgulho no artesanato.

Mas nenhuma "propriedade". É o código deles, não o meu. Eu apenas construo.


1
Demonstra claramente que mesmo programas perfeitos precisam mudar porque o mundo muda.

10

Como um desenvolvedor mais ou menos individual, o medo de ter que manter o que escrevo é o principal driver atrás de mim, tentando não escrever código horrível.


9

No trabalho, parte do código é meu, em um sentido semelhante ao de como a cadeira em que estou sentado é minha. Eu escrevi, fiz o melhor que pude, sinto-me possessivo, as pessoas me perguntam sobre mudanças e as pessoas se referem a ela como minha. E, como minha cadeira, quando eu sair da empresa, nunca mais a verei e não terei mais nenhum apego emocional.

A palavra "meu" tem muitas variações em seu significado. "Minha esposa" e "minha escova de dentes" não são estritamente paralelas.


4

Se você escreve um código para si mesmo, pode se dar ao luxo de ter sentimentos em relação a ele. Se você escreve um código para uma empresa, deve eliminar esses sentimentos violentamente sempre que possível. Não consigo contar o número de vezes que vi bons programadores se sentirem tristeiros ao se emocionarem com o código.

Diga para si mesmo: "Eu consegui, é bom, mas não é meu e posso ganhar mais". Se você acredita nisso, quando 6 meses de sua vida se tornam obsoletos porque um representante de vendas de um produto inferior deu a seu chefe um BJ durante o almoço, você não perde o emprego por enlouquecer com ele.

Lembre-se de que eles estão lhe pagando. Todos gostaríamos de fazer coisas legais, mas se eles estão nos pagando para cavar buracos, preenchê-los novamente, esse é seu privilégio. Acabei de ter uma situação em que escrevi um aplicativo Web, depois passei meses incorporando recursos terríveis e depois meses mais codificando-o de volta ao estado original. As duas últimas semanas de "trabalho" que tirei do meu repositório SVN e o recompus com os novos números de versão. E eu estou bem com isso.


3

Não, mas eu realmente odeio ter que corrigir bugs introduzidos por outras pessoas no código que escrevi originalmente. Eu ficaria mais feliz se a mudança tivesse sido atribuída a mim em primeiro lugar. Eu odeio ainda mais quando a correção está completamente fora do design original, por exemplo, criando uma dependência circular com um módulo de nível superior.


0

Sim e não.

Sim - é algo que você criou e, portanto, tem um anexo, assim como um projetista de automóveis se orgulha ou fica constrangido ao ver carros projetados na estrada.

Não - No que diz respeito à propriedade, normalmente você desiste disso em troca de ser pago para trabalhar em uma empresa. Os funcionários da linha de fábrica que fabricam carros não são proprietários de cada um que sai da linha porque são pagos pelo seu tempo.


0

Eu me sinto muito proprietário sobre o código que escrevo; representa as decisões que tomei sobre como resolver um determinado problema e, portanto, é um reflexo da minha capacidade de pensar racionalmente em um problema e conceber uma solução lógica e esperançosamente elegante. Dito isto, tudo o que escrevo sobre o tempo da empresa pertence à empresa. Espero que nada disso volte a me morder, e eu preferiria que me pedissem para corrigir meu próprio código, mas se não, então não. (E devo acrescentar que o cara que estava escrevendo código há três meses e colocando meu nome nele no controle de origem é um idiota).


0

De modo nenhum. Depois de fazer o check-in, ele não é mais "meu". Naturalmente, serei o responsável pela manutenção e solução de problemas, mas não sinto nenhum senso de propriedade sobre isso.

Eu conheci algumas pessoas que se sentiam muito proprietárias em relação ao seu código, a ponto de se irritarem se alguém corrigisse um bug ou o modificasse de alguma forma sem executá-lo primeiro. Eu nunca me senti assim. Tudo o que peço é que, se você encontrar um problema no meu código e o corrigir, me diga qual foi o problema e como foi corrigido, para que não cometa o mesmo erro no futuro.


0

Eu amo os códigos que escrevo. Eu os entendo e os costuro para que outros também. Quando as pessoas vêm até mim e dizem "Cara, ainda estamos usando o script que você escreveu para nós. É tão estável e portátil", eu amo esse sentimento de orgulho e propriedade.

Não há mal algum em anexar-se ao seu código se você puder ver onde ele vai acabar. em anexo . Porque você adorará criar mais peças de brilho, muito mais.

Por outro lado (ciente de que talvez eu esteja reiterando o que o @ S.Lott disse) se o código acabar como propriedade de um cliente, não há sentido em ser sentimental sobre ele. É como ... cuidar do filhote de cachorro do seu amigo quando ele sai de férias. : - /


0

Empreiteiros e consultores que talvez nunca mais vejam seu código provavelmente não são o candidato ideal para se apegar emocionalmente ao código. Ter que "abandoná-lo" repetidamente provavelmente prejudicaria o impulso criativo dos consultores pobres depois de um tempo.

Se olharmos para isso da perspectiva de um funcionário e não de um contratado, eu diria que gostaria que todos os membros da minha equipe sentissem propriedade do código que escrevem e de tudo o que criam. Essa propriedade e orgulho devem se estender a toda a equipe. Sentir orgulho e propriedade cria um apego ao produto em perguntas e adiciona significado e sentido ao trabalho de um membro da equipe. Eu já vi isso aumentar bastante o desempenho em equipes pequenas e grandes.

O que deve ser evitado e o que eu não gosto são pessoas que parecem emocionalmente ligadas às linhas de código específicas que escreveram e a defendem até o túmulo. Eles não querem que as mudanças sejam feitas, olham para baixo e rejeitam qualquer idéia de mudança ou melhoria e tentam justificá-la com algo que parece credível. O que isso geralmente se resume, a partir de minha própria experiência, é o medo da mudança e o medo do desconhecido. Na verdade, não é abrir mão de suas antigas linhas de código. Em vez disso, é preciso assumir algo novo, às vezes não escrito por você, e o medo de falhar.

Esse tipo de anexo "doente" ao código é algo que eu trabalho duro para tentar evitar. Mas conexões emocionais "saudáveis" com o produto e, por extensão, o código escrito, são algo que eu incentivo.


0

Esta é uma pergunta interessante e concordo com uma das postagens acima: Sim e Não - mas por diferentes motivos.

Eu me apego ao código? Definitivamente sim. Mas não acho que seja o código em si, mas a arquitetura e o aplicativo em geral. Geralmente, você precisa fazer muita pesquisa específica de domínio antes de poder realmente codificar o que as pessoas de negócios desejam (a menos que você esteja escrevendo um IDE - então você definitivamente está preso à recursão).

Por outro lado: não gosto de muitas coisas além de jogar fora partes obsoletas da base de código. Não importa o quão difícil a escrita possa ter sido. A jornada importa muito mais que o produto (pelo menos para o ego, é claro que o produto em si também deve funcionar).

Existe um senso de propriedade? Bem, isso depende da situação do projeto. Quando você nunca mais verá o código (porque sua parte no projeto terminou e você está seguindo em frente), por que ficar romântico com as coisas? No entanto, se você continuar apoiando (de qualquer maneira), uma sensação de apego é uma coisa boa! Quando você se importa com o produto que está construindo, as chances são altas de que você está tentando entregar artefatos de alta qualidade.

Então, apesar de tudo, tento adotar uma "relação" pragmática com o código que escrevo.


0

Inferno, sim, eu bati uma vez em um colega de trabalho porque ele era arrogante o suficiente para renomear algumas variáveis.

Não, não mesmo. Sou pago pelo desenvolvimento de software. Mesmo admitindo, ver as correções feitas no meu código por outros desenvolvedores tem um impacto no ego.

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.