2024: Domino Containers - The Next Step. News from the Domino Container commu...
Software maintenance PyConUK 2016
1. 1
So you "want" to maintain a
Python legacy code base
PyConUK 2016
César Cardenas Desales
2. 2
About me
● Software Architect at Webrepublic AG
● Python user since v.2.0
● Co-organizer of the Swiss Python Summit (i.e.
PyCon Switzerland) and the Zurich Python User
Group
14. 14
IT Industry?
● Linux kernel: 1991, 25 years
● LaTeX: 1985, 31 years
● U.S. Treasury Department - Individual Master File: 56
years
15. 15
IT Industry?
● Linux kernel: 1991, 25 years
● LaTeX: 1985, 31 years
● U.S. Treasury Department - Individual Master File: 56
years
● Probably many Fortran or Cobol systems
COBOL programmer wanted
- 5 years experience life expectancy
16. 16
IT Industry?
● Linux kernel: 1991, 25 years
● LaTeX: 1985, 31 years
● U.S. Treasury Department - Individual Master File: 56
years
● Probably many Fortran or Cobol systems
● Mine WAS 4 years
● Yours?
20. 20
1 Understand - Context
● Code doesn’t live in a
void
● Ask users
● THE business case
● Interview power users
● Create personas
● Read use cases
● Write use cases
35. 35
3 Improve - The code
● Leave the code cleaner than you found it
● pep8 -> pycodestyle
● Flake8 (PyFlakes + pycodestyle)
● pylint
● radon
● Your IDE
40. 40
3 Improve - The people
● TDD if possible
● Do Code Reviews
41. 41
3 Improve - The people
● Code Reviews
○ Spread knowledge
○ The Ego Factor
○ Increase quality of software
“Your reputation at stake
with every commit”
42. 42
3 Improve - The people
● Code Reviews
○ Easily done with Github
○ Like washing your hands
after going to the toilet
43. 43
Ask me
● Ascend a Swiss
(Python) summit
● Why can you buy
cornish pasties in
Mexico