Failiga seotud mälu
git blame ütleb, kes rida muutis. Linter ütleb, mis sellega praegu viga on.
Ainult bee oskab öelda, mis juhtus eelmisel korral, kui keegi seda faili
puudutas, ja mida ta sellega tegi.
bee remember "** piir kadus vaikselt, nii et **/foo.cs sobis notfoo.cs-iga" \ --type error \ --solution "hoia piiri: (?:.*/)? mitte .*" \ --prevention "kirjuta negatiivne test — muster, mis EI TOHI sobida" \ --path 'src/Bee/Hooks/*.cs'Edaspidi näeb seda igaüks, kes on sobivat faili muutmas:
bee lint src/Bee/Hooks/PathGlob.cs
# bee — known about src/Bee/Hooks/PathGlob.cs# - [error] ** piir kadus vaikselt, nii et **/foo.cs sobis notfoo.cs-iga# ↳ fix: hoia piiri: (?:.*/)? mitte .*# ↳ avoid: kirjuta negatiivne test — muster, mis EI TOHI sobida# ↳ matched: src/Bee/Hooks/*.cs--path on korratav ja kasutab sama glob-tähistust nagu
reeglid — tegelikult sama sobitajat, sest kaks
autoriteeti selle üle, mida glob tähendab, on üks liiga palju.
Kuhu see jõuab ja kuhu mitte
Section titled “Kuhu see jõuab ja kuhu mitte”| failiga seotud mälu | |
|---|---|
bee lint sobival failil |
✅ jõuab kohale |
bee lint mis tahes muul failil |
— vaikus |
| kirjutamiseelne konks | ✅ jõuab kohale |
| sessiooni algus | — ei jõua |
| iga päring | — ei jõua |
bee remember search |
✅ endiselt leitav |
Need kaks puudumist ongi funktsionaalsus. Seotud mälu ei maksa midagi käikudel, mis tema faili ei puuduta — mõõdetuna umbes 37 tokenit ülaltoodud näite puhul, makstuna ainult siis, kui seda teed nimetatakse.
Vead ees
Section titled “Vead ees”Kui piir hakkab pigistama, peab välja langema kõige vähem pakiline. Sellel, kes
on faili muutmas, on rohkem vaja teadmist “eelmine kord läks see katki” kui
“siin on üks kokkulepe”, seega järjestatakse error-mälud ettepoole. Käsk näitab
kuni 5; kirjutamiseelne konks võtab 3, sest see sõidab reeglite kõrval
kahesekundilises eelarves.
bee lint --memory 0 # jäta täiesti vahelebee lint --memory 10 # või küsi rohkemTeadmine ei ole juhis
Section titled “Teadmine ei ole juhis”Plokk renderdatakse oma pealkirja all, reeglitest eraldi — ja see ei ole kosmeetika.
Reegel on juhis, mida järgida. Mälu on fakt mineviku kohta. Ühes loendis kohtleb
mudel neid ühtemoodi — ja error-mälu järgimine, mis kirjeldab viga, tähendab
selle vea taastootmist. Teine pealkiri, teine tegusõna.
Lahendus ja ennetus rändavad koos probleemiga, sest “see läks korra katki” ilma “ja siin on see, mis selle parandas” on hoiatus, mille peale ei saa keegi tegutseda.
Mida siduda
Section titled “Mida siduda”Seo see, mis muidu avastataks uuesti:
# lõks konkreetses failisbee remember "AppKit ei tembelda auditivälju — pane CreatedAt initsialiseerijasse" \ --type error --solution "= DateTimeOffset.UtcNow atribuudil" \ --path '**/Entities/*.cs'
# otsus, mis kehtib kataloogi kohtabee remember "see kiht on CQRS kirjutuspool; lugemised käivad projektsiooni kaudu" \ --type decision --reason "lugemismudelil on teine järjepidevuslepe" \ --path 'src/Orders/Commands/**'Ära seo seda, mis kehtib kõikjal — see on reegel või tavaline mälu. Sidumine on selle jaoks, mis loeb ainult siin.