
YAGNI, KISS, DRY, WET, SLAP, ASAP, YOLO - o que tudo isso significa?
Ave, Coder! Se você já leu literatura de programação em inglês, fez cursos em inglês, trabalhou com outros programadores que falam inglês ou apenas se correspondeu com eles, provavelmente já se deparou com essas abreviaturas e quando um codificador barbudo disse KISS para outro, garanto que sua sobrancelha pelo menos ligeiramente levantado.
Neste artigo, analisaremos o que essas palavras, ou melhor, abreviações, são populares entre os shniks de TI que falam inglês.
Visuais aqui: youtu.be/ub0YtnSwqRA

KISS ("Mantenha a simplicidade, estúpido")
Este não é um padrão, não é um antipadrão ou mesmo uma banda de rock dos anos setenta, neste caso, é um dos princípios ou abordagens mais populares para programar qualquer coisa.
Na verdade, esse princípio exige que seu código seja o mais simples possível, porque uma pilha de funções desnecessárias que se duplicam e o hábito de coçar a orelha esquerda com a mão direita não são sinal de um programador profissional.
Quanto mais simples for o código, mais fácil será entendê-lo, respectivamente, menor será a chance de queimar uma cadeira sob uma pessoa que irá arrastar esse código atrás de você.
Steve McConnell disse uma vez: "Escreva o código como se fosse apoiado por um psicopata violento que sabe onde você mora."
Portanto, é melhor realmente não complicar as coisas que não exigem.

DRY ("Não se repita")
O princípio do Don't Repeat Yourself é muito semelhante ao KISS. Isso é bastante simples e, ao mesmo tempo, tem um significado amplo. Isso é bastante simples e, ao mesmo tempo, tem um significado amplo - entendeu a piada?
Copiar, colar e duplicar fragmentos de seu próprio código, como escoliose ou deficiência visual - todos os programadores sofrem com isso com o tempo. Não há nada errado. Todo mundo às vezes precisa verificar rapidamente algo (comportamento esperado ou outra coisa) para determinar se vale a pena escrevê-lo corretamente. Mas é definitivamente inaceitável enviar esse código para produção.
O DRY nos lembra que todo comportamento repetitivo no código pode e deve ser recuperado (por exemplo, dentro de uma função) para reutilização posterior. Ter duas partes do mesmo código em sua base de código não é bom. Isso muitas vezes pode levar à dessincronização e outros erros em seu código, sem mencionar o aumento no tamanho do programa.

WET ("Gostamos de digitar")
As soluções WET são amplamente difundidas em arquiteturas multicamadas em que um desenvolvedor pode ser encarregado de, por exemplo, adicionar um campo de comentário a um formulário em um aplicativo da web. A sequência de texto "comentário" pode ser repetida em um rótulo, tag HTML, nome da função de leitura, variável privada, banco de dados DDL, consultas, etc. A abordagem DRY remove essa redundância usando estruturas que reduzem ou eliminam todas as tarefas de edição, exceto as mais importantes, enquanto deixa a capacidade de adicionar novas variáveis em um só lugar.

YAGNI ("Você não vai precisar")
Você não precisa disso - este é um princípio que pode contradizer a visão de alguns programadores, bem como daqueles que adicionaram decímetros ao currículo escolar.
Estar pronto para o futuro geralmente é bom, mas não na programação. Deixar qualquer código destinado apenas a futuras extensões não é um grande problema.
Mas se você é um cyber-plushkin por natureza, e só de pensar em deixar apenas o necessário, a cadeira sob seus rolos começa a derreter, então vamos descobrir - isso é uma abordagem ruim para a programação ou é uma clínica na vida?
Projetos Coder não são coisas que têm um final claro. A menos que o autor desista da ideia (e não a transmita a outra pessoa), o projeto essencialmente continua. Portanto, há e sempre haverá espaço para melhorias, seja no conceito, na arquitetura ou mesmo no próprio código.
É uma coisa - como o código ideal parece em sua cabeça - sem erros e muletas, e outra coisa - o que realmente está acontecendo.
Naturalmente, um leve toque de tristeza e apatia pode compreender o codificador em uma noite fria de outono e o codificador pode decidir incluir no programa os chamados "pontos de extensão" (locais projetados para acomodar facilmente novas funcionalidades) se eles não forem usados razoavelmente ou não forem uma função obrigatória em seguida, torna-se apenas um monumento à procrastinação e adiciona complexidade e tamanho desnecessários à base de código. Pensando bem, isso vai até mesmo contra o princípio do KISS discutido anteriormente.

