Naming: Query welches aus einem Container auch etwas entnehmen kann?



  • Ich habe Queries welche aus mehreren QueryClauses bestehen können. Ein QueryClause wiederum besteht aus: Typ, Anzahl, Operation. Operation kann nun entweder "Read" oder "Take" sein.

    Read: Elemente werden aus dem Container ausgelesen aber nicht entfernt.
    Take: Elemente werden aus dem Container ausgelesen und aus dem Container entfernt.

    Sind das immer noch "Queries"? Sollten Queries nicht idempotent sein? Was ist eure Meinung dazu? Wie würdet ihr solcherart Queries benennen?

    MfG SideWinder



  • SideWinder schrieb:

    Sollten Queries nicht idempotent sein?

    Ich verstehe zwar nicht, was idempotent in diesem Zusammenhang bedeuten soll, aber

    query = Etwas lesend abfragen
    query != Befehl

    Ich würde sagen, du hast ein Command. Und der Command ist entweder ein query/read oder ein take/remove. Sieht aus wie eine std::map, was du da beschreibst.



  • Mir ist bewusst, dass "Queries = lesend abfragen" bedeutet, weswegen ich ja auch diesen Thread erstellt habe.

    Ein Command habe ich jedenfalls nicht. Bessere Naming-Ideen?

    MfG SideWinder

    PS @ Idempotenz: https://de.wikipedia.org/wiki/Idempotenz#Informatik



  • Ich denke Command ist ein guter Vorschlag.

    Query wird, wenn es um Datenbanken geht, zwar auch oft für Sachen wie INSERT, UPDATE, DELETE verwendet, aber das heisst ja nicht dass man diese verwirrende Benamsung selbst verwenden muss.



  • SideWinder schrieb:

    Ein Command habe ich jedenfalls nicht. Bessere Naming-Ideen?

    Verstehe ich nicht.
    Was meinst du mit "habe ich nicht"? Ich dachte du bist auf der Suche nach einem neueren Namen?

    Nenn deine QueryClause halt CommandAction, CommandStep, CommandPart o.ä., und die Query nennst du Command. Schwupps => schon hast du ein Command 🙂


Anmelden zum Antworten