We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

This Old Pony: Working With Legacy Django Apps

Formal Metadata

Title
This Old Pony: Working With Legacy Django Apps
Title of Series
Part Number
52
Number of Parts
52
Author
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Legacy software is software that already exists. It may be a project you've inherited after joining a team, a new client's application, or something you wrote last year, or last month. Most software developers seem to prefer "greenfield" development, where you get to start from a clean slate. The reality is that there's a lot of "brownfield" development out there, that it rarely makes sense to throw away working software, and we can control the experience quite a bit to make our lives, and the software, better. If you haven't worked with legacy software chances are pretty good you will. We'll first walk through what "legacy" means, and what this looks like specifically for Django developers and Django projects. We'll also cover some of the scenarios in which you may find yourself working with legacy codebases. This includes the types of issues you'll be presented with, both generally and specific to Django. What do we mean by legacy code? What does a legacy Django project look like? What kinds of issues will you need to deal with? How to approach the codebase Tools for working with your new legacy codebase Introducing or fixing tests Common issues to look for and how to solve them Legacy deployment processes and other scary nightmares More features! Balancing business needs and "perfect" code Deciding when to upgrade Django and other dependency versions, and how to do this