Grandes palavras ou frases de programação

Protetor de bolsoTrabalhando com alguns programadores excepcionais, frequentemente me encontro em reuniões com arquitetos, líderes e desenvolvedores que (eu acho) amam lançar algumas palavras ou frases complicadas para tentar assustar os gerentes de produto ou seus clientes.

É uma daquelas coisas que os programadores gostam de fazer. Aqui estão dez deles com uma descrição muito simples (que, sem dúvida, atrairá a ira dos desenvolvedores em todos os lugares conforme eu hackear sua terminologia até a morte com minhas metáforas de carro simples):

  1. Abstração - isso é pegar um processo ou função difícil e basicamente quebrá-lo logicamente ... seja por hierarquia (A pertence a B, B pertence a C, etc.) ou por característica ou função (cor, tamanho, peso, etc.). A abstração torna a programação orientada a objetos mais fácil, organizando a funcionalidade logicamente. Para construir meu carro, construo um quadro, um motor e uma carroceria separadamente.
  2. Depreciação - isso significa que há algum código antigo no sistema que pode permanecer, mas precisa ser eliminado. Quando o código é preterido, os programadores não fazem referência ao código nem utilizam o código mais recente até que todas as referências ao antigo tenham sido removidas, quando então ele deve ser removido. Às vezes, se for um recurso que está indo embora, você pode mantê-lo por um tempo avisando aos usuários que ele está indo embora. Recebo um novo sistema estéreo com nova fiação, mas deixo a fiação antiga e não a uso.
  3. Encapsulamento - este é o processo de organizar suas funções de programação dentro de um pai quando a função não alcança nenhuma outra parte do sistema. Se você tem milhões de funções, deseja que elas estejam organizadas de maneira eficiente e funcionando nas áreas em que operam, em vez de tê-las disponíveis globalmente. Coloquei a mecânica de apoio do motor no compartimento do motor ... Não coloco o filtro de óleo no banco traseiro.
  4. Herança - esta é a capacidade de assumir as propriedades de outro trecho de código comum (uma classe) a fim de reutilizá-lo para uma nova funcionalidade sem ter que reescrevê-lo. Herança é outra boa prática de desenvolvimento orientado a objetos. Minha cadeirinha pode ser usada para transportar uma criança ou um adulto - quem quer que esteja sentado nela.
  5. Normalização - este é o método de organizar os dados com mais eficiência em um banco de dados por meio da construção de referências. Um exemplo seria se eu tivesse que gravar semáforos o dia todo ... vermelho, amarelo e verde. Em vez de escrever cada registro com vermelho, amarelo e verde - escrevo 1, 2 e 3 e faço outra tabela onde 1 = vermelho, 2 = amarelo e 3 = verde. Assim, só registro o vermelho, o amarelo e o verde uma vez. Cada uma das portas do meu carro tem a mesma maçaneta. Uma alça, usada em 4 locais diferentes em vez de 4 alças diferentes.
  6. Orientado a Objeto - nas linguagens de programação modernas, este é um método de design que permite escrever código específico em partes, por funcionalidade, e então reutilizá-los. Um exemplo seria se eu quisesse verificar um endereço de e-mail construído de forma válida. Eu poderia construir a função uma vez e, em seguida, usá-la sempre que necessário em meu aplicativo. Meu carro tem aros de 18 ″ que podem ser usados ​​em outros carros do mesmo ou de outros fabricantes.
  7. Polimorfismo - Este é difícil de explicar, mas basicamente é a capacidade de desenvolver código que pode ser usado dinamicamente para outras situações. Em outras palavras, ele pode herdar uma funcionalidade única e dinâmica simplesmente pela forma como é referenciado. Este é um meio de desenvolvimento muito eficiente. Posso usar a tomada elétrica do meu automóvel para carregar meu telefone ou abastecer minha bomba de pneu.
  8. Recursão - este é um método onde o código faz referência a si mesmo. Às vezes, é eficiente e intencional, mas outras vezes pode acabar deixando seus aplicativos fora de controle. Clico em buscar no som do meu carro e ele liga as estações de rádio. Nunca termina, apenas continua.
  9. Refatoração - este é o processo de reescrever o código para torná-lo mais fácil de seguir ou organizá-lo melhor, mas não necessariamente para adicionar qualquer funcionalidade adicional. Eu reconstruo meu motor.
  10. Arquitetura Orientada a Servidor (SOA) - pegue a programação orientada a objetos e aplique-a a grandes sistemas, onde você pode ter sistemas inteiros que executam certas funções. Você pode ter um sistema de gerenciamento de relacionamento com o cliente que se comunique com um sistema de comércio eletrônico que se comunique com um sistema de envio, etc. Eu puxo um trailer com meu carro para enviar itens de um lugar para outro. Eu uso um engate de reboque (XML) para conectá-los.

Percebo que minhas metáforas nem sempre foram perfeitamente acertadas. Espero que tenham ajudado um pouco!

Alguns conselhos quando você ouvir essas palavras em sua próxima reunião com um desenvolvedor ... não volte para o seu lugar e olhe para eles Wikipedia, eles estarão assistindo. Não vacile, eles atacarão. Aqui está o que fazer ... pondere pela janela como se você estivesse pensando profundamente e, em seguida, olhe para trás com um olhar curioso ou coça o queixo. Espere que eles dêem seguimento à sua declaração com mais informações.

… Eles estão assistindo.

8 Comentários

  1. 1

    LOL você realmente acertou em cheio Doug 🙂 Você está tentando nos tirar do mercado? Você sabe muito bem que apostamos que esses conceitos não sejam compreendidos e, portanto, tratemos os clientes da nossa maneira. Agora temos que descobrir uma maneira de enganá-los combinando aqueles chavões para criar uma frase gigante que pode ser assim:

    Bem, você sabe que o recurso que está tentando incluir pode ser abstraído em vários objetos que encapsulam a funcionalidade e se comunicam por meio de um arquiteto orientado a serviços.

  2. 5

    Sendo um desenvolvedor de software, posso apreciar este post. Mas não somos assim tão ruins 😉 Eu nunca enganaria as pessoas com tamanha tagarelice techno 🙂

    Deixe-me tentar pensar em mais algumas palavras para você ...

O que você acha?

Este site usa o Akismet para reduzir o spam. Saiba como seus dados de comentário são processados.