Jan Nedbal (@janedbal) header
Jan Nedbal (@janedbal) profile picture

👨‍💻 Principal engineer at @ShipMonkDevs. 🔍 Static analysis lover. ❤️ Open sourcerer. 🎤 Speaker.

Prague
Joined March 2015
Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)Photo by Jan Nedbal (@janedbal)
🧪 Enforcing code COVERAGE via % is insufficient 🔥 Some code is MUCH more important ❓What if CI could ensure tests for ALL controllers? See 🧵for more.
1
4
1
5
828
Jan Nedbal retweeted
🔑 New OSS from ShipMonk: Passkeys (WebAuthn) for PHP 8.4+ with zero dependencies. High-level flow API, conditional mediation, a fake authenticator for easy testing, 100% code coverage and phpstan max level with no ignores. github.com/shipmonk-rnd/pass…
2
1
18
1,215
Zítra jedu na výlet do Brna. V KD Rubín bude @web_science_cz Za necelé 2k doběhnete zajímavosti s AI a Dev/ DevOps, a získáte náskok před těmi co si ten den nenajdou. Networkig je vždy to nejvíc na co se těším. Na závěr akce si se @srigi střihnem moderování AI battle, kde naživo uvidíte co je dnes s llm možné i zábavné Pár míst ještě je: webscience.cz
1
6
389
Already at #PHPStan level: max with strict rules? Try enabling some of those:
5
32
2,880
📢 After 4 years of development, Dead Code Detector is stable ● Newly features: Laravel! ● Can find dead methods, props, consts and enums ● Supports Symfony, Twig, Doctrine, PHPUnit ● Understands transitivity (even hooks) ● Can remove dead code Install as any @PHPStan ext
1
12
1
68
5,137
Na březnový meetup v Praze máme rovnou 3 přednášky 🎤 Petr Soukup - Jak v e-shopech nahrazujeme lidi za AI 🎤 Jan Nedbal - Shipping AI Code with Trust 🎤 Tomáš Markacz - AI v produkci: Praktický průvodce, jak zkrotit Vertex AI meetup.com/pražske-srazy-přa…
1
1
517
💥Big release of Dead Code Detector via @phpstan: 🏷️Dead properties: Both never-written & never-read detected! Property hooks part of transitivity chain! ☘️Twig support! Parameters passed to templates are used! github.com/shipmonk-rnd/dead…
1
8
1
46
2,304
📟Claude Code usage increase in @ShipMonkDevs in 2026... I think it just reached some point of wide usability - with great results for almost any task. People started to trust it and truely use it.
1
1
4
287
Replying to @JanTvrdik
@JanTvrdik enhanced and released a new version of Nextras MultiQueryParser - aka the backend that splits your migration SQL files into particular queries. A ton of new features, enhancements, and bugfixes in version 2.0 😍 🚀
3
3
326
PHPStan 2.1.34 is out with two great advancements: Optimized performance: between 25 % to 40 % faster times thanks to more caching and raw performance tweaks in code. More precise analysis with Fibers (super-cool) on PHP 8.1+. Upgrade today and let me know how it works for you!
8
17
2
91
9,896
#PHP property hooks Would you expect equal behaviour? It is not: 3v4l.org/t80RS#v8.4.15
2
1
4
1,074
Or you can write own CoverageRule and target any method easily. Reflection and AST is available. Examples: - Method changed by 50+% to have test - All 10+ lines must have some coverage - Repositories to have 70% coverage - Methods are tested unless #[NoCoverageAllowed] 🧵...
1
120
Also, it can: - merge coverage XMLs (parallel CI support) - convert coverage formats (clover, cobertura, php) - calculate coverage for your MR diff only It should be stable, we use in CI for months. Try it! Requires PHP 8.1+
112