Como as pessoas lidam com palavrões no código fonte e nos comentários do VCS. Manter ou excluir?
E quanto aos palavrões como WTF ou Arrgggh?
Não é profissional, ofensivo ou algo a ser descartado?
source-code
sal
fonte
fonte
grep f.ck
no código fonte de um kernel Linux. Se é bom o suficiente para eles, é bom o suficiente para mim. Mas nunca coloque algo ofensivo em lugares onde há a menor chance de os clientes encontrarem. Fiz isso uma vez e, felizmente, conseguimos fazer a atualização no último minuto, mas não foi divertido. (Bem, na verdade, foi depois.)Respostas:
Deve ser suavemente desencorajado
..você não pode saber quem poderá ver o código fonte ao longo da sua vida.
Embora seja parte do trabalho frustrar-se com um pedaço de código particularmente complexo ou antigo e que queira falar sobre isso, colocar comentários de palavrões / ofensas / arte ASCII / piadas ruins / ofensivas no código-fonte não é profissional e má ideia na minha experiência. Às vezes, o engenheiro que está escrevendo os comentários ignora os possíveis efeitos que seus comentários poderiam ter - aqui estão apenas alguns dos problemas que eu vejo:
Embora todos precisemos ter algumas saídas para frustração / diversão / diversão, o código fonte não é o lugar para isso, IMO. Você não colocaria palavrões / piadas / comentários ofensivos em um contrato, páginas de ajuda, projetos ou outro documento profissional, mesmo que esses documentos possam ser lidos com menos frequência do que o código-fonte.
Se os líderes de equipe se importarem com isso, vai ficar chateado, então eu digo 'suavemente desencorajado' por meio de uma palavra silenciosa com os engenheiros de problemas e forneci mecanismos de ventilação adequados para desabafar, seja Facebook, mensagens instantâneas , air hockey ou um saco de pancadas.
Não é nenhuma defesa dizer que os comentários também são compilados - e o JavaScript ou qualquer outro código dinâmico do lado do cliente?
Aqui estão algumas das experiências do mundo real que tive que moldaram minha opinião:
Enquanto trabalhava na Microsoft, vi que um engenheiro de software não sabia a grafia correta de "não podia" - ele perdeu o o, le de - e havia apimentado muito do seu código com longas explicações sobre como não podia faça o X funcionar porque a pessoa Y estava causando o problema Z. O código dele era ótimo; a ortografia dele não era tão boa. Basta dizer que qualquer revisor subsequente deste código (por exemplo, eu) ficou alarmado ao ver um grande número de palavrões aleatórios no código. Parte desse código passou a ser mostrado aos parceiros (escritores de drivers). Imagine o horror deles ao ver os palavrões. Idealmente, os discursos deveriam ter sido dirigidos ao gerente do projeto na forma verbal (nesse caso, a pessoa Y pode ser convidada para a discussão) ou talvez enviar mensagens, mas não na fonte.
Em uma empresa, um indivíduo de língua estrangeira ingressou em uma equipe de língua predominantemente inglesa. Ele escreveu comentários em seu idioma, pensando que ninguém mais poderia lê-los. Tudo bem, até Babelfish / Google Translate lançar uma opção 'para inglês' para o seu idioma, quando o resto da equipe traduziu alguns comentários e ficou horrorizado com os comentários sujos e muitas vezes depreciativos que o cara estava fazendo sobre a empresa , sua equipe e uma colega de trabalho. Estranho .
Em outra empresa, um cara realmente se interessou pela arte ASCII e colocou todo tipo de arte em seu código-fonte, sem manchas (ou talvez abençoado) pelos revisores de código. Depois de um tempo, ele se voltou para os dragões, por algum motivo, geralmente com algum tipo de slogan. Mais tarde, um galês se juntou à equipe. O emblema nacional do país de Gales é um dragão vermelho, então o novo cara ficou inicialmente alegre com as fotos, mas depois se ofendeu quando algumas das frases tolas poderiam ser interpretadas como ofensivas. Sim, é necessária alguma mediação do líder da equipe, mas isso não deveria ter acontecido.
Nomes / detalhes removidos para proteger os inocentes.
fonte
Se você está vendendo seu código fonte (ou seja, você é um escritor de componentes), provavelmente não deve estar lá.
Se é uma questão de pudor, então, seja qual for, depende de você.
Se você vir alguém escrevendo muitos WTFs, talvez seja um sinal de que você deve conversar com eles sobre os problemas que eles estão tendo.
Se alguém está direcionando sua agressão ao código de outra pessoa, pode estar assediando essa pessoa e você tem uma situação completamente diferente para lidar. Talvez eles tenham uma reclamação legítima e não saibam como expressá-la adequadamente. Talvez eles sejam apenas um idiota.
Não seria aconselhável ter apenas algum tipo de filtro de conteúdo, o que quer que um desenvolvedor escreva é importante e diz muito sobre como as coisas estão indo.
fonte
Eu trabalho para uma empresa da Fortune 500 que projeta, fabrica e vende produtos de consumo que possuem µControllers executando código desenvolvido internamente. O contencioso é sempre uma possibilidade, seja de consumidores que esperam enriquecer rapidamente ou de concorrentes que alegam violações. Por esse motivo, escrevemos nosso código e TODOS os comentários com o conhecimento de que ele pode (provavelmente) estará sob o escrutínio de jurados hostis em algum momento. Isso significa que nomes de variáveis e funções não devem incluir termos incitosos, como
KILL_CHILD(int process_id)
. Embora o objetivo desta função de exemplo possa muito bem ser encerrar processos filhos, como um júri hostil visualizaria esse nome de função se o filho do demandante fosse morto ao usar o produto?Comentários no código podem ser ainda piores. Embora uma equipe de defesa decente provavelmente consiga explicar o que é um processo filho (do exemplo anterior) e por que ele precisa ser encerrado, seria quase impossível se defender de um comentário como:
Comentários imediatos como esses têm sido fatores decisivos em processos judiciais reais.
Em um tópico relacionado, os nomes dos projetos também podem ser prejudiciais quando sob o microscópio de litígios intensos. Você se lembra do alvoroço dos grupos conservadores em meados dos anos 90, quando fontes de notícias de tecnologia relataram "SATAN UNLeashed On The Internet" ?
<rant_mode_off>
Com tudo isso dito, para projetos pessoais, você é livre para fazer o que quiser no seu código.
fonte
Se isso te incomoda e você é o chefe de honra, não vejo por que você não conseguiu implementar uma regra sobre isso. Você é afinal o líder nessa situação hipotética.
No entanto, se isso apenas incomoda você e mais ninguém parece se importar, talvez você deva apenas aceitar.
fonte
Talvez eu não seja a pessoa certa a perguntar, já que geralmente uso palavrões leves.
Eu acho que depende principalmente de quão PC (politicamente correto) é o seu ambiente.
Se eu codificasse para uma empresa de terno e gravata, tentaria não usar palavrões, mas se for para um projeto de hobby ou algo do tipo, tendem a falar mais livremente.
Parece-me que nos EUA e em alguns outros países as pessoas são muito mais PC (ou atoladas) do que na Holanda onde moro e trabalho.
Como um bônus adicional, aqui estão algumas estatísticas sobre palavrões no código: http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language/
fonte
Estou inclinado a concordar que isso pode ser pouco profissional, mas todo mundo xinga de vez em quando, então tento não defender isso contra os outros. Dito isto, a base de código tende a refletir o profissionalismo geral do grupo, de modo que uma base de código carregada explicativa possa refletir um grupo não profissional e uma reunião talvez precise ser para "aplicar algum polimento" ao grupo. Da mesma forma, se certas tendências aparecerem no código, pode ser um indicador de problemas gerais dentro do grupo que precisam ser resolvidos (ou seja, a API com a qual você está trabalhando tem problemas que frustram os desenvolvedores).
Em termos de base de código, geralmente editarei o comentário relevante para ser seguro para o trabalho e deixarei assim. Dependendo do idioma com o qual você está trabalhando, é sempre uma boa idéia, pois você nunca sabe o que pode aparecer na frente de um cliente ou cliente.
fonte
Possivelmente todos os três ... dependendo do seu ponto de vista.
É da natureza humana que as pessoas se expressem usando "linguagem colorida" em determinadas situações. Mais em algumas culturas do que em outras, e em algumas pessoas mais que em outras. Mas a tendência é universal.
Se eu fosse você, eu daria de ombros a menos que você esteja disposto a se tornar impopular com seus colegas de trabalho.
No entanto, se os comentários sobre o código-fonte / VCS forem publicados fora da sua organização, seu gerenciamento poderá adotar uma linha mais forte, considerando que é ruim para os negócios ofender seus clientes.
fonte
Um dos problemas com palavrões é que é diferente de cultura para cultura. Nos EUA, coisas inocentes tendem a ser "bipadas", enquanto em outros países você costuma ouvir o mesmo idioma trocado nas discussões do parlamento.
A profanação de códigos e comentários de confirmação é bastante comum, provavelmente devido à visão "ninguém vai vê-lo". Eu acho que é realmente mais comum agora que a maioria das organizações proíbe os ovos de páscoa.
Pessoalmente, acho que coisas que não são voltadas para o cliente (como materiais de confirmação internos) não são um grande problema.
No entanto, a maioria das grandes multinacionais é administrada por departamentos jurídicos e "locais de trabalho seguros" e tudo mais, o que significa que qualquer coisa que possa ser ofensiva para pelo menos uma pessoa é um problema e uma possível causa de demissão. Detesto admitir, mas tenho tendência a me curvar aos regulamentos daqueles que pagam meu salário.
Uma solução rápida para esse problema é instalar um filtro de palavrões em seu sistema de controle de origem (como um script de pré-envio ou uma verificação regular).
fonte
Eu acho que está tudo bem, desde que não esteja fora de controle, como jogar bombas lá. Eu vi um cara com quem trabalho escrever um script entre dois personagens discutindo os vários objetos que cada um representa. Houve um comentário multilinha que durou 30 linhas desses dois personagens conversando entre si.
/ * * igor: devo me tornar um mestre público? * Frankenstein: ah igor, herdarei suas melhores características ... * /
Continuou assim por um longo tempo. Ele criou dois objetos chamados, você adivinhou: Frankenstein e Igor como parte de uma verificação de sanidade. Foi realmente muito criativo, mas uma perda total de tempo. Eu preferia ter visto alguns WTFs ou palavrões do que um roteiro entre dois objetos C # ...
fonte
Depende da cultura da empresa / cliente. Por exemplo, se você estiver desenvolvendo software da Bíblia, palavrões de qualquer forma são definitivamente indesejáveis. Por outro lado, um desenvolvedor de jogos pode não se importar tanto (ou ir para o outro extremo).
Estou sempre ciente de que quaisquer comentários (no código ou confirmações) devem ser úteis . Certas palavras chamam nossa atenção mais do que outras - palavrões, mesmo a variedade suave, são definitivamente notados. Pode ser útil chamar atenção para algo que está completamente errado, mas você ainda não tem como contornar isso.
Dito isto, não uso palavrões, mas ocasionalmente usarei coisas como "Doh!" ou "Hein?" que não é muito diferente em espírito. Se isso o incomoda, converse com o agressor - ele pode não estar pensando. Se eles disserem para você fazer uma caminhada e você se sentir fortemente a respeito, vá até o gerente. Se você não obtiver apoio do gerente, precisará aprender a conviver com ele ou a outro lugar.
fonte
Bem, não sei exatamente o que mais você deve dizer sobre código como este:
Esse código foi extraído de uma base de código real e extremamente suja que tenho tentado otimizar recentemente. (O código é de código aberto, por isso não estou revelando os segredos de nenhum empregador aqui nem nada.)
fonte
Como outros já disseram, depende do local de trabalho e de quem verá o código-fonte.
Se eu estivesse vendendo o código-fonte, teria um segundo repositório apenas de versões lançadas e não permitiria nenhum comentário de check-in lá fora de uma descrição do que cada nova versão fornece. O que faço no dia a dia e todos os meus erros estão entre mim e minha equipe, não meus clientes.
Atualmente, meu servidor de compilação relata OMG, WTF, kludge, mess e TODO comentários como uma métrica da limpeza restante, para fazer isso agora e faz parte do processo.
fonte
Se você perceber palavrões no software de código aberto e quiser se livrar dele, prepare-se para a possibilidade de retroceder. Não basta escrever um relatório de erro de três linhas e esperar que seja aceito. Escreva um mini-ensaio explicando por que os palavrões e a linguagem discriminatória são ruins e evite as refutações.
fonte
Eu acho que é uma questão de preferência pessoal. Essa coisa realmente não me incomoda, então eu provavelmente a deixaria. Pode até me dar uma dica de onde estão as áreas problemáticas no código.
Eles te incomodam ? Pelo fato de você estar fazendo essa pergunta, acho que sim. Nesse caso, remova-os ou limpe-os em comentários mais apropriados sobre o que está errado.
fonte