Presentation is loading. Please wait.

Presentation is loading. Please wait.

WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.

Similar presentations


Presentation on theme: "WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010."— Presentation transcript:

1

2 WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here.here These slides contain a lot of animations. For optimal results, watch in slideshow mode.

3 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

4 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

5 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

6 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

7 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

8 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

9 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

10 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

11 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

12 Discuss with your neighbors logging, assertions, exceptions, defensiveness coupling, and cohesion of this method. /* Sets user as ‘active’ on the server, throws an exception if the * user does not exist on the server */ void activateUserOnServer(String userName) throws CannotActivateException{ log("trying to activate " + userName); assert(isUsernameAcceptable(userName)); boolean isActivated = ServerConnection.activate(userName); if(!isActivated) { throw new CannotActivateException(userName + " not activated"); } Account account = AccountManager.getAccount(userName); account.toggleActivatedStatus(); //mark as activated }

13 V0.1 How?

14 V0.1 How?

15 [extra] Boom! 14

16

17

18

19

20

21

22

23

24 [Extra] what you think you can do What you can do What you think you can do

25 V0.1

26 V0.5

27

28 V0.1 V0.2 V0.3 V0.4 [by next tutorial]

29 Previous lecture: Better design Better documentation Better code better everything! Theme for this week: Improving the product. Improving ourselves.

30 Explain this design in less than 10 words explain {answer} e.g. explain blah blah explain {answer} e.g. explain blah blah 77577 {abstract} Command execute() {abstract} undo() {abstract} Edit execute() undo() execute() undo() Delete execute() undo() execute() undo() Add execute() undo() execute() undo() History add(Command) * Command cmd = createCommand(commandString); cmd.execute(); history.add(cmd); … cmd.undo();


Download ppt "WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010."

Similar presentations


Ads by Google