Python static code checking: Asymptotically approaching perfection
Madhukar Mishra (~madhukar93) |
Static code checking should be easy, but in practice, it’s easy to be overwhelmed by the volume of tools available, and disappointed with the returns on time spent integrating. The world of static code analysis has evolved a great a deal and appears to be underutilised for Python.
An outline of the talk:
- Linting - automate your code reviews (3 min, total: 3 min)
- preventing bugs
writing idiomatic python
Measuring test coverage - legacy code is that which is not tested (3 min, total: 6 min)
Test coverage - how much do you need ?
Security checks - what can you get for free? (3 min, total: 9 min)
Dead code analysis - reduce the noise (2 min, total: 11 min)
Static type checking - (6 min, total: 17 min)
Setting up an effective CI pipeline - aiming for less process and more results (8 min, total: 25 min)
- putting it all together
More of a demo than a presentation, will showcase the entire pipeline
I am a full stack dev at Grofers where Python is our first choice for everything from backend services to infrastructure orchestration. I have worked on a wide range of solutions using Python, among them are APIs that power our consumer ecosystem at scale, inventory/content management systems, and other high throughput ETL services in Python.