COMPSCI 169 Lecture Notes - Lecture 14: Ground Truth, User Story

29 views2 pages
22 Oct 2013
CS169: Software Engineering
October 21, 2013
Midterm: your scanned answer sheet & rubric available in Pandagrader; come to OH to
discuss solutions
CodeClimate "GPA"
Midterm 2 vs. HW5a/5b
Iteration meetings
What Makes Code “Legacy”
Still meets customer need
You didn’t write it, it’s poorly documented (or you did and didn’t document it)
it lacks good tests
modifying legacy code:
edit and pray
cover and modify
how can agile help?
exploration: determine where you need to make changes (change points)
refactoring: is the code around change points tested/testable
add tests to improve coverage
make changes, using tests as truth
refactor further
Approaching and Exploring Legacy Code
copy all the code or create a scratch branch
learn the user stories: what they’re trying to solve
understand database schema
Class-Responsibility-Collaborator (CRC) cards
“Size up” the overall code base
Identify key classes and relationships
Identify most important data structures
Ideally, identify place(s) where change(s) will be needed
Keep design docs as you go
Establishing Ground Truth with Characterization Tests
establish ground truth about how the app works
pitfall: don’t try to make improvements now!
first step: integration level
Unlock document

This preview shows half of the first page of the document.
Unlock all 2 pages and 3 million more documents.

Already have an account? Log in

Get OneClass Notes+

Unlimited access to class notes and textbook notes.

YearlyBest Value
75% OFF
$8 USD/m
$30 USD/m
You will be charged $96 USD upfront and auto renewed at the end of each cycle. You may cancel anytime under Payment Settings. For more information, see our Terms and Privacy.
Payments are encrypted using 256-bit SSL. Powered by Stripe.