Ich habe eine sehr einfache Frage, die mich lange Zeit verblüfft. Ich habe es mit Netzwerken und Datenbanken zu tun, daher handelt es sich bei vielen Daten, mit denen ich zu tun habe, um 32-Bit- und 64-Bit-Zähler (ohne Vorzeichen), 32-Bit- und 64-Bit-Identifikations-IDs (auch ohne aussagekräftige Zuordnung für Vorzeichen). Ich beschäftige mich praktisch nie mit realen Wörtern, die als negative Zahl ausgedrückt werden könnten.
Ich und meine Mitarbeiter verwenden routinemäßig vorzeichenlose Typen wie uint32_t
und uint64_t
für diese Zwecke und da dies so häufig vorkommt, verwenden wir sie auch für Array-Indizes und andere allgemeine Ganzzahlverwendungen.
Gleichzeitig lese ich verschiedene Codierungsleitfäden (z. B. Google), die von der Verwendung von Ganzzahltypen ohne Vorzeichen abraten, und meines Wissens haben weder Java noch Scala Ganzzahltypen ohne Vorzeichen.
Daher konnte ich nicht herausfinden, was das Richtige ist: Es wäre sehr unpraktisch, signierte Werte in unserer Umgebung zu verwenden. Gleichzeitig sollten Sie in Codierungsanleitungen darauf bestehen, genau dies zu tun.