no-todo-comments
Flagg TODO-, FIXME-, HACK- og XXX-kommentarer slik at de løses før sammenslåing.
Regeldetaljer
Section titled “Regeldetaljer”TODO-kommentarer er nyttige under utvikling, men bør ikke hope seg opp i hovedgrenen. Denne regelen bruker ctx.grepFiles for å skanne alle kildefiler etter vanlige oppgavemarkerings-kommentarer. Den bruker warning-alvorlighetsgrad slik at den ikke blokkerer CI, men gjør kommentarene synlige i hver sjekk.
Eksempler på feil kode
Section titled “Eksempler på feil kode”// TODO: handle merge conflicts// FIXME: this breaks on Windows// HACK: workaround for upstream bug// XXX: revisit this logicEksempler på riktig kode
Section titled “Eksempler på riktig kode”// Proper implementation with no deferred workRegelimplementasjon
Section titled “Regelimplementasjon”/// <reference path="../rules.d.ts" />
export default { rules: { "no-todo-comments": { description: "TODO and FIXME comments should be resolved before merging", severity: "warning", async check(ctx) { const matches = await ctx.grepFiles( /\/\/\s*(TODO|FIXME|HACK|XXX):/i, "src/**/*.ts" ); for (const match of matches) { ctx.report.warning({ message: `${match.content.trim()} — resolve before merging`, file: match.file, line: match.line, }); } }, }, },} satisfies RuleSet;Når du bør bruke den
Section titled “Når du bør bruke den”Når du ønsker innsikt i utsatt arbeid og vil forhindre at TODO-kommentarer hoper seg opp over tid. Endre alvorlighetsgrad til "error" og bruk ctx.report.violation() for å gjøre den til en hard blokkering.
Når du ikke bør bruke den
Section titled “Når du ikke bør bruke den”Når TODO-kommentarer er tilsiktet dokumentasjon (f.eks. sporet av et eget verktøy som oppretter saker fra TODO-kommentarer).