Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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.

Slide 3

Slide 3 text

jgs Previously

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

jgs Design Common errors

Slide 7

Slide 7 text

jgs 460 00001011 Case 17 Review UML

Slide 8

Slide 8 text

jgs 460 00001011 Case 6 Missing elements

Slide 9

Slide 9 text

jgs 460 00001011 Case 8 !

Slide 10

Slide 10 text

jgs 460 00001011 Case 23

Slide 11

Slide 11 text

jgs 460 00001011 Case 16

Slide 12

Slide 12 text

jgs 460 00001011 Case 20

Slide 13

Slide 13 text

jgs 460 00001011 Case 21

Slide 14

Slide 14 text

jgs Source Code Common errors

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

jgs 460 00001011 DRY 1 or 2?

Slide 17

Slide 17 text

jgs 460 00001011 Bloat

Slide 18

Slide 18 text

jgs 460 00001011 Readability

Slide 19

Slide 19 text

jgs 460 00001011 Readability

Slide 20

Slide 20 text

jgs 460 00001011 Readability

Slide 21

Slide 21 text

jgs 460 00001011 Readability

Slide 22

Slide 22 text

jgs 460 00001011 Readability

Slide 23

Slide 23 text

jgs 460 00001011 Readability Flag?

Slide 24

Slide 24 text

jgs 460 00001011 Readability

Slide 25

Slide 25 text

jgs 460 00001011 Readability

Slide 26

Slide 26 text

jgs 460 00001011 Readability

Slide 27

Slide 27 text

jgs 460 00001011 Readability

Slide 28

Slide 28 text

jgs 460 00001011 Readability

Slide 29

Slide 29 text

jgs 460 00001011 Questions

Slide 30

Slide 30 text

jgs 460 00001011 Reference Chapter 2, 3

Slide 31

Slide 31 text

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.