Ich bin mir im Nachhinein nicht sicher, aber wenn update
es generisch oder X
abstrakt war (zB geklont und zerstört) - dh wenn update
ich nichts Konkretes wissen konnte X
, dann würde ich es für alle praktischen Zwecke als stark beschreiben Ausnahmesicherheitsgarantie. Zumindest entspricht dies einer starken Ausnahmesicherheitsgarantie, die Sie jemals in einem abstrakten Kontext erhalten werden, ohne einen Datentyp zu röntgen.
Ist X
jedoch konkret, so dass diese Frage viel unschärfer wird. Ich bin immer noch versucht zu sagen, dass update
"eine starke Ausnahmesicherheitsgarantie besteht", da es alles tut, was es tun kann, um dies durchzusetzen. Klingt das nach verrücktem Gerede? Das tut es mir, aber ich kann es nicht viel besser ausdrücken.
Insbesondere im Kontext einer Teamumgebung, in der ein Autor implementiert update
und der andere implementiert X
, könnte nichts jemals eine starke Ausnahmesicherheitsgarantie bieten, da X
diese in einer Weise geändert werden könnte, die die Garantie in einer Weise bricht, die völlig außerhalb der Kontrolle von liegt update
. Aus praktischen Gründen denke ich, wenn update
es alles tut, was es kann und sollte, um seine eigenen Nebenwirkungen auf außergewöhnlichen Wegen zurückzudrängen, bietet es praktisch eine starke Ausnahmesicherheitsgarantie.
Andernfalls wird die starke Sicherheitsgarantie für Ausnahmen in so vielen Szenarien unpraktisch. Dinge können sich außerhalb der Kontrolle der Funktion ändern. Dinge könnten auf eine Weise abstrakt sein, die über das Wissen der Funktion hinausgeht. Es wäre fast unmöglich, die gesamte Garantie irgendwo zu geben. In diesem Fall könnten wir sagen, dass die starke Ausnahmegarantie der update
Propagierung eine Verpflichtung zur X
Einhaltung propagiert , oder ist es update
erforderlich zu wissen, wie X
sie jederzeit umgesetzt wird? Ich weiß es nicht. Das ist alles so oder so sehr unpraktisch und ich mag keine Unpraktikabilität.
Also werde ich mit dem Rohöl gehen, ja, " update
ist X
ausnahmesicher , aber fubar und hat alles durcheinander gebracht. Es ist update's
zumindest kein Fehler. Verklage nicht den Autor des Updates! Verklage den Autor von X
!" . Ich möchte hier beschreiben X
, dass es einfach nur fubar ist und update
möglicherweise eine starke Ausnahmesicherheitsgarantie bietet, die durch die Tatsache, dass X
es fubar ist, verschraubt wird. Das heißt, es sei denn, es gibt ein sehr schwieriges Verständnis auf Schnittstellenebene, das der X's
Destruktor auslösen soll. In diesem Fall habe ich keine Ahnung, wie ich es beschreiben soll, außer als "großes Problem". Ich denke, wir brauchen Kleingedrucktes und Haftungsausschlüsse, um diese Garantien zu erhalten.Update bietet eine starke Ausnahmesicherheitsgarantie, sofern [...]. Keine Rückerstattung, wenn dies nicht der Fall ist!
Dies ist für mich wie eine philosophische Frage, interessant zu denken, aber vielleicht eine ohne perfekte Antwort. Und was sind Garantien überhaupt? Können wir etwas garantieren? Ich könnte garantieren, dass das Trinken von Bier mich betrinken würde und das könnte die ganze Zeit wahr sein, aber was ist, wenn ein Außerirdischer eingreift und eine Art außerirdische Technologie verwendet, die mich nüchtern macht, egal wie viel ich trinke? Ich kann nicht garantierendass dies nicht passieren wird. Ich kann nur sagen, dass dies höchst unwahrscheinlich ist und dass ich dagegen machtlos wäre, wenn ein solches Ereignis eintreten würde. Ich habe meinen Teil getan. Ich habe mein Bier getrunken. Ich soll mich betrinken. Ich garantiere es nachdrücklich. Aber es ist nicht sicher. Es besteht immer eine gewisse Wahrscheinlichkeit, auch wenn diese astronomisch weit entfernt ist, dass die Garantie möglicherweise nicht zutrifft. Wie wäre es mit Thread-Sicherheit? Was ist, wenn das außerirdische Raumschiff kommt und unsere Hardware zappt und Anweisungen im Speicher neu anordnet, sodass eine formell threadsichere Funktion zur Laufzeit nicht mehr threadsicher ist? Ich kann nicht garantieren, dass dies nicht passieren wird. Aber ich werde die Sicherheit der Fäden garantieren, unabhängig davon, ohne auf so ein Kleingedrucktes über außerirdische Raumschiffe einzugehen, denn dadurch fühlen sich die Leute nett und beruhigt, und ich sage, dass ich '
Descartes sagte einmal: "Ich denke also, ich bin es." Woher weiß er das? Was ist, wenn er nicht ist? Er könnte ein "bin nicht" sein, aber vielleicht können "nicht" "denken". Ich weiß nicht einmal, ob ich existiere. Was bedeutet Denken überhaupt? Es ist wie ein Wort, mit dem Menschen einen Prozess beschreiben, der scheinbar introspektiv abläuft und so aussieht, als würden wir, die wir vielleicht gar nicht existieren, Entscheidungen treffen.
Was ist, wenn wir alle nur Bits und Bytes auf einer Maschine sind? Wie diese Blondine oder Brünette in der Matrix. Wie kann übrigens eine Blondine oder besonders eine Brünette in einem so kleinen Strom von Charakteren gespeichert werden? Sind sie wie UTF2048? Es war eine Art fremder Strom von Charakteren, aber es schien nicht zu viele einzigartige Charaktere zu geben. Vielleicht ist es eine Art Funktionsaufruf. Ich bin mir jedenfalls nicht sicher, ob wir etwas garantieren können. Es ist alles relativ zu dem, was wir für wahr halten.