Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSC308 Lecture 07

CSC308 Lecture 07

Software Engineering I
Clean Coding I
(202301)

Javier Gonzalez-Sanchez
PRO

October 01, 2022
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSC 308
    Software Engineering 1
    Lecture 07:
    Clean Coding 1
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  2. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 2
    § Construction or Coding
    § Testing (Unit, UI, Integration, Stress, Regression)
    Activities

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 3
    Java API + Tutorials

    View Slide

  4. jgs
    More About GUI
    Calculator

    View Slide

  5. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 5
    Lab 04
    0

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 6
    Key Ideas
    DRY
    KIS
    Readable
    (comments, names, spaces,…)

    View Slide

  7. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 7
    import javax.swing.*;
    public class Example extends JFrame{
    public static void main(String[] args) {
    Example frame = new Example();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,500);
    frame.setVisible(true);
    }
    }
    Method main()

    View Slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 8
    import javax.swing.*;
    public class Example extends JFrame{
    public Example() {
    super("Hello World Swing");
    GridLayout layout = new GridLayout(3,2);
    setLayout(layout);
    JLabel label = new JLabel("Hello World");
    add(label);
    JButton button = new JButton("Click Me");
    add(button);
    JTextField text = new JTextField("Text", 10);
    add(text);
    JCheckBox check = new JCheckBox("Option");
    add(check);
    }
    public static void main(String[] args) {
    Example frame = new Example();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,500);
    frame.setVisible(true); }
    }
    Layouts

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 9
    import javax.swing.*;
    public class Example extends JFrame{
    public Example() {
    super("Hello World Swing");
    BorderLayout layout = new BorderLayout();
    setLayout(layout);
    JLabel label = new JLabel("Hello World");
    add(label, BorderLayout.CENTER);
    JButton button = new JButton("Click Me");
    add(button , BorderLayout.SOUTH);
    JTextField text = new JTextField("Text", 10);
    add(text , BorderLayout.NORTH);
    JCheckBox check = new JCheckBox("Option");
    add(check , BorderLayout.EAST);
    }
    public static void main(String[] args) {
    Example frame = new Example();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500,500);
    frame.setVisible(true); }
    }
    Layouts

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 10
    JPanel
    2

    View Slide

  11. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 11
    Pseudo Calculator

    View Slide

  12. jgs
    More About GUI
    Graphing calculator

    View Slide

  13. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 13
    Extending JPanel

    View Slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 14
    Extending JPanel

    View Slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 15
    Questions

    View Slide

  16. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 16
    Office Hours
    Tuesday and Thursday 3 - 5 pm
    But an appointment required
    Sent me an email – [email protected]

    View Slide

  17. jgs

    View Slide

  18. jgs
    CSC 308
    Software Engineering 1
    Lab 07:
    Clean Coding
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  19. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 19
    Lab
    0

    View Slide

  20. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 20
    Lab
    Program a Calculator in Java
    • Basic Functionality
    • Take care of your code –
    Readability, DRY, KIS

    View Slide

  21. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 21
    Ideas

    View Slide

  22. jgs
    CSC 308 Software Engineering I
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Winter 2022
    Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly.
    They cannot be distributed or used for another purpose.

    View Slide