review-hog-perspective-logic-correctness

Par posthog · skills

La perspective de revue Logique & Exactitude pour PostHog Review. Vérifie que le code modifié fait bien ce qu'il est censé faire : logique métier, cas limites, transformations de données et exactitude des requêtes / accès aux données. Ne signale que les problèmes d'exactitude ; la sécurité et les performances sont des perspectives distinctes.

npx skills add https://github.com/posthog/skills --skill review-hog-perspective-logic-correctness

Perspective de révision : Logique & Exactitude

Vous révisez un chunk de PR selon la perspective Logique & Exactitude : le code fait-il ce qu'il est supposé faire ? Concentrez-vous sur l'exactitude de la logique métier, les cas limites, les transformations de données, et la logique d'accès aux données / requêtes.

Ceci est l'une de plusieurs perspectives indépendantes révisant le même chunk en parallèle — la sécurité et la performance sont couvertes ailleurs. Restez dans votre domaine et signalez chaque problème d'exactitude que vous trouvez sans vous préoccuper de ce qu'une autre perspective pourrait aussi signaler (les chevauchements sont résolus plus tard par une étape de déduplication distincte).

Domaines d'investigation principaux

  1. Implémentation de la logique métier

    • Vérifiez que les calculs et algorithmes sont corrects
    • Cherchez les erreurs off-by-one et les conditions aux limites
    • Validez la logique conditionnelle et les branchements
    • Assurez-vous que les cas limites sont correctement gérés
    • Vérifiez que les hypothèses sur les données sont valides
  2. Transformations & mutations de données

    • Vérifiez que le mapping de données entre les couches est exact
    • Validez les mutations d'état (particulièrement dans le code frontend)
    • Assurez-vous qu'il n'y a pas de perte de données lors des transformations
    • Validez les coercitions de types et conversions
  3. Logique de requête & d'accès aux données

    • Vérifiez que les requêtes SQL / base de données sont correctes
    • Validez que les requêtes SQL synchrones ne sont pas émises depuis un contexte asynchrone (ne bloquent pas le thread)
    • Vérifiez les conditions JOIN et les clauses WHERE
    • Validez la logique d'agrégation
    • Assurez-vous du tri déterministe où nécessaire
    • Vérifiez les limites de transaction
  4. Ingénierie de prompt LLM (le cas échéant)

    • Vérifiez que les prompts ont des instructions claires et non ambiguës
    • Cherchez les exemples manquants dans les prompts
    • Validez la logique de parsing de la sortie
    • Assurez-vous de la gestion des limites de tokens

Commandes d'investigation

  • Trouvez la logique de calcul : rg "calculate|compute|aggregate" --type py -A 5
  • Vérifiez les conditionnelles : rg "if.*else|switch|case" --type py -B 2 -A 5
  • Trouvez les transformations de données : rg "map|transform|convert|parse" --type py -A 3
  • Localisez les requêtes : rg "SELECT|JOIN|WHERE|GROUP BY" --type sql -A 10
  • Trouvez les mutations d'état : rg "setState|mutation|update.*state" --type js --type tsx -A 3

Où concentrer votre effort

Concentrez-vous sur les fichiers qui contiennent une vraie logique :

  • Fichiers d'implémentation de logique métier
  • Code de transformation et traitement de données
  • Fichiers de requêtes de base de données et couches d'accès aux données
  • Gestionnaires d'API et implémentations de services
  • Composants frontend avec logique (pas juste de l'UI)

Lisez la documentation et les fichiers de configuration pure pour le contexte, mais ne levez pas de problèmes de logique sur ceux-ci — et détectez des problèmes seulement dans les fichiers non-test (les fichiers de test ont leurs propres patterns ; référencez-les pour valider une trouvaille dans le code de production).

Ce à laisser à d'autres perspectives

  • Optimisations de performance et complétude de la gestion des erreurs → Performance & Reliability
  • Vulnérabilités de sécurité et changements de contrat d'API → Contracts & Security
  • Style de code ou formatage → pas une préoccupation PostHog Review

Questions clés

  • L'implémentation correspond-elle au comportement attendu ?
  • Tous les cas limites et conditions d'erreur sont-ils gérés ?
  • Le flux logique est-il clair et correct ?
  • Les calculs et transformations sont-ils exacts ?
  • Les requêtes retournent-elles les résultats attendus ?
  • L'intégrité des données est-elle maintenue tout au long des opérations ?

À quoi ressemble un problème valide

Un problème Logique & Exactitude concerne :

  • Une logique ou un algorithme incorrect
  • Une gestion manquante de cas limites
  • Des calculs ou formules erronés
  • Des transformations de données incorrectes
  • Des erreurs de logique de requête
  • Des bugs de gestion d'état
  • Des hypothèses incorrectes sur les données

Skills similaires