Grandes palabras o frases de programación

Protector de bolsilloAl trabajar con algunos programadores excepcionales, a menudo me encuentro en reuniones con arquitectos, clientes potenciales y desarrolladores a quienes (creo) les encanta lanzar algunas palabras o frases importantes para tratar de asustar a los gerentes de producto o sus clientes.

Es una de esas cosas que a los programadores les gusta hacer. Aquí hay diez de ellos con una descripción muy simple (que sin duda atraerá la ira de los desarrolladores de todo el mundo mientras pirateo su terminología hasta la muerte con mis simples metáforas del coche):

  1. Abstracción - esto es tomar un proceso o función difícil y básicamente desglosarlo lógicamente… ya sea por jerarquía (A pertenece a B, B pertenece a C, etc.) o por característica o función (color, tamaño, peso, etc.). La abstracción facilita la programación orientada a objetos al organizar la funcionalidad de forma lógica. Para construir mi auto, construyo un chasis, un motor y una carrocería por separado.
  2. Deprecación - esto significa que hay un código antiguo en el sistema que puede permanecer pero debe eliminarse. Cuando el código está obsoleto, los programadores no hacen referencia al código ni utilizan un código más nuevo hasta que todas las referencias se han ido al antiguo, momento en el que debe eliminarse. A veces, si es una función que va a desaparecer, puede mantenerla por un tiempo con una advertencia a sus usuarios de que va a desaparecer. Tengo un nuevo sistema estéreo con cableado nuevo, pero dejo el cableado antiguo y no lo uso.
  3. La encapsulación - este es el proceso de organizar sus funciones de programación dentro de un padre cuando la función no llega a ninguna otra parte del sistema. Si tiene millones de funciones, desea tenerlas organizadas y funcionando de manera eficiente dentro de las áreas que operan en lugar de tenerlas disponibles a nivel mundial. Pongo los mecanismos de apoyo del motor en el compartimento del motor ... No pongo el filtro de aceite en el asiento trasero.
  4. Herencia - esta es la capacidad de tomar las propiedades de otra pieza de código común (una clase) con el fin de reutilizarlo para una nueva funcionalidad sin tener que reescribirlo. La herencia es otra buena práctica de desarrollo orientada a objetos. Mi asiento para el automóvil se puede usar para llevar a un niño o un adulto, quienquiera que se siente en él.
  5. Normalización - este es el método de organizar los datos con mayor eficacia en una base de datos mediante la construcción de referencias. Un ejemplo sería si tuviera que grabar los semáforos todo el día ... rojo, amarillo y verde. En lugar de escribir cada registro con rojo, amarillo y verde, escribo 1, 2 y 3 y luego hago otra tabla donde 1 = rojo, 2 = amarillo y 3 = verde. De esta manera solo grabo rojo, amarillo y verde una vez. Cada una de las puertas de mi auto tiene la misma manija. Un asa, utilizada en 4 ubicaciones diferentes en lugar de 4 asas diferentes.
  6. Orientado a objetos - en los lenguajes de programación modernos, este es un método de diseño que le permite escribir código específico en partes, por funcionalidad, y luego reutilizarlas. Un ejemplo sería si quisiera verificar una dirección de correo electrónico construida de manera válida. Podría crear la función una vez y luego usarla donde sea que necesite en mi aplicación. Mi automóvil tiene llantas de 18 ″ que pueden usarse en otros automóviles del mismo fabricante o de otros.
  7. Polimorfismo - Este es difícil de explicar, pero básicamente es la capacidad de desarrollar código que se puede usar dinámicamente para otras situaciones. En otras palabras, puede heredar una funcionalidad única y dinámica simplemente por la forma en que se hace referencia. Este es un medio de desarrollo muy eficaz. Puedo usar el tomacorriente de mi automóvil para cargar mi teléfono o para suministrar jugo a mi bomba de llantas.
  8. La recursividad - este es un método donde el código hace referencia a sí mismo. A veces, es eficiente e intencional, pero otras veces puede terminar haciendo que sus aplicaciones se salgan de control. Hago clic en buscar en el estéreo de mi auto y pasa por las estaciones de radio. Nunca termina, simplemente continúa.
  9. Refactorización - este es el proceso de reescribir el código para que sea más fácil de seguir o para organizarlo mejor, pero no necesariamente para agregar ninguna funcionalidad adicional. Reconstruyo mi motor.
  10. Arquitectura orientada al servidor (SOA) - tome la programación orientada a objetos y aplíquela a sistemas grandes donde puede tener sistemas completos que realizan ciertas funciones. Es posible que tenga un sistema de gestión de relaciones con los clientes que se comunica con un sistema de comercio electrónico que se comunica con un sistema de envío, etc. Llevo un remolque con mi auto para enviar artículos de un lugar a otro. Utilizo un enganche de sendero (XML) para conectarlos.

Me doy cuenta de que mis metáforas no siempre fueron perfectamente acertadas. ¡Espero que te hayan ayudado un poco!

Un consejo cuando escuche estas palabras en su próxima reunión con un desarrollador ... no vuelva corriendo a su asiento y las busque en Wikipedia , estarán mirando. No vacile, atacarán. Esto es lo que debe hacer ... reflexionar por la ventana como si estuviera pensando profundamente y luego mirar hacia atrás con una mirada inquisitiva o rascarse la barbilla. Espere a que hagan un seguimiento de su declaración con más información.

… Están mirando.

8 Comentarios

  1. 1

    LOL realmente lo lograste Doug 🙂 ¿Estás tratando de sacarnos del negocio? Sabes muy bien que confiamos en que esos conceptos no se entienden y por lo tanto nos salimos con la nuestra con los clientes. Ahora tenemos que encontrar una manera de volarlos combinar esas palabras de moda para crear una frase gigante que puede ser así:

    Bueno, usted sabe que la característica que está tratando de implementar se puede abstraer en múltiples objetos que encapsulan la funcionalidad y se comunican a través de una arquitectura orientada a servicios.

  2. 5

    Como desarrollador de software, puedo apreciar este artículo. Sin embargo, no somos tan malos 😉 Nunca engañaría a la gente con semejante balbuceo tecnológico 🙂

    Déjame intentar pensar en algunas palabras más para ti….

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.