En programación informática , un modismo de programación o modismo de código es un grupo de fragmentos de código que comparten un rol semántico equivalente , [1] que se repite con frecuencia en proyectos de software y que a menudo expresa una característica especial de una construcción recurrente en uno o más lenguajes de programación o bibliotecas . Esta definición tiene sus raíces en la definición de " modismo " tal como se usa en el campo de la lingüística. Los desarrolladores reconocen los modismos de programación al asociar significado (rol semántico) a una o más expresiones sintácticas dentro de fragmentos de código (fragmentos de código). El modismo puede verse como una acción sobre un concepto de programación subyacente a un patrón en el código, que se representa en la implementación mediante fragmentos de código contiguos o dispersos. Estos fragmentos están disponibles en varios lenguajes de programación, marcos o incluso bibliotecas. En términos generales, el rol semántico de un modismo de programación es una expresión en lenguaje natural de una tarea, algoritmo o estructura de datos simple que no es una característica incorporada en el lenguaje de programación que se usa o, por el contrario, el uso de una característica inusual o notable que está incorporada en un lenguaje de programación.
Conocer los modismos asociados a un lenguaje de programación y saber utilizarlos es una parte importante para adquirir fluidez en ese lenguaje. También ayuda a transferir conocimientos en forma de analogías de un lenguaje o marco de trabajo a otro. Este conocimiento idiomático se utiliza ampliamente en repositorios de colaboración colectiva para ayudar a los desarrolladores a superar las barreras de programación. [2] Asignar modismos de código a idiosincrasias puede ser una forma útil de navegar por las compensaciones entre generalización y especificidad. Al identificar patrones y modismos comunes, los desarrolladores pueden crear modelos mentales y esquemas que los ayuden a comprender y navegar rápidamente por el nuevo código. Además, al asignar estos modismos a idiosincrasias y casos de uso específicos, los desarrolladores pueden asegurarse de que están aplicando el enfoque correcto y no generalizándolo en exceso. Una forma de hacer esto es creando una referencia o documentación que asigne modismos comunes a casos de uso específicos, destacando dónde pueden necesitar ser adaptados o modificados para adaptarse a un proyecto o equipo de desarrollo en particular. Esto puede ayudar a garantizar que los desarrolladores trabajen con un entendimiento compartido de las mejores prácticas y puedan tomar decisiones informadas sobre cuándo usar modismos establecidos y cuándo adaptarlos para que se ajusten a sus necesidades específicas.
Un error común es usar la forma adverbial o adjetival del término como usar un lenguaje de programación de una manera típica , lo que realmente se refiere a una idiosincrasia. Una expresión idiomática implica que la semántica de algún código en un lenguaje de programación tiene similitudes con otros lenguajes o marcos. Por ejemplo, una forma idiomática de administrar la memoria dinámica en C sería usar las funciones de la biblioteca estándar de C malloc y free , mientras que idiomático se refiere a la gestión manual de la memoria como una función semántica recurrente que se puede lograr con fragmentos de código malloc en C, o pointer = new type [number_of_elements] en C++. En ambos casos, la semántica del código es inteligible para los desarrolladores familiarizados con C o C++, una vez que se les expone la lógica idiomática o idiosincrásica. Sin embargo, mientras que la lógica idiomática suele ser general para el dominio de la programación, la lógica idiosincrásica con frecuencia está vinculada a la terminología específica de la API.
Uno de los puntos de partida más comunes para aprender a programar o notar las diferencias sintácticas entre un lenguaje conocido y uno nuevo. [3]
Tiene varias implementaciones, entre ellas los fragmentos de código para C++ :
std :: cout << "Hola mundo \n " ;
Para Java :
Sistema . out . println ( "Hola mundo" );
Este modismo ayuda a los desarrolladores a comprender cómo manipular colecciones en un lenguaje determinado, en particular insertar un elemento x en una posición i en una lista s y mover los elementos a su derecha. [4]
Fragmentos de código:
Para Python :
s . insertar ( i , x )
Para JavaScript :
s . empalme ( i , 0 , x );
Para Perl :
empalme ( @s , $i , 0 , $x )