NYCrb / devpunks

http://devPunks.com modern development site for podcast & youtube videos
MIT License
16 stars 1 forks source link

[Talk Proposal] The DRY Principle Is Misunderstood #57

Closed steven-solomon closed 1 year ago

steven-solomon commented 5 years ago

Abstract:

You have probably heard of the DRY Principle, but what you don’t know is that it has nothing to do with duplicate code. Join Steven Solomon as he teaches you to re-think the DRY Principle, how to identify incorrectly “DRY” code, and how to refactor your code so that it is easy to change again.

Description

The Don’t Repeat Yourself Principle has swept the world, it is often the first thing new engineers are taught. It has probably affected your current code base in a big way. However, despite your code being “DRY”, your code is hard to change. The same files have to be changed over and over for seemingly unrelated reasons, and code brittleness due to tight coupling abound. You might ask yourself, “Why is this happening?”

In this talk I will teach listeners that the DRY Principle is actually about eliminating duplicate representations of ideas not duplicate code. Duplicate code is often misidentified as part of this principle, and attempts to clean it up are made. The end result is lots of divergent change (one place changes for many reasons), yielding tons of pain for the development team, and eventually a clamor for a complete rewrite of the system.

This talk begins with a story about how removing code duplication caused a team to become stuck with a tightly coupled mess.

Then I will tell the listeners three techniques to identify incorrectly DRY code:

Once the listener knows how to identify incorrectly DRY code, I will walk them through a code example where introducing a new path is very difficult. We will refactoring the code so that the independent concepts are isolated. Once the code is fixed, I will show how easy it is to make the desired change.

About the Author

Hi, my name is Steven Solomon, I am a Lead Engineer at Stride Consulting. I have spent about 10 years writing software on teams in many industries and languages. I am very passionate about writing clean code and I want to share my experiences with you, if that doesn't work I'll play you some blues guitar.

You can check me out on twitter: @ssolo112, or on medium @ssolomon

Notes

I have given this talk to 40+ people at the Pivotal Labs office in NY (where I work). I am scheduled to give this talk in March at Boston Ruby, and in May during Saturn 2019 at Carnegie Mellon.

SpencerTang commented 5 years ago

@steven-solomon this looks great! When were you thinking of presenting? We have an opening in May on the 14th.

steven-solomon commented 5 years ago

@SpencerTang I am open to presenting in April as well, but let's schedule for May 14th.

SpencerTang commented 5 years ago

@steven-solomon unfortunately we had to cancel the event for May due to logistical reasons. We would still love for you to do the talk. Would it be possible for you to reschedule and speak at the next meetup on 6/11? Really sorry for any inconvenience this may have caused.

steven-solomon commented 5 years ago

@SpencerTang No worries. Yes I am available on 6/11. I'm very excited to share my experiences with the NYC Ruby community.

SpencerTang commented 5 years ago

@steven-solomon awesome, I have scheduled you for 6/11 sorry again about the inconvenience!

steven-solomon commented 5 years ago

Hey @SpencerTang, do you record the talks or take photos?

SpencerTang commented 5 years ago

@steven-solomon yes it will be recorded however we don't have any photos planned.

steven-solomon commented 5 years ago

That’s awesome, would it be possible to get a copy of that?

On Tue, Jun 11, 2019 at 3:36 PM Spencer Tang notifications@github.com wrote:

@steven-solomon https://github.com/steven-solomon yes it will be recorded however we don't have any photos planned.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/NYCrb/devpunks/issues/57?email_source=notifications&email_token=AAGFLRL4XZZJIQMXAAYRJ33PZ75DRA5CNFSM4GWY5WQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXOINEY#issuecomment-500991635, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGFLROTSXTBLV6I75S7QE3PZ75DRANCNFSM4GWY5WQA .

steven-solomon commented 5 years ago

Thank you again for the opportunity to speak with such an great group!

@SpencerTang Would it be possible to get a copy of the recording of that evenings talks, or any feedback you have heard from attendees?

SpencerTang commented 5 years ago

@steven-solomon sorry for the delayed response, since I no longer work at XO Group I've been trying to get a copy of the recording. Unfortunately the team couldn't find the recording from the MeetUp. Sorry for any inconvenience!