Pregunta

Estoy a punto de escribir una biblioteca C ++ que será utilizada por una aplicación de Windows, así como en Symbian. Linux no es un requisito actual, pero en general también debería ser posible.
Por esta razón, me gustaría utilizar las convenciones de nomenclatura STL / Boost en lugar de Symbian , que creo que es difícil acostumbrarse.
Esto parece presentar un problema al compilar el código con Carbide.c ++, ya que impone la convención de nomenclatura Symbian.

¿Cómo puedo usar " normal " nombres y seguir siendo compatible con Symbian? Primero pensé en redefinir condicionalmente los nombres de clase #define para la plataforma Symbian, pero me temo que esto generará confusión.

¿Podría haber otros problemas al no cumplir con la convención de nomenclatura de Symbian?

¿Fue útil?

Solución

Las convenciones de codificación no son estrictas. Están ahí para facilitar la comprensión del código para nosotros los humanos. Si está escribiendo una biblioteca multiplataforma, no dude en usar cualquier convención con la que se sienta cómodo.

Por supuesto, su biblioteca probablemente necesita interactuar con el sistema operativo subyacente de alguna manera. Con la ayuda de Abrir bibliotecas C / C ++ , puede hacer muchas cosas sin necesidad de utilizar las API nativas de Symbian C ++ y sus convenciones de nomenclatura.

En Carbide.c ++ es posible que desee deshabilitar el análisis estático de CodeScanner, ya que en realidad solo es útil para el código escrito en Symbian C ++ nativo.

Entonces, en resumen, los problemas son los siguientes:

  • Las personas que provienen del fondo nativo de Symbian C ++ no están familiarizadas de inmediato con sus convenciones
  • El uso de las API nativas de Symbian C ++ puede exponer algunas peculiaridades específicas de la plataforma (excepciones frente a hojas, arneses de trampa, programadores activos, etc.)
  • Los analizadores estáticos específicos de Symbian como CodeScanner asumen el estilo de código Symbian C ++ y pueden generar errores / advertencias que realmente no necesita preocuparse
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top