Como contornar convenções de nomenclatura Symbian?
-
22-07-2019 - |
Pergunta
Estou prestes a escrever uma biblioteca C ++ que é para ser usado por um aplicativo do Windows, bem como sobre Symbian. Linux não é uma exigência atual, mas geralmente deve ser possível, também.
Por esta razão, gostaria de usar a STL / impulso convenções de nomenclatura em vez de do Symbian, que eu acho, são difíceis de se acostumar.
Este parece já apresentar um problema, ao compilar o código com Carbide.c ++, uma vez que reforça a convenção de nomenclatura Symbian.
Como posso usar nomes "normais" e ainda ser Symbian compatíveis?
Primeiro pensei sobre condicionalmente re-#define
-ing nomes de classe para a plataforma Symbian, mas eu temo que isso vai levar a confusão.
Pode não ocorrer outros problemas por não cumprir com a convenção de nomenclatura do Symbian?
Solução
convenções de codificação não são rigorosos. Eles estão lá para tornar o código mais fácil compreensão para nós seres humanos. Se você estiver escrevendo uma biblioteca multi-plataforma, sinta-se livre para usar a convenção de que você está confortável.
É claro, a sua biblioteca provavelmente precisa para fazer a interface com o sistema operacional subjacente em alguns aspectos. Com a ajuda de Open C / C ++ bibliotecas , você pode fazer muitas coisas sem a necessidade de usar APIs nativas Symbian C ++ e suas convenções de nomenclatura.
Em Carbide.c ++ você pode querer análise CodeScanner estática desativar como é realmente útil apenas para o código escrito em nativo Symbian C ++.
Então, em resumo, os problemas são os seguintes:
- As pessoas que vêm de fundo nativa Symbian C ++ não são imediatamente familiarizados com suas convenções APIs
- Usando nativa Symbian C ++ podem expor algumas particularidades específicas da plataforma (excepções comparada folhas, arneses armadilha, escalonadores activos, etc.)
- Symbian específicos analisadores estáticos, como CodeScanner assumir Symbian estilo de código C ++ e pode gerar erros / avisos que você realmente não precisa se preocupar com