Frage

Ich bin über eine C ++ Bibliothek zu schreiben, die von einer Windows-Anwendung als auch auf Symbian verwendet werden soll. Linux ist kein Strombedarf soll aber generell möglich sein, auch.
Aus diesem Grunde würde Ich mag die STL verwenden / Boost-Konventionen statt Symbian , die ich denke, sind schwer zu gewöhnen.
Dies scheint schon ein Problem darstellen, wenn Sie den Code mit Carbide.c Kompilieren ++ wie es erzwingt die Symbian-Namenskonvention.

Wie kann ich „normal“ Namen verwenden und immer noch Symbian kompatibel? Ich dachte zuerst über bedingt wieder #define-ing Klassennamen für die Symbian-Plattform, aber ich fürchte, dass dies zu Verwirrung führen wird.

Könnte es treten andere Probleme nicht mit Symbian Namenskonvention einhalten?

War es hilfreich?

Lösung

Coding-Konventionen sind nicht streng. Sie sind dort Verständnis Code leichter für uns Menschen zu machen. Wenn Sie ein Multi-Plattform-Bibliothek schreiben, fühlen Sie sich frei, was Konvention Sie sind komfortabel mit zu verwenden.

Natürlich Ihre Bibliothek muss wahrscheinlich mit dem zugrunde liegenden Betriebssystem in gewisser Weise verbinden. Mit Hilfe von öffnen C / C ++ Bibliotheken , können Sie viele Dinge tun ohne dass nativen Symbian C ++ APIs und ihre Namenskonventionen verwenden.

In Carbide.c ++ Sie können CodeScanner statische Analyse deaktivieren, wie es wirklich nur dann sinnvoll ist geschrieben, um Code in nativen Symbian C ++.

So Zusammenfassend sind die Probleme wie folgt:

  • kommen Menschen aus nativen Symbian C ++ Hintergrund sind nicht sofort vertraut mit Konventionen
  • Verwenden von nativen Symbian C ++ APIs können einige plattformspezifische Besonderheiten aussetzen (Ausnahmen vs. Blätter, trap Geschirre, aktive Disponenten etc.)
  • Symbian-spezifische statische Analysatoren wie CodeScanner annehmen Symbian C ++ Code-Stil und kann Fehler / Warnungen erzeugen Sie nicht wirklich brauchen, um zu kümmern
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top