Articles of estilo de encoding

Generar números aleatorios con una distribución dada

Mira esta pregunta: Swift probabilidad de número aleatorio seleccionado? La respuesta superior sugiere usar una instrucción switch, que hace el trabajo. Sin embargo, si tengo una gran cantidad de casos para considerar, el código parece muy poco elegante; Tengo una statement de cambio gigante con un código muy similar en cada caso repetido una y […]

¿Deberían usarse calificadores de tipo inútil en los tipos de devolución, para mayor claridad?

Nuestra herramienta de análisis estático se queja de un “calificador de tipo inútil en el tipo de devolución” cuando tenemos prototipos en archivos de encabezado como: const int foo(); Lo definimos de esta manera porque la función devuelve una constante que nunca cambiará, pensando que la API parecía más clara con const en su lugar. […]

¿Por qué se supone que el envío puede regresar con menos de los datos solicitados transmitidos en un socket de locking?

El método estándar para enviar datos en un socket de flujo siempre ha sido llamar al envío con un fragmento de datos para escribir, verificar el valor de retorno para ver si se han enviado todos los datos y luego seguir llamando hasta que se acepte todo el mensaje. Por ejemplo, este es un ejemplo […]

Reemplazo del código de la placa de la caldera: ¿hay algo malo sobre este código?

Recientemente he creado estos dos métodos (no relacionados) para reemplazar gran cantidad de código de placa de caldera en mi aplicación de formas de inversión. Por lo que puedo decir, funcionan bien, pero necesito algún consuelo / consejo sobre si hay algunos problemas que me pueden estar perdiendo. (de memoria) static class SafeInvoker { //Utility […]

Estructuras O opacas: ¿cómo deberían declararse?

He visto los dos estilos siguientes de declarar tipos opacos en las API de C. ¿Hay alguna ventaja clara al usar un estilo sobre el otro? Opción 1 // foo.h typedef struct foo * fooRef; void doStuff(fooRef f); // foo.c struct foo { int x; int y; }; opcion 2 // foo.h typedef struct _foo […]

Ventajas de std :: for_each over for loop

¿Hay alguna ventaja de std::for_each over for loop? Para mí, std::for_each solo parece dificultar la legibilidad del código. ¿Por qué entonces algunos estándares de encoding recomiendan su uso?

¿Debería la statement ‘if’ tener siempre una cláusula ‘else’?

Esto puede ser un argumento religioso, pero ha sido debatido ad-nauseum aquí en mi trabajo si todas las declaraciones IF deberían incluir una cláusula ELSE, incluso si la cláusula ELSE solo contiene un comentario que declara que fue ‘intencionalmente dejada en blanco’. He escuchado argumentos para ambas partes: el campo ‘Para’: asegura que los códigos […]

C ++ getters / setters estilo de encoding

He estado progtwigndo en C # por un tiempo y ahora quiero repasar mis habilidades en C ++. Tener la clase: class Foo { const std::string& name_; … }; Cuál sería el mejor enfoque (solo quiero permitir el acceso de lectura al campo name_): use un método getter: inline const std::string& name() const { return […]

¿Cuáles son tus modismos de estilo de encoding C ++ favoritos

¿Cuáles son tus modismos de estilo de encoding de C ++ favoritos? Pregunto acerca de la tipografía de estilo o encoding, como dónde colocas las llaves, si hay espacios después de las palabras clave, el tamaño de las sangrías, etc. Esto se opone a las mejores prácticas o requisitos, como eliminar matrices con delete[] . […]

¿Herramientas para encontrar encabezados incluidos que no se utilizan?

Sé que PC-Lint puede informarle sobre los encabezados que se incluyen pero no se usan. ¿Hay alguna otra herramienta que pueda hacer esto, preferiblemente en Linux? Tenemos una gran base de código que a lo largo de los últimos 15 años ha visto una gran cantidad de funcionalidades moverse, pero rara vez se eliminan las […]