Open main menu

Changes

Answer "Why"
Part of [[Testing]] is the '''static analysis ''' that your IDE can perform, or that standalone analysis tools can perform.
Static analysis tools allow you to maintain a healthy codebase because every time you make a code change, you can check the entire codebase for quality without having to run the code. What does static analysis do for you? It gives you * easier code review* better code quality* better product quality Static analysis tools detect 'technical debt', 'smelly code' and 'bad practices'. These might be OK in the short-term, but over time will slow down your development cycle and wreck your product. Some people don<nowiki>'t like static analysis. Frankly, that might just be because you're OK producing software that has bugs. Or else I think it's either because those people are short-sighted in ways that extra process means "slow delivery" for them. Or, they don't know computer <nowiki>'''</nowiki>science<nowiki>''' and don't want to or can'</nowiki>t grasp and so if you mention topics like [[wp:Reification (computer science)]], they get uncomfortable and defensive. No matter the real reason, I don't believe you can be a professional software developer and disclaim the benefits and utility of static analysis tools in producing better quality software with less time and effort.
[https://github.com/brendt Brent Roose] of PHP Annotated discusses Static Analysis in this video about Generics in PHP