Siento que todos han cubierto bien las reglas técnicas de C ++: la respuesta es sí. Dejemos de lado la tradición y el hecho de que esta función en particular es especial e icónica, lo que contiene puntos válidos para no cambiar sobre esta base.
A menudo, siento que la filosofía de las elecciones rara vez se discute y, por lo tanto, quería ofrecer una perspectiva sobre este asunto, ya que creo que es importante para la razón por la que se pidió esto para empezar.
Esta pregunta para mí implica una elección para expresar inglés en código en general. Parece que le molestan las descripciones de mano corta, en particular, si la mano corta tiene un texto de apariencia similar. Sin embargo, en su ejemplo, cambiar argn a n_of_args solo logra el cambio de un tipo de abreviatura a otra forma de taquigrafía sin valor añadido real: aclaración u otras propiedades visibles.
La palabra 'número' ha sido reemplazada por una letra 'n'.
Si está cambiando un nombre de mano corta a través de la filosofía de anti mano corta, entonces algo como esto puede parecer más apropiado:
principal (int argumentoCount, char ** argumentoVector)
Siempre pienso en dos cosas: nombrar las cosas por lo que son y / o por su uso implícito. Llamarlo un argumento vector es redundante para mí ya que la propiedad de ser un vector está implícita en la doble indirección **. Por lo tanto, una mejor forma de escribir el código es: ** argumentos.
Algunos dirían que la variable llamada argumentCount se declara como int y Count no puede ser negativo, pero puede tener un int negativo {unsigned is better}.
Nuevamente, lo que es y cómo se usa entra en juego en esta interpretación. Si es un Conde, entonces asumiría que nunca sería negativo. Después de todo, ¿cómo se puede contar con -2 manzanas? Yo diría que DEBES dos manzanas. Si es un Número, entonces esperaría que fuera posible un caso negativo. Es por eso que la palabra adicional "de" probablemente sea importante para usted. Eso, y quizás un número al que se refiere una colección, implica un elemento específico en lugar de una propiedad de la colección en sí. Es decir: argumentNumber = 5 implica un argumento específico pero no numberOfArguments.
main (int maxArgumentsIndex, char ** argumentos).
Esto elimina la ambigüedad. Llamarlo índice elimina la ambigüedad negativa entre mayúsculas y minúsculas y también describe qué es y, además, cómo usarlo. También implica por la redacción en inglés que un máximo es un absoluto y se sentiría extraño al escribir un código que modifica este valor (debería ser constante). 'argumentos' tiene sentido aquí ya que es plural, describe qué es y cómo debería usarse ya. Incluso interpretarlo de esta manera puede ser peligroso ya que un índice es -1 de un Count / NumberOf. ¡¡5 argumentos dan un índice máximo de 4 !!
Cualquier otra función y la usaría por completo:
función void (const unsigned int maxArgumentsIndex, const char ** argumentos)
No todas las situaciones merecen descripciones largas. De hecho, algunas veces una mano corta produce más legibilidad, en particular, en el caso de clases de matemáticas de escritura como Vec3f, Matrix, Quaternion, etc. Casi siempre intentaré emparejar el lenguaje matemático en lugar del lingüístico. . flotar x, y, z vrs. float xComponent y similares.
Entiendo que todo esto es una elección de estilo, pero ser consciente de las opciones realmente ayudará a largo plazo. Garantizo que los programadores experimentados se molestan cuando las matrices no están escritas en forma plural, pero, de nuevo, main es una prosa de existencia especial;)