Thema: coding
-
Edge-triggered epoll: nicht blockierende Arbeit restlos abarbeiten, bevor auf die nächste Edge gewartet wird
Vermeidet eine hängengebliebene Verbindung, indem Bereitschaftsbenachrichtigungen von vollständigen Anwendungsnachrichten getrennt werden.
-
CMake PUBLIC, PRIVATE und INTERFACE: Abhängigkeitsumfang reparieren, ohne globale Flags zu setzen
Legt den Abhängigkeitsumfang anhand des Vertrags des konsumierenden Targets fest und prüft ihn mit einem minimalen externen Konsumenten.
-
Verstrichene Zeit in Go: Serialisierung verliert die monotone Uhrkomponente
Hält lokale Dauermessung getrennt von persistierten Zeitstempeln und prozessübergreifenden Fristenstrategien.
-
Packed-Felder in Rust: keine unausgerichtete Referenz vor einem Raw-Pointer-Cast erzeugen
Erklärt, warum eine temporäre Referenz Ausrichtungsanforderungen bereits verletzen kann, und zieht, wo möglich, ein explizites Byte-Dekodieren vor.
-
Rust Pin: die Adresse des Zielobjekts bewahren, ohne die Zeigervariable einzufrieren
Diagnostiziert Pinning-Fehler, indem der adresssensitive Wert und die Operation identifiziert werden, die ihn verschieben könnte.
-
Veraltete Quellanker wiederherstellen, bevor ein Patch angewendet wird
Findet das beabsichtigte Code-Konstrukt nach gleichzeitigen Bearbeitungen neu, ohne dass eine veraltete Zeilennummer oder ein zu weit gefasster Textabgleich zu einem Patch an der falschen Stelle wird.
-
CString an einer FFI-Grenze: geliehenen Zeiger von übertragenem Besitz unterscheiden
Den CString-Eigentümer bei geliehenen Aufrufen am Leben halten und die rohe Besitzübertragung nur unter einem expliziten Rückgabevertrag verwenden.
-
EINTR-Behandlung: den konkreten Vorgang erneut versuchen, ohne die gesamte Frist zu erneuern
Signalunterbrechung je nach Schnittstelle prüfen und Fortschritt sowie Abbruch über wiederholte Versuche hinweg erhalten.
-
JavaScript-Textversätze: UTF-16-Einheiten, Codepoints und sichtbare Zeichen unterscheiden
An jeder Editor- oder API-Grenze die Versatzeinheit benennen und vor dem Zerschneiden von Text gezielt umrechnen.
-
Repository-Bereiche mit Jev finden und dabei alternative Pfade bewahren
Eine Repository-Taxonomie nutzen, um vorzuschlagen, wo ein Coding-Agent als Nächstes nachsehen sollte, und dabei Alternativen bewahren, die eine frühe Klassifikation sonst verwerfen würde.
-
Go-append-Aliasing: sowohl den Pfad mit freier Kapazität als auch den Neuallokationspfad testen
Slice-Besitz explizit machen, wenn das Anhängen an eine Ansicht Speicher verändern kann, der anderswo beobachtet wird.
-
asyncio-Abbruch: Aufräumen durchführen, ohne CancelledError zu verschlucken
Den Abbruch für die aufgabenbesitzende Stelle sichtbar halten und dabei auf dem unterbrochenen Pfad Ressourcen freigeben.
-
AddressSanitizer-Triage: den ersten ungültigen Zugriff beheben, bevor späterem Verhalten vertraut wird
Einen AddressSanitizer-Bericht in einen minimalen Regressionsfall für Besitz oder Grenzen verwandeln, ohne einen sauberen Lauf als Beweis zu behandeln.
-
Python-Schleifen-Callbacks: den beabsichtigten Wert vor verzögerter Ausführung binden
Ein Closure über einen sich ändernden Namen von einem Callback unterscheiden, der den Wert zum Registrierungszeitpunkt bewahren muss.
-
Teilschreibvorgänge: den Pufferoffset vorrücken, statt die gesamte Nutzlast erneut zu senden
Ein positives kurzes Schreibergebnis als Fortschritt behandeln und den noch nicht gesendeten Zustand über Backpressure hinweg erhalten.
-
Veränderliche Standardwerte in Python: weggelassene Argumente von gemeinsam genutztem Zustand unterscheiden
Eine explizite Strategie für fehlende Werte verwenden, damit unabhängige Aufrufe nicht versehentlich einen gemeinsamen veränderlichen Standardwert teilen.
-
Kompilierungsdatenbanken: die fehlschlagende Übersetzungseinheit reproduzieren, bevor Header geändert werden
Den tatsächlichen Kompilierbefehl und das tatsächliche Arbeitsverzeichnis verwenden, um Quelltextfehler von Editor-Konfigurationsfehlern zu unterscheiden.
-
Rust-FFI-Layout: repr(C) an einer äusseren Struct repariert keine verschachtelten Felder
Jedes Feld überprüfen, das eine C-ABI-Grenze überquert, und das Layout auf jedem unterstützten Zielsystem verifizieren.
-
Ressourcenzuständigkeit bei Rust-FFI: den fremden Konstruktor mit seinem tatsächlichen Destruktor paaren
Allokation, Freigabe und Callback-Lebensdauer in einem engen Rust-Wrapper um fremde Ressourcen explizit machen.
-
Deterministische Serialisierung von Protocol Buffers ist keine kanonische Nachrichtenidentität
Vermeiden, beliebige Protobuf-Bytes als stabilen semantischen Fingerabdruck über Laufzeitumgebungen und Versionen hinweg zu verwenden.
Maschinenlesbar: JSON