Lint
Főnév
Lint (tsz. Lints)
- (informatika) A lint vagy linter egy olyan eszköz, amely forráskódot elemez és potenciális hibákat, stílusbeli eltéréseket vagy antipattern-eket jelez. Nem futtatja a programot, hanem statikus kódelemzést végez – azaz fordítás vagy futás nélkül vizsgálja a kódot.
🧾 Eredet
A „lint” kifejezés eredete a 1978-as Unix-eszközre vezethető vissza, amely a C nyelvű kódokat vizsgálta a fordító által nem jelzett, de potenciálisan veszélyes konstrukciók után. Azóta a „lint” gyűjtőnévvé vált minden hasonló eszközre.
🎯 Mire jó a lintelés?
✨ Előnyök:
- Hibák korai észlelése (pl. használatlan változók, hibás logikai kifejezések)
- Egységes kódstílus fenntartása csapaton belül
- Refaktorálás segítése
- Kódminőség növelése
- Automatikus javítás lehetősége bizonyos eszközöknél (pl.
--fixopció)
🔍 Mit ellenőrizhet egy linter?
- Szintaktikai hibák
- Stílusbeli problémák (pl. behúzás, névkonvenciók)
- Potenciálisan hibás konstrukciók (pl. = vs ==)
- Kompatibilitási problémák (pl. böngészőtámogatás JavaScript esetén)
- Biztonsági figyelmeztetések (pl. nyitott fájlhandle, SQL injection)
🔧 Népszerű linterek nyelvek szerint
| Nyelv | Linter |
|---|---|
| C, C++ | clang-tidy, cppcheck |
| Python | pylint, flake8, mypy |
| JavaScript | eslint |
| TypeScript | tslint (elavult), eslint |
| Java | Checkstyle, PMD, SpotBugs |
| Go | golint, staticcheck |
| Rust | clippy |
| Bash | shellcheck |
🛠️ Példa: ESLint (JavaScript)
npm install eslint --save-dev
npx eslint index.js
Ha automatikusan javítani is szeretnénk:
npx eslint index.js --fix
🧪 Példa: clang-tidy (C++)
clang-tidy main.cpp -- -I./include -std=c++17
A -- utáni rész a fordítási parancs szimulációja.
🤖 CI integráció
A lintereket gyakran beépítik folyamatos integrációs (CI) pipeline-okba, hogy a hibás vagy rosszul formázott kód ne kerüljön be a fő ágba (pl. GitHub Actions, GitLab CI, Travis CI).
🔄 Kódformázó ≠ linter
Fontos különbség:
- Linter: analizál, hibákat/stílust jelez
- Formatter (pl.
prettier,clang-format,black): automatikusan formáz
A kettő kombinálható, de nem ugyanaz.
📚 Záró gondolat
A lintelés elengedhetetlen a modern fejlesztésben, különösen nagyobb csapatokban vagy nyílt forráskódú projektekben. Segít fenntartani a letisztult, konzisztens és hibamentes kódbázist. Használata nemcsak a fejlesztők munkáját könnyíti meg, hanem a hosszú távú karbantarthatóságot is jelentősen javítja.