Nan mond lan nan devlopman lojisyèl, chak pwomotè abitye ak kòmantè a TODO
konfyans. Li souvan itilize kòm yon rapèl rapid pou revize kòd, refactor, oswa ranpli yon travay nan yon etap pita. Men, apre yon tan, kòmantè TODO
sa yo ka anpile, vin akimilasyon an silans nan dèt teknik - yon fado kache ki ka afekte sante yon pwojè ak antretyen.
Si yo pa tcheke, rapèl sa yo gaye ka peze kodbaz la, sa ki fè li pi difisil pou devlopè yo navige, debogaj, ak pwolonje. Nan pwòp travay mwen, mwen te rankontre pwoblèm sa a premye men epi evantyèlman deside adrese li ak yon zouti ki fè dèt teknik vizib ak aksyonab: Todoctor .
TODO
Kòmantè
Okòmansman, yon kòmantè TODO
ka sanble inofansif oswa menm itil. Li se yon siyal pou devlopè yo revize yon bagay - petèt optimize yon algorithm, refactorize yon seksyon difisil, ranplase yon depandans demode, oswa ranpli yon karakteristik ki toujou nan pwogrè. Sepandan, ak orè chaje, priyorite ki chanje, ak dat limit sere, yo souvan ranvwaye TODO
sa yo pou yon tan endefini. Olye pou yo adrese yo, yo vin zafè nan bagay ki pako rezoud.
Apre yon tan, kòmantè TODO
ka kreye plizyè pwoblèm:
TODO
bay ilizyon ke kòd la byen konsève, pandan y ap, an reyalite, li kache travay enkonplè ak pwoblèm ki poko rezoud.TODO
, sitou lè manm ekip yo vini epi ale. Sa a mennen nan yon dekonekte k ap grandi ant kòd la ak konpreyansyon ekip la sou li. Nan pi gwo pwojè oswa moun ki gen plizyè kontribitè, pwoblèm nan sèlman ap grandi. San atansyon regilye, TODO
yo ka gaye nan kodbaz la, sa ki fè li difisil pou jere ak swiv dèt teknik.
Pandan m ap goumen ak pwoblèm sa a, mwen te reyalize nesesite pou yon zouti pou pote kòmantè TODO
soti nan kache epi antre nan yon espas aksyon kote ekip yo ka fasilman evalye ak adrese yo. Sa a te mennen nan kreyasyon Todoctor , yon sèvis piblik CLI ki fèt pou analize ak swiv kòmantè TODO
nan JavaScript ak TypeScript kodbaz.
Avèk Todoctor, devlopè yo ak ekip yo ka wè ak jere dèt teknik yo sou tan, ede yo pran desizyon enfòme sou priyorite netwayaj ak refactoring. Men ki jan li fonksyone:
TODO
: Todoctor analize baz kòd la pou jwenn chak kòmantè TODO
, kolekte enfòmasyon sou laj, otè ak kontni chak kòmantè.TODO
yo te evolye sou tan, bay ekip yo yon foto klè sou dèt teknik yo.TODO
, wè ki moun ki kreye l ', epi wè yon lis triable de tout travay annatant nan kodbaz la.
Atravè mezi sa yo, Todoctor vire dèt teknik nan yon eleman vizib, jere nan pwojè a. Transparans sa a ka motive ekip yo pou yo pran aksyon sou travay eksepsyonèl, epi li ede ankouraje yon kilti pwopriyetè kòd ak bon jan kalite.
Todoctor te devlope ak senplisite ak itilizasyon nan tèt ou, sa ki pèmèt li entegre san pwoblèm nan nenpòt workflow devlopman. Zouti a ekri nan JavaScript epi li fonksyone kòm yon sèvis piblik CLI, ki fè li fasil pou mete kanpe ak kouri ak yon sèl kòmand.
Pou chak kòmantè TODO
, Todoctor kolekte metadata tankou:
Laj kòmantè a : Konbyen tan TODO
a te nan baz kòd la.
Kantite total TODO
yo: Yon konte senp pou swiv gwosè dèt.
Laj Mwayèn TODO
yo: Yon snapshot de konbyen tan travay yo te annatant.
Pi gwo kontribitè yo : Yon lis ki montre ki manm ekip ki te otè plis TODO
yo, ki pèmèt ekip yo swiv travay espesifik yo.
Sèvi ak done sa yo, Todoctor jenere yon rapò HTML konplè ki ka ajoute nan yon baz kod oswa pataje ak ekip la.
Pou kòmanse itilize Todoctor, tou senpleman enstale li epi kouri lòd sa a nan rasin pwojè ou a:
npx todoctor
Nan kèk segonn, Todoctor pral analize baz kod ou a epi jenere yon rapò, sa ki ba ou yon gade konplè sou dèt teknik ou ak enfòmasyon ki ka pran aksyon.
Dèt teknik ka sanble tankou yon ti pwoblèm jiskaske li kòmanse ralanti devlopman ak afekte kalite kòd. Kòmantè TODO
, pandan y ap itil nan kout tèm, ka fasilman vin bliye responsablite ki finalman bezwen adrese. Lè yo fè rapèl sa yo vizib ak mezirab, Todoctor pèmèt ekip yo reprann kontwòl sou baz kod yo, asire ke li rete konsève epi pare pou kwasans alavni.
Eseye Todoctor :