Skip to content

bee lint

bee lint vastab ühele küsimusele: mida see projekt neilt failidelt ootab?

Terminal window
bee lint src/Catalog/Data/ProductDataSource.cs
# bee — rules for src/Catalog/Data/ProductDataSource.cs
# - a DataSource never calls GetCollection
# ↳ matched: *DataSource.cs

See ei ole koodikontrollija. Ta ei parsi faili, tal pole omaenda arvamusi ja ta ei ütle sulle kunagi, et mõni rida on vale. Ta raporteerib reeglid, mille globid vastavad sinu antud teedele — siin kehtivad kokkulepped, toodud kohale enne kirjutamist, mitte avastatud ülevaatusel.

Tavatähenduses linter loeb juba olemasolevat koodi ja vaidleb vastu. See on tsükli hiline pool: töö on tehtud ja tagasiside saabub ümbertegemisena.

bee lint on varane pool. Samad kokkulepped, toodud kohale ajal, mil pole veel midagi tagasi võtta.

Terminal window
bee lint src/Catalog/Data/ProductDataSource.cs src/Catalog/Services/ProductService.cs

Mitu teed korraga — reeglid liidetakse, iga üks märgistatud globiga, mis sellele vastas.

- a DataSource never calls GetCollection
↳ matched: *DataSource.cs

Rida ↳ matched: on meelega eraldi. Kui glob kirjutati reegli teksti järele samale reale, kopeeris seda lugev mudel globi faili sisse kommentaarina — // LICENCE-7 (*.cs). Päritolu omaette reale viimine lõpetas selle.

Terminal window
bee lint --json src/Catalog/Data/ProductDataSource.cs

CI-sammu, redaktori integratsiooni või mõne teise agendi jaoks.

bee lint on sama päring, mille käivitab kirjutamiseelne konks — avatud käsuna, et inimene, skript või konksudega ühendamata agent saaks seda otse küsida.

  • Konks küsib seda automaatselt ja vastus jõuab mudelini koos tööriista tulemusega — parandus, mitte ennetus.
  • Käsk küsib seda teadlikult, enne kui midagi on kirjutatud.

Reegli lisamine --path-iga teeb selle mõlemale nähtavaks.