Coding workflow
//DEV #1-1 - Topic -
//DEV #1-2 - Topic -
//DEV #1-3 - Topic -
//DEV #1-4 - Topic -
//DEV #2-1 - Topic -
//DEV #2-2 - Topic -
//DEV #2-3 - Topic -
//DEV #2-4 - Topic -
//DEV #3-1 - Topic -
//DEV #3-2 - Topic -
//DEV #3-3 - Topic -
//DEV #3-4 - Topic -
/*
* Prototype - What should it do?
*
*
*
* (Use Excel for quick testing and development of formulas etc.)
*/
//
/*
* Planning:
*
* Nouns:
*
* *****
* Adjectves:
*
* *****
* Verbs:
*
* ****
*/
//
//DEV: #1 - Topic - Task
//DEV: #1-1 - SerializeData - Open a new stream
//DEV: #1-2 - SerializeData - Serialize with binaryformatter
/* TODO-List
*
* [ ] - Task 1
* [X] - Task 2
* [ ] - Task 3
* [ ] - Task 4
* [ ] - Task 5
*/
//
Preparation
What should it do?
Prototype it: (in Excel?)
- Calculations
- Variables
- Inputs
- Outputs
Plan
- Write comments
- Nouns -> Classes
- Adjectives -> Properties
- Verbs -> Methods
- Events
- what is an interesting event? Who might want to listen to it?
- what sort of messages would I like to get?
- Interfaces (decoupling)
- what would the HIGH LEVEL OBJECT need this thing to do?
- what do I (the HIGH LEVEL OBJECT) need another class to do?
- Tools - Options - Environment - Task List: "DEV: # *task*"
Perform
- Write the code ("fix" the comments)
* TDD - Write
-Arrange
-Act
-Assert
Perfect
- Refactor (Changing code, but not functionality
- Readability - Maintainability - Testability - Performance - Extensibility - Compliance
(Designing, refactoring, optimizing, refining)
When you click a button, or something happens:
*Start at the end result:
*What information do you need here?
*Who should provide this information?
*How should it be done? (keep adding classes and interfaces, SRP!)