$30 off During Our Annual Pro Sale. View Details »

CSE460 Lecture 11

CSE460 Lecture 11

Software Analysis and Design
Object-Oriented Principles II
(202102)

Javier Gonzalez-Sanchez
PRO

July 11, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSE 460
    Software Analysis and Design
    Lecture 11: Object-Oriented Principles II
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    460 00001011
    Announcement
    § Assignment 04. Game
    It is due today (February 17) 11:59 PM AZ time.
    Submit here your use case diagram, class diagram, and source code.

    View Slide

  3. jgs
    Previously

    View Slide

  4. jgs
    460 00001011
    Key Concepts
    Encapsulation
    Abstraction
    Hierarchical
    Relationships
    Polymorphism
    Concurrency
    Persistency

    View Slide

  5. jgs
    460 00001011
    Clean Code Principles
    § Readability
    Use Meaningful Names for Classes, Methods, and Variables
    Follow coding guidelines: e.g., read the Java Style Reference
    § KISS (Keep It Simple by K. Johnson) for your reader
    Small functions that do one thing
    § DRY (Do not Repeat Yourself):
    Avoid Code Bloat
    § Decoupling

    View Slide

  6. jgs
    Design
    Common errors

    View Slide

  7. jgs
    460 00001011
    Case 17
    Review UML

    View Slide

  8. jgs
    460 00001011
    Case 6
    Missing
    elements

    View Slide

  9. jgs
    460 00001011
    Case 8
    !

    View Slide

  10. jgs
    460 00001011
    Case 23

    View Slide

  11. jgs
    460 00001011
    Case 16

    View Slide

  12. jgs
    460 00001011
    Case 20

    View Slide

  13. jgs
    460 00001011
    Case 21

    View Slide

  14. jgs
    Source Code
    Common errors

    View Slide

  15. jgs
    460 00001011
    KISS
    Create code Simple and Direct
    Could we make this code short?
    Is the Runnable needed?
    Is the Exception needed?

    View Slide

  16. jgs
    460 00001011
    DRY
    1 or 2?

    View Slide

  17. jgs
    460 00001011
    Bloat

    View Slide

  18. jgs
    460 00001011
    Readability

    View Slide

  19. jgs
    460 00001011
    Readability

    View Slide

  20. jgs
    460 00001011
    Readability

    View Slide

  21. jgs
    460 00001011
    Readability

    View Slide

  22. jgs
    460 00001011
    Readability

    View Slide

  23. jgs
    460 00001011
    Readability
    Flag?

    View Slide

  24. jgs
    460 00001011
    Readability

    View Slide

  25. jgs
    460 00001011
    Readability

    View Slide

  26. jgs
    460 00001011
    Readability

    View Slide

  27. jgs
    460 00001011
    Readability

    View Slide

  28. jgs
    460 00001011
    Readability

    View Slide

  29. jgs
    460 00001011
    Questions

    View Slide

  30. jgs
    460 00001011
    Reference
    Chapter 2, 3

    View Slide

  31. jgs
    CSE 460 Software Analysis and Design
    Javier Gonzalez-Sanchez
    [email protected]
    Fall 2020
    Disclaimer. These slides can only be used as study material for the class CSE460 at ASU. They cannot be distributed or used for another purpose.

    View Slide