CS257 Software Design Monday, 19 September 2022 0. Clone a copy of my GitHub repository to your working computer. You'll need it. git clone https://github.com/ondich/cs257_2022_fall jeff 1. Today - Books project overview - Key topics: TDD, CLI design, CSV files, code quality, python csv & argparse - CLI design - readings - observations from man pages - what's due tomorrow - Find your partner for the CLI - Unit testing in Python - TDD reading - some basics - lab exercise - Questions about anything 2. Books project - The data - The operations - Test-driven development - Order of development - design the CLI (Tuesday) - write unit tests in python (Friday) - implement the CLI in python (Wednesday) - code review (Friday) - revision (the following week) 3. CLI design - looking at manual pages git-style vs. ls-style various "Synopsis" notations - vs. -- Unix style vs. MS-DOS style vs. ... the endurance of Unix - Observations from the readings - What I'm hoping for in tomorrow's assignment 4. Meet your partner - Schedule work time - Start work on CLI design 5. Wrap-up, questions What are the benefits and problems with the following styles of command-line design for the current project? SYNOPSIS python3 books.py titles ... python3 books.py authors ... ... SYNOPSIS python3 books.py [--titles] [--authors]... SYNOPSIS python3 books.py [--titles | --authors]... SYNOPSIS (something else...?)