Under the Microscope: Evaluating Existing Django Code When Onboarding a New Client
September 6th, 11:05 a.m. – 11:45 a.m.
As a Web development firm that specializes in Django, we receive many inquiries from organizations looking for assistance with their existing Django websites. This session will describe our process for evaluating existing codebases and deployment structures. The goal is to provide a framework for evaluating other people's code and understand the scrutiny your code may someday endure.
Taking over someone else’s code is an exercise fraught with peril. However, with the growing popularity of Django, more and more organizations are seeking companies and individuals to take over their Django website and support their existing Django codebase. This talk will describe the standardized process Imaginary Landscape has developed to evaluate existing code as part of their new client onboarding process.
Top reasons why clients are looking to change vendor
- What questions to ask before looking at the code.
- Where to start when looking at code?
- Traversing the code tree to get a feel for how the code is structured
- Trying to determine how the previous developer thinks
- Detailed code review including checklist
- Things to look for when evaluating code: Version control, "Standard" site layout, Settings file, hardcoding, Virtualenv, south, etc.
- Examples (names have been changed to protect the imperfect)
- The good: the kinds of coding and configuration techniques that seem to be consistent among well-thought-out projects.
- The bad: examples of code and configuration that make onboarding and maintenance difficult.
- Final thoughts
- What you can do as a developer taking over a project.
- What you can do as a developer hoping to make great code that others may someday see.
- Exercise your right to say no, it’s your reputation on the line