HOMEWORK 1 REFACTORING AND LEGACY CODE

I’ve used them in previous apps but they always seemed like a mystery to me. Then I had to write a bunch of unit tests for the model. I tried really hard to keep my git commits small, task based, and meaningful this time, which meant I had to do a few git things I’ve never done before like adding specific lines instead of entire files. It was hard but satisfying. And the comments of all previous articles if any will now be comments of this article. I also feel like testing frees up my brain from worrying about every little bit of my application.

As the instructors explain in the lectures, after teaching the class for a while, they asked some of the top software companies what one thing they wish graduates of computer science programs would learn before entering the workforce. First I wrote the Cucumber integration tests for the happy path only. The hardest part was writing the tests. I really like the idea of my git history telling the story of my code. That shouldn’t be a surprise because writing the test is always the hardest part for me!

It was hard but satisfying. I’ve used them in previous apps but they always seemed like a mystery to me.

SaaS Legacy Homework 2: Lessons Learned · jlc

Even though I could have knocked out the homework in probably less than half the time without testing, I really liked the practice. All other cove will not see the option at all.

This week, we had to add a new feature!

homework 1 refactoring and legacy code

Our feature in a nutshell: Twitter Fitter—the tweet generator! Instead of working on a new custom app, we are given an existing app the Typo blog platform that has a long history, sometimes messy code, and spotty test coverage.

I spent a LONG time on this homework. That shouldn’t be a surprise because writing the leggacy is always the hardest part for me! This is so different than the way I used to program.

  ART OF PROBLEM SOLVING RMO

I really like the idea of my git history rrfactoring the story of my code. Last week we were asked to fix a bug in it. And also having the ability to revert any single change without messing anything else up.

SaaS Legacy Homework 2: Lessons Learned

The title and author will be from one of the two articles. But I’m proud to say that I stuck to it this time and wrote all the tests before writing the actual code except for the view and some skeleton methods so it didn’t throw method-not-found errors–basically I had to get it to the point where the tests failed for the right reasons and not because it couldn’t find some method.

The hardest part was writing the tests. The body of the new article will be a concatenation of xode two previous articles. I tried really hard to keep my git commits small, task based, and meaningful this time, which meant I had to do a few git things I’ve never refactorinh before like adding specific lines instead of entire files. As the instructors explain in the lectures, after teaching the class for a while, they asked some of the top software companies what gomework thing they wish graduates of computer science programs would learn before entering the workforce.

So even though at first they had no idea how to teach this, they set out to do so in this class. So all I have to do now is concentrate on writing whatever little bit I’m working on now, instead of trying to keep the entire app in my head and worry about not breaking anything else.

  MAPLE HOMEWORK NCSU

The overwhelming answer was “how to work with legacy code”. Then I had to write a bunch of unit tests for the model. So instead of putting all the tests there, I just wrote a few to make sure the controller was asking the model for that information.

If what I’m doing now will break something else, then I’ll know about it soon enough if I wrote my tests right. SaaS Legacy Homework 2: You can find out more here.

homework 1 refactoring and legacy code

But this time I played around with them in the debugger gem. Then I wrote the unit test for the controller. There’s probably a lot of other things but these are the easy ones that I can remember off the top of my head And if you’re curious about the code I wrote for this week’s homework, it’s up on Github.

First I wrote the Cucumber integration tests for the happy path only. And thus we have legacy homework 1 and 2 last week and this week. At last I allowed myself to write some actual code, which didn’t take long. The one thing that was SUPER helpful was using the debugger gem and plain old rails console with the –sandbox option while writing the tests, because it helped me figure out exactly how to get to certain elements in order to test them. And the comments of all previous articles if any will now be comments of this article.