"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Olfato de código: confusión lingüística

Olfato de código: confusión lingüística

Publicado el 2024-11-19
Navegar:584

Complicar demasiado los nombres conduce al caos

TL;DR: Dar nombres es difícil, no lo hagas más difícil con complejidad accidental innecesaria.

Problemas

  • Nombres poco claros, engañosos, vagos y ambiguos

  • Terminología redundante

  • Abstracciones confusas

  • Abreviaturas crípticas

Soluciones

  1. Simplificar las convenciones de nomenclatura

  2. Garantizar la coherencia

  3. Evitar jerga innecesaria

  4. Usar nombres descriptivos según el comportamiento

  5. Mantener una terminología coherente

Contexto

Ludwig Wittgenstein argumentó que gran parte de la confusión surge del mal uso del lenguaje.

Esto sucede cuando complicas demasiado los nombres, mezclas metáforas o utilizas terminología inconsistente.

Cuando nombras clases, métodos o variables sin claridad, creas un laberinto lingüístico que a otros les cuesta navegar.

Esto provoca errores, dificulta el mantenimiento y genera frustración en el equipo.

Código de muestra

Equivocado

public class AbstractDataHandlerManager {
    private String dtStr;

    public void execProcessingOps(String input) {
        if (dtStr != null && !dtStr.isEmpty()) {
            // process
        }
    }
}

Bien

public class SETIProcessor {

    public void processSignal(String input) {      
            // process
        }
    }
}

Detección

[X]Manual

Puedes detectar este olor cuando los nombres empiezan a ser largos o cuando ves "Resumen", "Administrador", "Manejador", "Ayudante" o "Datos" con demasiada frecuencia.

Otra señal es cuando debes explicar qué significa un nombre a otros desarrolladores, por ejemplo, en una revisión de código.

Etiquetas

  • Nombramiento

Nivel

[X] Principiante

Generación de IA

Los generadores de IA a menudo crean este olor al producir nombres detallados y genéricos que intentan cubrir todos los contextos posibles.

Son expertos en muchos dominios y escriben código, pero frecuentemente no hacen ambas cosas a la vez a menos que se les indique.

Detección de IA

Los generadores de IA a veces pueden solucionar este olor con instrucciones simples de refactorización como "simplificar nombres" o "eliminar términos redundantes", pero tienen dificultades para lograr una comprensión contextual más profunda.

Conclusión

La confusión lingüística en el código genera una complejidad innecesaria.

Utilice nombres claros, consistentes y directos para que su código sea más fácil de leer y mantener.

Relaciones

Más información

El concepto de confusión lingüística de Wittgenstein

Descargo de responsabilidad

Code Smells es mi opinión.

Créditos

Foto de Mimi Thian en Unsplash


El mayor enemigo del lenguaje claro es la falta de sinceridad.

George Orwell


Este artículo es parte de la serie CodeSmell.

Declaración de liberación Este artículo se reproduce en: https://dev.to/mcsee/code-smell-265-linguistic-confusion-2ihj?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3