Skip to content

Commit 4cf5171

Browse files
authored
Merge pull request #14 from gonuke/general_design_comments
Add general thoughts on design
2 parents 5ff136b + f03ced5 commit 4cf5171

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
# py-template
22
This repository serves as a template for new python projects and a way to express best practices
33

4+
## General Thoughts on Design
5+
6+
* Designs are often very fluid while exploring a new problem. Expect to throw
7+
away many parts of a first version to focus on the things that matter.
8+
* After becoming familiar with the project, spend some time in pseudo-code to
9+
focus on identifying the basic building blocks and call graph
10+
1. Start implementing with the most deeply nested methods with accompanying tests
11+
2. Expand to the methods that call those methods
12+
3. End with user interface
13+
14+
* With the building blocks identified in pseudo-code, carefully consider the
15+
data access patterns to inform the data design
16+
* Choose a data design that is suitable for your most deeply nested methods and
17+
modify it sparingly and only with good cause as you add layers
18+
* Object-oriented design often seems like overkill for new small projects but
19+
a. Can avoid the need to pass around lots of data objects
20+
b. Can be a framework for helping to formalize the design process
21+
422
## Best Practices - Coding Practices
523

624
### User input

0 commit comments

Comments
 (0)