Polémica incorrecta

En este artículo, trataremos de considerar opciones para polémicas incorrectas, que, por desgracia, a menudo se encuentran en Habr y otros sitios.


Absolutización del enfoque descrito.


Se sabe que cualquier método llevado al absoluto se vuelve estúpido.


Por ejemplo, el uso excesivo de OOP da como resultado un código ilegible. Un rechazo completo de OOP y la transición a un código puramente funcional también reduce la legibilidad.


La verdad siempre está en algún punto intermedio.


Pero cuando quieras contarle a alguien cómo aplicaste algún método con éxito, prepárate para el hecho de que hay un oponente que intentará usar este método en todas partes.


Una vez escribí un artículo sobre el uso de eventos con nombre, y un comentarista vino a mí y me dijo:


¡Mierda! Reemplacé todas las funciones en mi código con eventos con nombre. ¡Resultó un infierno de identificadores a través de los cuales fue extremadamente difícil pasar! Después de eso, volví a la buena React!

Que hacer


  1. No te involucres en una disputa.
  2. Una vez para comentar que no debes exagerar con la herramienta.

Charla terminológica


No es ningún secreto que en muchos casos la frontera entre los términos es difícil de trazar. A menudo, dos términos diferentes significan lo mismo y viceversa. Depende del contexto y los límites de uso.


Por ejemplo, estás hablando de algo. Sobre el problema X :


Considere el problema X , que se manifiesta, por ejemplo, en los casos A , B , C y D El problema es esto y aquello. Puedes resolverlo más o menos.

Definitivamente habrá un comentarista que dirá:


¡Mierda! Su término D aplica incorrectamente! En realidad tienes que decir D- . El término D introdujo tal y tal .. en tal año. Y el término D- otro .. en otro año.

Por alguna razón, los años y el nombre son importantes.


Le respondes:


En el marco de este artículo, no es particularmente importante si es D o D- , ya que aquí estamos hablando del problema X D aquí es un ejemplo y un D- puede ser el mismo ejemplo. En este contexto, no hay diferencia: el problema X presente tanto en D como en D- .

Otro participante aparece de inmediato. Declara:


Esto no es una D- , ¡es E !

Comienza un debate sobre los términos, que puede durar para siempre. Pulpa especial: si después de un par de días de disputas aparece otro participante, en alguna etapa de la disputa vuelve al término D :


No, esto no es E , ¡esto es D !

Como resultado, la publicación recopiló más de 100 comentarios sobre los términos D , D- , E y los años de nacimiento de quienes introdujeron los términos. Pero el problema X no X discutido.


Una vez tuve un comentario sobre los problemas de usar variables globales (o estáticas).


Proporcionó un ejemplo con un singleton. El singleton en el ejemplo se implementó usando una variable global.


Singleton

Singleton es un objeto instanciado en el sistema solo una vez. Se puede garantizar una única instancia de varias maneras:


  • La clase en sí misma garantiza esto de alguna manera (generalmente se refiere a una variable global / estática).
  • Esto se hace fuera de la clase, en el momento de la creación de instancias (en este caso, varios objetos de esta clase se pueden crear teóricamente, pero si el punto de creación de instancias está vinculado, por ejemplo, a una variable global, entonces podemos suponer que creamos un singleton).

Elegí la segunda opción.


Inmediatamente hubo un personaje que exclamó:


¡Mierda! ¡Esto no es un singleton, es una memorización!

Yo respondí:


Este es un singleton, que en este ejemplo se implementa mediante la memorización.

Y entonces me involucré en este juego. El problema de las variables globales / estáticas ha sido olvidado.


Que hacer


  1. No se involucre en la disputa (si realmente queremos discutir exactamente lo que escribieron en el artículo).
  2. Verifique cuidadosamente los términos en el artículo. Si algo puede tener dos nombres, les damos ambos.
  3. Regrese suavemente a la audiencia al tema en discusión. Recuérdame a ella.

¡Esto no es una bala de plata!


Cualquier solución tiene límites en los que funciona bien y fuera de los cuales funciona mal: se requiere otra solución.


Supongamos que está discutiendo alguna forma de resolver una variedad de problemas.


Seguramente habrá una persona que vendrá y dirá:


¡Mierda! Traté con tu pala de clavar clavos en la pared, resultó mal. ¡Las manos solo duelen! Volveré al viejo martillo.

Que hacer


No te involucres en una disputa. Solo ignora el comentario.


Hiperbolización de problemas


Describe una forma de simplificar la escritura de código en algún tipo de paradigma. Ciertamente habrá una persona que buscará ejemplos / opciones que sean contraejemplos y los hiperbolizará.


Sus comentarios se pueden reducir a esto (solo que él no lo dice directamente):


Una vez de cada 100 casos, mejoramos solo 99, y el uno entero no mejora, su propuesta es un completo desastre.

Como regla general, al mismo tiempo ofrece otra solución, que simplemente propone rechazar en su artículo.


Que hacer


  1. Reconoce un problema.
  2. Intente dar más ejemplos cuando su enfoque sea mejor.

Ignorando problemas


Lo contrario de la opción anterior.


Copiar código 23 veces? ¡Pff que bagatela! ¡Establezca el IDE correcto, donde se hace con un botón, y no necesita escribir artículos aquí!

Que hacer


Ignora tales comentarios.


¿Y qué opciones de polémica incorrecta conoces?

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


All Articles