Emina Torlak
emina@cs.washington.edu
CSE 403: Software Engineering, Spring 2015
courses.cs.washington.edu/courses/cse403/15sp/
The Joel Test: 12 Steps to Better Code Emina Torlak - - PowerPoint PPT Presentation
CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ The Joel Test: 12 Steps to Better Code Emina Torlak emina@cs.washington.edu Outline 1. Do you use source control? 2. Can you make a build in one
emina@cs.washington.edu
courses.cs.washington.edu/courses/cse403/15sp/
2
1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do you have quiet working conditions? 9. Do you use the best tools money can buy?
2
1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do you have quiet working conditions? 9. Do you use the best tools money can buy?
2
1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do you have quiet working conditions? 9. Do you use the best tools money can buy?
3
3
3
4
4
languages and #ifdef combinations
4
languages and #ifdef combinations
4
languages and #ifdef combinations
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
quicksand…)
7
quicksand…)
7
quicksand…)
understand and keep the schedule
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
11
11
without these guidelines
11
without these guidelines
11
without these guidelines
12
12
12
separation of concerns, data hiding, modularity, well-defined interfaces, and strong fault- protection mechanisms.
12
separation of concerns, data hiding, modularity, well-defined interfaces, and strong fault- protection mechanisms.
requirements, requirements tracking, daily integration builds, rigorous unit and integration testing, and extensive simulation.
13
13
whole, and each module within it, had to reach a minimal assertion density of 2%.”
13
whole, and each module within it, had to reach a minimal assertion density of 2%.”
13
whole, and each module within it, had to reach a minimal assertion density of 2%.”
14
The Joel Test for 403: 1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do you do hallway usability testing?