nhunghuynhthihong/Bluebird

Assignment 3 Review

Opened this issue ยท 0 comments

avo1 commented

๐Ÿ‘ nice work. The point of homework 3 was to explore a simple example of a full MVC application with a RESTful API.

Grading Summary:

  • Functionality: Good
  • Code Style: Good
  • Visual Design: Good

Overall: Good

Detailed Notes

  • Nice work encapsulating the properties into the private class extension for better encapsulation. You should create a blank line between each function for more readability.
  • Nice work specifying the Auto Layout constraints. There's 1 thing in this assignment to implement the dynamic constrain for the retweet label. You should try handling the conditionally present retweet label in the cells. This is a situation where it's not possible to specify the behavior by only the Interface Builder.
  • Nice work setting up the controls within the Tweet cells. It can sometimes be hard to have a clean design for embedded controls because it usually involves cumbersome plumbing. This is an instance where I think having the model handle the network action helps greatly simplify the implementation. You should consider showing the count for fav/retweet.
  • Your icons are broken when run on retina screen (iP 5 and above). The reason is you set the icon in 1x. Get the icon with double resolution and move it to 2x.

screen shot 2016-08-07 at 12 43 39 pm

- In NewTweetVC, good job handling the limit of 140 chars. `shouldChangeTextInRange` is the correct delegate to use in this case. It can also prevent the user to paste a very long text. - When you reply, you should change the title of the NewTweetVC.

screen shot 2016-08-07 at 11 38 52 am

- You should try implementing the post tweet insertion into the feed (use delegate in `NewTweetVC` to tell the `TweetsVC` that you got a new tweet). In real MVC apps, the more polished experiences have to do a certain amount of local object management to make a fully seamless experience.