Você tem medo do escuro? Talvez um apocalipse zumbi ou monstros debaixo da cama? Nós não sabemos. Nós, especialistas em TI, temos suas próprias fontes de horror: usuários desonestos, longe de chefes de TI, servidores com falhas, backups ausentes ou não realizados, código estabelecido e comícios ágeis, quando na verdade todo o desenvolvimento é controlado por gritos de "ontem", "o cliente está jogando" , "Criticou o prod." Na véspera do Halloween, decidimos encontrar as histórias mais terríveis, contar algumas das nossas e ao mesmo tempo ouvir as suas. Bem, você está pronto para contar as histórias de arrepiar a alma?
Fácil aquecimento para arrepios
Vamos começar com uma função muito simples. Em teoria, ela deve verificar se o número é primo.
bool primeCheckUgly(unsigned long long int n){//good luck ...
Bem, se o comentário nos desejou boa sorte, então você está definitivamente pronto para ver uma captura de tela do código completo dessa função. Você está pronta? Bem?
E o que o snippet de código faz na captura de tela a seguir?
Boo!Verifica se o número é ímpar. O que você achou?
Histórias Assustadoras Tempo Com Reddit
História 1
Lista muito longa e assustadora - nós avisamos! O usuário veio discutir se esse código é adequado ... para um aplicativo de negócios. Os comentaristas ficaram pelo menos chocados e encontraram muitos problemas:
- ameaças de segurança pesadelo, vulnerabilidades SQL
- problemas com suporte a código (monólito para 3,5 mil linhas)
- problemas com dimensionamento
- truques terríveis, funções e organização do código (o autor não se arrependeu de espaços)
- estrutura e legibilidade ruins do código.
Leitores severos são aconselhados a sair do estado em que se encontram e aprender uma lição para os negócios (sim, nós, como provedor de hospedagem, também sabemos que tipo de clientes pobres vêm de fornecedores "gratuitos" do arado). Bem, o melhor comentário colocou os pontos sobre i: "Se não fosse o álcool, a maioria dos códigos que eu veria também me manteria acordado" (se não fosse o álcool, a maior parte do código que eu vi também não me deixaria cair no sono).
História 2
Um tutorial on-line trata cada palavra como um elemento HTML separado; portanto, não é possível copiar e colar mais de 10 palavras por parágrafo. No entanto, em alguns lugares o Reddit é quase como o Habr; portanto, nos comentários, apenas alguns usuários comentaram o autor do código como mu ** ke, o resto deu muitos conselhos sobre como contornar esse recurso e obter todo o texto da melhor maneira possível. Se alguém precisar de métodos, você pode
ler sobre eles
no próprio tópico .
História 3
Ele pagou US $ 50 por hora por esse código e criou (nagovnokodil) um arquivo inteiro com mais de 3000 linhas.
A comunidade decidiu que o cliente é o culpado, porque US $ 50 é um centavo, o que significa que você só pode confiar na contratação de um "macaco". Alguns decidiram que aquilo era apenas uma piada de mau gosto e o cara estava dando uma olhada. Bem, uma análise detalhada do que está errado no código
no thread .
História 4
É claro que essa é uma história à beira da ficção científica, mas que, no início de uma bela juventude, não fez algo assim.
O cara estava com preguiça de selecionar todos os arquivos no diretório e não apresentou nada melhor do que usar o utilitário
rm -rf /*
Mas algo, aparentemente, pulou uma batida em sua alma e ele se virou para o posto de gasolina, se a linha de pensamento correta foi escolhida, o cara recebeu confirmação e ... bem, você entende. Os comentários são cem por cento: "quão saborosas são suas lágrimas" "não faz sentido perguntar ao gerente técnico como excluir arquivos no Linux", "você não deve ter dominado muito o Linux" (achamos que ainda há alguns problemas com o Google e o bom senso) , "Fail!". Achamos que a história é mais como uma bicicleta, mas foi a partir dela que um calafrio passou pelas costas e, de alguma forma, eu imediatamente quis sair da raiz. A propósito, também existem
algumas dicas úteis .
História 5
Uma bicicleta semelhante à anterior. Uma equipe :-)
sudo rm –fr /
Boo!Mas não há nada terrível aqui.
A história de nosso amigo de sua experiência passada
"Ano de 2008. Nosso site foi invadido. Era um site seguro e normal, visitado por mais de 5.000 pessoas por dia. E na página principal apareceu um texto com erros sobre o Pentágono e ameaças de tirar cem milhões de nós (a propósito, isso era apenas parte da receita da empresa). Sat-shniki nas orelhas, o diretor em pânico, STO lavou a corda, os desenvolvedores correram para Vaselina. Nada. Eles fecharam o site, desligaram 404, receberam uma enxurrada de ligações. No dia seguinte, mamãe à la Anfisa Chekhov entrou com o melhor suco e trouxe um garoto completamente torturado de 16 anos em copos. Diz: "Este é meu filho, ele é um hacker, leve-o para o trabalho". A estação de serviço saiu do circuito, pegou a pequena pelo ombro e a forçou a mostrar a pequena bugiganga (ainda não anunciamos os detalhes), disseram à mãe sobre o Código Penal da Federação Russa, mas apresentaram algo para o cara. ”Em geral, o fator humano é a razão pela qual cada um de nós pode ter um Halloween pessoal em qualquer dia útil.
Como não se tornar um herói dessas histórias para seus colegas
Dicas para programadores
- Comente o código, especialmente se você é novo no desenvolvimento. Isso ajudará você e seus colegas e aqueles que entrarão no projeto muito mais tarde.
- Melhor ainda, escreva um código legível. O código nada mais é do que uma linguagem de comunicação especial para uma equipe de programadores. Um bom código é auto-suficiente, lembre-se disso. Deixe até aqueles que vierem para a equipe depois que você entender.
- Chame variáveis e funções de unidades lexicais normais para entender o que elas devem fazer.
FsskdQwertZeta
Bad MoveEmployeeFromList
normal. - Siga o estilo de código adotado pela empresa - graças a isso, o projeto será não apenas compreensível, mas também seguro: qualquer desenvolvedor de equipe será capaz de fazer alterações em uma emergência sem perder tempo desvendar a ofuscação ou um estilo ruim.
- Não desperdice lixo no código, módulos, projetos. Remova os módulos desnecessários, não arraste o legado que não está funcionando com você, se possível, refatorar para lançar muletas e derreter bicicletas para um bom código.
- Teste seu código, verifique os scripts do mundo real. Se você não testar o código, ele será testado por prod :-)
Dicas para administradores de sistema
- Documente seu trabalho para facilitar que seus colegas, trabalhadores por turnos e você mesmo entendam cenários padrão.
- Faça backups. Faça sua mãe, backups!
- Automatize seu trabalho, use sistemas de ticket e sistemas de monitoramento.
- Trabalhe apenas sob solicitação - para que você possa provar que está trabalhando e não está dirigindo para o Dota, e “apenas recarregar a base 1C” não é “simples”.
- Construa um sistema de segurança da informação na empresa, evite ofensas de colegas e, especialmente, zelosos "usuários avançados".
- Registrar, registrar, manter registros.
- Tenha um fundo substituto de periféricos e hardware, gerencie licenças, orçamento - seja um gerente de TI e não apenas uma pessoa de “ligação”.
Obviamente, não é? Mas a conformidade com esses princípios simples abrangerá mais do que possíveis problemas que correm o risco de se transformar em histórias arrepiantes sobre Habré, Reddit e outros recursos em que seu feroz fakap está pronto para discutir.
Amigos, hoje, no Halloween, ansiamos por histórias arrepiantes e sua prática de TI. O que fez suas palmas suarem, escuras nos olhos e esfriarem por dentro? Para a melhor história (com a classificação mais alta para comentários), daremos prêmios. Primeiro lugar - um capuz autografado pelo
thelevelord ,
criador do Duke Nukem:
Em segundo lugar - estoque de meias para o ano inteiro :)