2017-10-20 7 views
0

Kann mir jemand aufklären, warum es solche unnötigen Inkonsistenzen in der Firestore API in den verschiedenen Sprachen SDKs gibt. Häufig weisen Firebase-Entwickler darauf hin, dass es wichtig ist, die API über Plattformen hinweg konsistent zu halten, so dass es seltsam erscheint, dies zuzulassen.Inkonsistenzen in Firebase Firestore API

In den Python-, Java-, Android- und Swift-Firestore-Sdks, um ein Dokument zu referenzieren, hat die benötigte Funktion den Titel document, aber in Go, Web und Node heißt sie doc.

var cityRef = db.collection('cities').doc('SF'); 

vs

DocumentReference docRef = db.collection("cities").document("SF"); 
+0

ich das auch bemerkt und ich nehme an, den Grund ist es 'doc()' in Javascript ist eine Verwechslung mit dem HTML-DOM 'document' Schlüsselwort zu vermeiden, aber ich bin nicht sicher, warum' doc() 'wurde in Go gewählt und Knoten auch. – Grimthorr

Antwort

1

In APIs entwerfen wir versuchen, die Einhaltung Plattform Idiome zum Ausgleich gegen plattformübergreifend konsistente sein. Diese Namensgebung war also eine absichtliche Abweichung. JavaScript und Go verwenden beide kurze, prägnante Methodennamen, während z. Obj-C hat lange, ausführliche Methodennamen (daher heißt dieselbe Methode collectionWithPath: in Obj-C). Es sollte im Allgemeinen eine 1-1-Übereinstimmung zwischen Methoden zwischen Plattformen geben, aber die tatsächliche Benennung unterscheidet sich. Entschuldigung, wenn es dich stolperte!

+0

Nur ein kleines Stolpern verursacht :) Danke für die Klärung. – 34m0

+1

imho obwohl es die falsche Design-Wahl war, vor allem in Anbetracht der Cloud-Funktionen Firestore-Trigger erfordert Angabe von .document – 34m0

Verwandte Themen