Polêmica incorreta

Neste artigo, tentaremos considerar opções para polêmicas incorretas, que, infelizmente, são frequentemente encontradas no Habr e em outros sites.


Absolutização da abordagem descrita


Sabe-se que qualquer método trazido ao absoluto se torna estúpido.


Por exemplo, o uso excessivo de OOP resulta em código ilegível. Uma rejeição completa do OOP e a transição para um código puramente funcional também reduzem a legibilidade.


A verdade está sempre em algum lugar no meio.


Mas quando você quiser contar a alguém sobre como você aplicou algum método com sucesso, esteja preparado para o fato de que há um oponente que tentará usar esse método absolutamente em qualquer lugar.


Certa vez, escrevi um artigo sobre o uso de eventos nomeados e um comentarista veio até mim e disse:


Porcaria completa! Substituí todas as funções do meu código por eventos nomeados. Acabou sendo um inferno de identificadores através dos quais era extremamente difícil passar! Depois disso, voltei ao bom e velho React!

O que fazer


  1. Não se envolva em uma disputa.
  2. Uma vez para comentar que você não deve exagerar na ferramenta.

Conversa terminológica


Não é segredo que, em muitos casos, é difícil traçar a fronteira entre os termos. Muitas vezes, dois termos diferentes significam a mesma coisa e vice-versa. Depende do contexto e dos limites de uso.


Por exemplo, você está falando sobre algo. Sobre o Problema X :


Considere o problema X , que se manifesta, por exemplo, nos casos A , B , C e D O problema é isso e aquilo. Você pode resolver isso mais ou menos.

Definitivamente, haverá um comentarista que dirá:


Porcaria completa! Seu termo D aplicado incorretamente! Na verdade, você tem que dizer D- . O termo D introduziu esse .. e tal em tal ano. E o termo D- outro .. em outro ano.

Por alguma razão, os anos e o nome são importantes.


Você responde a ele:


Na estrutura deste artigo, não é particularmente importante se é D ou D- , pois aqui estamos falando do problema X D aqui está um exemplo e um D- pode ser o mesmo exemplo. Nesse contexto, não há diferença: o problema X presente nos D e D- .

Outro participante aparece imediatamente. Declara:


Este não é um D- , este é o E !

Começa um debate sobre termos, que pode durar para sempre. Pasta especial: se após alguns dias de disputa outro participante aparecer, em algum estágio da disputa retornará ao termo D :


Não, isso não é E , é D !

Como resultado, o post coletou mais de 100 comentários sobre os termos D , D- , E e os anos de nascimento daqueles que introduziram os termos. Mas o problema X não X discutido.


Certa vez, tive um comentário sobre os problemas do uso de variáveis ​​globais (ou estáticas).


Forneceu um exemplo com um singleton. O singleton no exemplo foi implementado usando uma variável global.


Singleton

Singleton é um objeto instanciado no sistema apenas uma vez. Uma única instância pode ser garantida de várias maneiras:


  • A própria classe garante isso de alguma forma (geralmente se referindo a uma variável global / estática).
  • Isso é feito fora da classe - no momento da instanciação (nesse caso, vários objetos dessa classe podem ser teoricamente criados, mas se o ponto de instanciação estiver vinculado, por exemplo, a uma variável global, podemos assumir que criamos um singleton).

Eu escolhi a segunda opção.


Imediatamente houve um personagem que exclamou:


Porcaria completa! Este não é um singleton, é memorização!

Eu respondi:


Este é um singleton, que neste exemplo é implementado usando a memorização.

E então eu me envolvi nesse jogo. O problema das variáveis ​​globais / estáticas foi esquecido.


O que fazer


  1. Não se envolva na disputa (se realmente quisermos discutir exatamente o que eles escreveram no artigo).
  2. Verifique cuidadosamente os termos do artigo. Se algo pode ter dois nomes, damos a ambos.
  3. Gentilmente, devolva o público ao problema em discussão. Lembre-me dela.

Esta não é uma bala de prata!


Qualquer solução possui limites nos quais funciona bem e fora dos quais funciona mal - é necessária outra solução.


Suponha que você esteja discutindo alguma maneira de resolver uma série de problemas.


Certamente haverá uma pessoa que virá e dirá:


Porcaria completa! Tentei com sua pá martelar pregos na parede, o resultado é ruim. As mãos só doem! Voltarei ao velho martelo.

O que fazer


Não se envolva em uma disputa. Apenas ignore o comentário.


Hiperbolização de problemas


Você descreve uma maneira de simplificar a escrita de código em algum tipo de paradigma. Certamente haverá uma pessoa que procurará exemplos / opções que sejam contra-exemplos e os hiperbolizará.


Seus comentários podem ser reduzidos a isso (apenas ele não diz isso diretamente):


Uma vez em cada 100 casos, melhoramos apenas 99, e o todo permanece inalterado, sua proposta é uma porcaria completa.

Como regra, ao mesmo tempo, oferece outra solução, que você apenas propõe recusar em seu artigo.


O que fazer


  1. Reconheça um problema.
  2. Tente dar mais exemplos quando sua abordagem for melhor.

Ignorando problemas


O oposto da opção anterior.


Copiar código 23 vezes? Pff que ninharia! Defina o IDE correto, onde é feito com um botão, e você não precisa escrever artigos aqui!

O que fazer


Ignore esses comentários.


E que opções de polêmica incorreta você conhece?

Source: https://habr.com/ru/post/pt485770/


All Articles