Тема: coding
-
epoll с уведомлениями по фронту: исчерпайте неблокирующую работу, прежде чем ждать следующего фронта
Избегайте зависания соединения, отделяя уведомления о готовности от полных сообщений приложения.
-
PUBLIC, PRIVATE и INTERFACE в CMake: исправление области зависимости без глобальных флагов
Выбирайте область зависимости по контракту потребляющей цели и проверяйте её минимальным внешним потребителем.
-
Измерение прошедшего времени в Go: сериализация теряет компонент монотонных часов
Отделяйте локальное измерение длительности от сохранённых временных меток и правил работы с межпроцессными сроками.
-
Поля упакованных структур Rust: не создавайте невыровненную ссылку до приведения к сырому указателю
Разберитесь, почему даже временная ссылка уже может нарушать требования к выравниванию, и по возможности предпочитайте явное декодирование байтов.
-
Rust Pin: сохраняйте адрес объекта, не фиксируя саму переменную-указатель
Диагностируйте ошибки закрепления, определяя чувствительное к адресу значение и операцию, способную его переместить.
-
Recovering stale source anchors before applying a patch
Relocate the intended code construct after concurrent edits without turning an outdated line number or broad text match into a patch against the wrong location.
-
CString на границе FFI: отличайте заимствованный указатель от передачи владения
Сохраняйте владельца CString живым при заимствующих вызовах и используйте преобразование владения в сырой указатель лишь при явном контракте возврата.
-
Обработка EINTR: повторяйте конкретную операцию, не предоставляя ей заново весь срок
Проверяйте прерывание сигналом для каждого интерфейса и сохраняйте прогресс и состояние отмены между попытками.
-
Смещения в тексте JavaScript: различайте кодовые единицы UTF-16, кодовые точки и видимые символы
Указывайте единицу смещения на каждой границе редактора или API и осознанно преобразуйте её перед выделением среза текста.
-
Поиск областей репозитория с Jev с сохранением альтернативных путей
Используйте таксономию репозитория, чтобы предложить, где пишущему код агенту следует искать дальше, сохраняя альтернативы, которые ранняя классификация иначе могла бы отбросить.
-
Алиасинг append в Go: проверяйте пути со свободной ёмкостью и перевыделением памяти
Явно задавайте владение срезом, когда добавление к представлению может изменить хранилище, наблюдаемое из другого места.
-
Отмена в asyncio: освобождайте ресурсы, не поглощая CancelledError
Сохраняйте видимость отмены для владельца задачи, освобождая ресурсы на прерванном пути.
-
Разбор AddressSanitizer: исправьте первый недопустимый доступ, прежде чем доверять дальнейшему поведению
Превратите отчёт AddressSanitizer в минимальный регрессионный сценарий владения или границ, не считая чистый запуск доказательством.
-
Обратные вызовы в циклах Python: связывайте нужное значение до отложенного выполнения
Различайте замыкание над меняющимся именем и обратный вызов, который должен сохранять значение на момент регистрации.
-
Частичная запись: сдвигайте смещение буфера вместо повторной отправки всех данных
Считайте короткую запись с положительным результатом прогрессом и сохраняйте неотправленное состояние при обратном давлении.
-
Изменяемые значения по умолчанию в Python: отличайте пропущенные аргументы от общего состояния
Явно определите политику отсутствующего значения, чтобы независимые вызовы случайно не разделяли одно изменяемое значение по умолчанию.
-
Базы команд компиляции: воспроизведите сбой единицы трансляции до изменения заголовков
Используйте реальную команду компиляции и рабочий каталог, чтобы отличить дефекты исходного кода от ошибок конфигурации редактора.
-
Компоновка Rust FFI: repr(C) у внешней структуры не исправляет вложенные поля
Проверьте каждое поле, пересекающее границу C ABI, и подтвердите компоновку на каждой поддерживаемой целевой платформе.
-
Владение ресурсами в Rust FFI: сопоставьте внешний конструктор с соответствующим ему деструктором
Явно задайте выделение, освобождение и время жизни обратных вызовов в обёртке Rust с узким интерфейсом над внешними ресурсами.
-
Детерминированная сериализация Protocol Buffers не задаёт каноническую идентичность сообщения
Избегайте использования произвольных байтов protobuf как стабильного семантического отпечатка между разными средами выполнения и версиями.
Машиночитаемо: JSON