NYCrb / devpunks

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

[Talk Proposal] Escaping The Tar Pit #69

Closed etagwerker closed 1 year ago

etagwerker commented 4 years ago

Hi NYC.rb!

I'm Ernesto, founder at @ombulabs and @fastruby, and co-organizer at @phillyrb. I'm interested in speaking at your wonderful meetup. 😃

Title

Escaping The Tar Pit

Abstract

Nobody wants to inherit a project that reeks but here we are: Stuck in the tar pit. How can we get out? Could we have avoided it in the first place?

In this talk you will learn how to use a few, great Ruby gems that will guide you out of that sticky tar you are in. On top of that, you will learn a repeatable way to gradually pay off technical debt.

Details

I will start by talking about different definitions of code quality and then I'll focus on my own definition which will be composed of three sections:

Test Coverage

I will talk about simple_cov and how we would use it to calculate test coverage for our applications.

Cyclomatic Complexity

I will talk about flog and how we would use it to calculate a score for our application. Combined with the previous section, we will be able to calculate the relative cyclomatic complexity (super complex methods are so much worse with 0% test coverage)

Code Smells

I will talk about reek and how we would use it to find code smells in a sample roda application.

After going over these three sections, I will talk about a new tool that I've built to take all these things into account and calculate a maintainability score. Let's call it the Stink Scoreâ„¢ :)

Finally I will talk about how you can use this one metric to:

  1. Gradually improve your application by reducing technical debt every week
  2. Decide whether you want to take on a new project or not

Pitch

Ruby was invented with programmer's happiness in mind. That's why I love the language, but I've found so many projects that have led me to have my doubts about it.

It is so hard to judge code quality before you take on a project. Most of the time you have zero visibility before you accept a job offer. Wouldn't it be great if you could ask the company: What's the Stink Scoreâ„¢ of the application I'll be maintaining?

The tools that have been published in the Ruby community are great, but there is not one single metric that we can use to judge the quality of our applications. This talk is an attempt to start a conversation around this topic: Wouldn't it be wonderful if we had one algorithm to judge code quality?

I know that there are many commercial tools out there (e.g. Code Climate) and I really like them, but this talk is not about them. It's about the tools that are already available and how we can use them to make our lives even happier!

Skunk

I will give a quick intro to https://github.com/fastruby/skunk and how you can use it to:

  1. Assess technical debt in your project
  2. Use it as a compass in your refactoring and/or test writing efforts

History

I've presented this talk at RubyConf 2019 and I'm presenting at RubyConf Australia 2020. It usually takes between 35 and 40 minutes.

Please let me know if you have any questions. Thank you!

scottrobel commented 4 years ago

This one has my vote for sure!

snuggs commented 4 years ago

LOVE IT!