Brutal refactoring, lying code, the Churn, and other emotional stories from Legacy Land

Matthias Noback (26.Jan.2019 at 10:10, 1 hr )
Talk at PHPBenelux Conference 2019 (English - US)

Rating: 4 of 5

Working effectively with legacy code isn’t all about creating test harnesses before refactoring algorithms. The “safety first” strategy doesn’t always apply. Not if the code you’re looking at is LYING IN YOUR FACE anyway.

In this talk I’ll show you what brutal refactoring is. I’ll show you the red glowy eyes of the Churn. And I’ll hold up some big warning signs that should prevent you from producing legacy code today.

Table flips allowed.

Who are you?

Claim talk

Talk claims have been moved to the new Joind.in site.

Please login to the new site to claim your talk

Want to comment on this talk? Log in or create a new account or comment anonymously

Write a comment

 
Please note: you are not logged in and will be posting anonymously!
= one plus two

Comments

Rating: 5 of 5

26.Jan.2019 at 14:00 by Van Belle Jonathan (Grummfy) (50 comments) via Web2 LIVE

Intresting, like usual ;)
Make me find some path for my actual job \o/

Rating: 4 of 5

26.Jan.2019 at 14:49 by Johan Vervloet (49 comments) via Web2 LIVE

As always an enjoyable talk to listen to. Not really new things, but sometimes I need a story like this. I liked the idea of looking to the git history to find problematic classes. And thanks for the reading tips.

Rating: 4 of 5

26.Jan.2019 at 18:01 by Scott Dutton (33 comments) via Web2 LIVE

Was a good talk about legacy, Would have preferred some examples on before vs after

Rating: 5 of 5

26.Jan.2019 at 19:32 by Murielle Evers (16 comments) via Web2 LIVE

An amazing talk as always. The jokes were amazing... but were they really jokes ;)

Rating: 4 of 5

26.Jan.2019 at 20:39 by Tom Van Looy (71 comments) via Web2 LIVE

when you said there were three Kant questions my immediate thought was that you were missing one. In my observation the three posed questions are somewhat egocentric, in the way that they are focused around the developer. What can *I* expect / do / know. It is not a secret that "some" software developers suffer from a kind of narcissism towards "software-development", completely ignoring project goals and prioritizing technical matters.

I think if you are dragging in Kant, the fourth question is an important one to include, and in this context can be translated as "what is the software developer". A more important question then "what can I do". What is the role of the software developer in a project, or in a specific project? Is (s)he involved in the organization? Should (s)he be more involved? Is (s)he not supposed to think and just execute? Is the team working in the right direction? Are they investing development time in the right parts of the system? Do decisions reach the entire team? What is the company's or customer's strategy? Are they creating competitive advantage?

Well you had me sitting there grinding over these things for over an hour, so I hope you are happy now ;-)

Rating: 4 of 5

28.Jan.2019 at 12:11 by Bram Van der Sype (28 comments) via Web2 LIVE

Great talk about legacy code. One personal opinion: you said so yourself, a lot of the way we think and feel about legacy code is because of psychological reasons. In my opinion, naming something influences the way we think about it. By calling legacy code "legacy" or even "monsters", it immediately paints a negative picture of it and you're feeling bad before you're actually working on it. The fact that you're working on legacy code, probably meant it kept the business afloat for however long it has existed, so it definitely has merit.

I've once heard someone mention that because of just that, they had renamed the namespace of their legacy project to "Goldmine" as a bit of tongue-in-cheek humor. But still: it clearly indicates that, while yes, the code is old and probably a little scary, it still contains some great nuggets of knowledge.

Rating: 5 of 5

28.Jan.2019 at 15:25 by Steve Winter (56 comments) via Web2 LIVE

Got a bit depressing at times, but it was always light-hearted. Your definition of legacy being 'code without an owner' was great.

Really liked the idea of using churn vs complexity to identify places which 'really need work' and have already tried that out with a legacy project I'm working with - interestingly it identified a few places I hadn't expected (and several I had).

You're a great presenter Matthias, with obvious in-depth knowledge!

Rating: 4 of 5

28.Jan.2019 at 17:04 by Miro Svrtan (213 comments) via Web2 LIVE

I felt the talk was bit disconnected: lot of theory & philosophy on one hand and personal disappointment stories on the other. This made the whole talk have a 'depressing' vibe.

In my experience, 'legacy' can be terrible code but I dont like labelling bad code with 'legacy' stickers by default: it's just bad code.

For 5* I would like to hear a few positive stories as well, at least how a depressing one from speakers experience was converted to a happy one.

Rating: 4 of 5

28.Jan.2019 at 19:58 by Bert Van de Casteele (56 comments) via Web2 LIVE

A typical Matthias Noback talk : fun, interesting and refreshing. It was nice to see a talk being not all about code examples and demo's, but just a 'talk' about something we all have to deal with.

Rating: 4 of 5

28.Jan.2019 at 21:37 by Sietze van den Bergh (28 comments) via Web2 LIVE

Nice talk with some fun jokes and an all around fun atmosphere. Had a few usefull tips/guidelines for legacy code but apart from that no real groundbreaking information/solutions. Thanks for the talk!

Rating: 4 of 5

31.Jan.2019 at 13:23 by Jens Trio (15 comments) via Web2 LIVE

Nice presentation about legacy code. I like your speaker style, an informative talk with some jokes in it.
I personally would have preferred some technical examples.

© Joind.in 2019