SLAP ("Princípio de nível único de abstração")
O Princípio de Camada Única de Abstração (SLAP) define como devemos organizar nosso código (funções para ser específico) a fim de mantê-lo sustentável.
É difícil conviver com funções longas e complexas. Eles são difíceis para outros desenvolvedores entenderem e difíceis de testar. Se estiver em nossos dedos, então, assim que nos depararmos com tal abominação, devemos imediatamente transformá-la em várias pequenas funções!
Como disse Robert Martin, "As funções devem fazer apenas uma coisa e devem fazê-lo bem."
Mas como exatamente devemos organizar nossas funções? À medida que você, meu amigo peludo, se torna mais experiente em programação, começa a entender mais sobre os aspectos práticos, estéticos e funcionais da programação e um princípio chamado SLAP que se destina a ajudar.
A grosso modo, suas funções devem fazer apenas uma coisa, ou em outras palavras SLAP, devem ter apenas um nível de abstração.
Basicamente, uma função que lê a entrada do usuário, por exemplo, também não precisa processá-la. Em vez disso, você precisará usar uma função separada que fica em um nível diferente e inferior de abstração. Quanto mais geral for uma função e quanto mais outras funções ela usar, mais alta será na hierarquia de abstrações.

FOOBAR (“F **** d acima de todo o reconhecimento”)
Parafraseando em russo: “quebrado para que não possa ser restaurado”.
Essa é uma expressão maravilhosa que chegou a TI da gíria militar, junto com outras obras-primas como, por exemplo, SNAFU - "Situação Normal - tudo fodido"; é algo como: "a situação é bastante natural, mas foi tudo em vão".
Diz a lenda que os programadores C usavam os nomes "foo" e "bar" para variáveis como os chamados "marcadores" ou marcadores de posição, especialmente nos exemplos do tutorial. Assim, suas cabecinhas brilhantes foram libertadas do fardo de inventar novos nomes e puderam se concentrar na solução de problemas.
Com o tempo, isso se tornou uma tradição e migrou do C para muitas línguas não tão antigas, então exemplos de tais nomes podem ser encontrados em livros didáticos em todos os lugares, e a palavra "FooBar", aplicada ao projeto, significa que você pode começar a procurar por outra coisa ...

ASAP ("Assim que possível")
"O mais breve possível."
Recentemente, tornou-se uma tendência "Assim que razoavelmente possível" - "o mais rápido possível, mas dentro de limites razoáveis."
Também passou a ser usado a partir da gíria do exército já durante a Primeira Guerra Mundial. É ativamente usado até hoje, se esta sigla é freqüentemente usada em correspondência com superiores, então isso pode indicar eloquentemente o nível de organização da empresa ou habilidades de gestão e a capacidade de priorizar entre os chefes. Mas há, é claro, exceções, quando a situação saiu do controle e Foobar em geral.

FYI ("Para sua informação")
O significado oficial é "Chamo sua atenção", mas traduzido vagamente: "para que você saiba". Ocorre na correspondência por e-mail em todos os lugares, especialmente quando a correspondência não é conduzida pessoalmente com você, o sol claro, mas, no entanto, eles decidiram informá-lo.

TL; DR ("Muito tempo; não li")
Um análogo de nosso "multi-letras, neosilil". Isso muitas vezes pode ser visto em longos posts, em que o autor revela sua alma e rasga os véus, mas o leitor é preguiçoso demais para mergulhar nesta obra.

DIY ("Faça você mesmo")
Faça Você Mesmo. Vem do nome de pequenas lojas de construção que vendem produtos para consertar uma casa, em vez de construí-la. A implicação é que o trabalho é pequeno e você mesmo pode fazer, sem contratar pessoal qualificado.
Posteriormente, o conceito migrou para TI e pode ser adequado, por exemplo, em situações em que um especialista precisa fazer um trabalho de uma área relacionada, mas é tão pequeno e trivial que é mais fácil fazer sozinho.

Yolo, você vive apenas uma vez")
"Você vive só uma vez." Por analogia com o latim “carpe diem” (“aproveite o momento”), este é um apelo para uma vida plena, mesmo para comportamentos que podem acarretar algum risco. É o último argumento na fronteira com experiência irracional ou diversão irrestrita, mas às vezes pode levar uma mensagem mais razoável: é estúpido deixar o medo governar suas decisões, porque você só vive uma vez.
E lembre-se, YOLO, então KISS. Foi V. Vejo você no canal! Ave!