Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Object-Oriented JavaScript: Challenge Making the Game Interactive moveLeft() and moveRight() Methods Solution

Richard Eldridge
Richard Eldridge
8,229 Points

Is it just me...

...or is this program incredibly convoluted? I am struggling to keep track of all of the classes, objects, methods, getters, et. al. that seem to weave back and forth between the various files. It just seems to lack any organized cohesiveness. Granted, I am no expert...or even familiar with programming structure, but it's all I can do to not get completely lost on what appears to be a simple program. Any recommendations for trying to get a grasp of these concepts a little better? How am I ever supposed to practice my own code when I'm so confused on this example?

Thanks in advance!

3 Answers

Hey Richard, I haven't taken the course that you're on yet, but I do have some experience writing OOPJS and in my experience, it IS complicated. Once I get to a point where I have a number of class methods that make use of one another's return values, calling methods inside other methods, dozens of properties etc, it takes quite a bit of concentration and brain-power to keep track of all the moving parts. I suspect that the reason you find the course to be complicated is basically because writing anything other than a simple little DOM script is complicated. I have two suggestions: 1) slow down, eliminate any distractions, and make sure you are in the right frame of mind to concentrate; 2) make a little mind map if it helps you. Write out all the methods and draw links between them in a way that is organized to help you understand how the program works. You could do this while taking a course, or while working on your own project. Using a strategy like this is something I think professional developers use often.

And lastly, don't sweat it if things don't make sense right away or get frustrating. When you're learning this stuff, you're sort of re-wiring your brain to think in a way that does not come naturally to most people. Keep at it and in time you will probably find that you don't get bogged down as easily. That has definitely been the case for me.

Happy coding!

Richard Eldridge
Richard Eldridge
8,229 Points

Thanks, Michael! That was exactly what I needed.

Glad to help!

Ashley Boucher
STAFF
Ashley Boucher
Treehouse Teacher

Hey Richard Eldridge,

Thanks for taking this course - I'm super glad you're sticking with it, and you're really making great progress. I also super appreciate your many contributions to the forum and the way you're interested in trying your own solutions instead of just using mine - that is a great way to learn programming. Like Michael said, even "simple" programs can be complicated - but once you have more experience under your belt, they get less so. Sometimes, concepts just take time to sink in. When I was learning programming, things came together for me like a puzzle - it took a while for all the pieces to fit and the picture to become totally clear. Keep at it!

Anyways, the mindmap and notes suggestions are great. I'd also recommend doing the project again once you're done. Seeing things a second time can help provide clarity. I'd also recommend that after you finish the project, try to build something with OOP of your own design. Maybe a less variable game like Rock, Paper, Scissors, or a movie database app.

There's also a new practice session in the works for OOJS that I think you'll really enjoy. It's more instructional and the project is less complicated than this one. Stay tuned after the new year - I can @ you when it's out, if you like :)

Let me know if there's anything I can do to help!

Best, Ashley

Richard Eldridge
Richard Eldridge
8,229 Points

Thanks for the reply! I am enjoying the course and was actually thinking about redoing it like you mentioned. I am determined to learn this stuff, and I'm pretty cognizant of when I know something well enough, but I don't, and that is the frustrating part. But, then, I haven't really paid the price...

I really appreciate the community on here. Great tips and encouragement! I look forward to the next OOJS course and would very much appreciate a notification.

Thanks!

Wow! How nice is it to see someone else struggling like you! Might be the hardest class hahahahaha!