TheOdinProject / curriculum

The open curriculum for learning web development
https://www.theodinproject.com/
Other
10.01k stars 13.4k forks source link

Ruby: Mini Epic - Update and improve debugging content #24994

Open ChargrilledChook opened 1 year ago

ChargrilledChook commented 1 year ago

Mini Epic: Improving Ruby Debugging Content

Debugging is a foundational skill and an important one to teach well and early, but our current content leaves a lot to be desired. It has been tacked onto somewhat over time and has become disjointed and complex.

We can streamline these lessons by focusing on smaller blocks of content, as well as paring back to use the Ruby core library. We can also adopt a progressive enhancement approach for this topic, and gradually improve / add to the content instead of doing everything in a single go.


Milestone 1: Updates to core content.

### Nice to Haves
- [ ] A section on advanced debugging
- [ ] A debugging playground / exercise repo
- [ ] A lesson or content section on more general debugging concepts - approaches, styles, techniques
- [ ] A lesson or content setion on common types + classes of errors
ChargrilledChook commented 1 year ago

cc @TheOdinProject/rails-path

github-actions[bot] commented 1 year ago

This issue is stale because it has had no activity for the last 30 days.

CouchofTomato commented 1 year ago

Hey @ChargrilledChook

Is this something you're waiting for feedback on? Sorry for the delay mate. It's been a hectic start to the year.

github-actions[bot] commented 1 year ago

This issue is stale because it has had no activity for the last 30 days.

JoshDevHub commented 1 year ago

I'm a bit curious about the status of this one. Is it being actively worked on?

The current lesson tends to cause a lot of confusion, at least judging from the amount of questions it brings up in the discord help chats. I agree with Chook that moving exclusively to rdbg would be very helpful, and I also think it's a good idea to split the CLI / vscode GUI into different lessons.

I'd be glad to offer any help with this if help is wanted for it.

ChargrilledChook commented 1 year ago

@JoshDevHub I wrote a decent amount of (draft) content but had to put it down. If you're interested I would love to have your help on this one; I can share what I've done so far and you can use it (or not) depending on your thoughts.

I agree this is probably the lesson most in need of fixing at the moment because I continually see people having technical issues

JoshDevHub commented 1 year ago

@ChargrilledChook Yeah I'd be interested in working on it. Also definitely interested in seeing your draft, I feel like you have a lot of good knowledge with debugging.

ChargrilledChook commented 1 year ago

@JoshDevHub sounds great, I'll dig up my drafts (they're in a random branch somewhere).

Do you have thoughts on my suggestions / discussion points in the body of the issue? I have some strong opinions but there's a lot of different ways we could approach it

JoshDevHub commented 1 year ago

@ChargrilledChook I agree with basically every point in the issue body I think. Some of my thoughts:

KevinMulhern commented 1 year ago

Hey @ChargrilledChook, @JoshDevHub, can we close this related issue now that we're moving ahead with this different approach?

ChargrilledChook commented 1 year ago

@KevinMulhern Good call mate, sorted :+1:

@JoshDevHub great write up, I think we're very much aligned here.

As a way of breaking this up a bit (and letting me find those drafts :sweat_smile: ) would you able to take on part one of the suggested approach and streamline the first lesson?

If you want to do a straight one to one swap (removing references to pry and the VSCode debugger) that would be ok, but if you wanted to expand on some of the more conceptual points that could be useful too.

This could be a section that would really benefit from having its own RSpec style playground repo, although that might be blowing the scope out of this particular issue a little - but happy to discuss how that might look.

crespire commented 1 year ago

I would be happy to help out on the increased scope playground idea once it's ready for work.

JoshDevHub commented 1 year ago

@ChargrilledChook Yeah, I can get started on that. Would it be okay if I replaced the current pry content with binding.irb? There's only one example given that shows any stepping, so I figure I can just alter that example and convert that section of the lesson over to binding.irb.

ChargrilledChook commented 1 year ago

@JoshDevHub Yep, perfect :ok_hand:

github-actions[bot] commented 1 year ago

This issue is stale because it has had no activity for the last 30 days.

github-actions[bot] commented 1 year ago

This issue is stale because it has had no activity for the last 30 days.

radanskoric commented 1 year ago

Hi, I was wondering what is the state of this ticket as I would like to contribute.

I was browsing Ruby content and noticed on the debugging lesson that it still has just byebug content and doesn't mention the new debug gem. Since I have experience with both, I thought I would contribute to the article, update it to be about the debug gem instead of pry-byebug.

Then I checked PRs and found https://github.com/TheOdinProject/curriculum/pull/25276 which lead me to this issue.

I was thinking of writing a section about the debug gem that would on top of the changes from the linked PR but I'm not entirely sure if tha fits within the overarching plan of this ticket?

What would be the best way forward for me to contribute to the debugging lesson?

EDIT: I wrote too soon, I've now noticed: https://github.com/TheOdinProject/curriculum/pull/25916 Which is basically more or less what I was thinking on writing. :) While I'm here, is there something I could do to help finish those changes?

github-actions[bot] commented 12 months ago

This issue is stale because it has had no activity for the last 30 days.