File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed
Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change 11# py-template
22This 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
You can’t perform that action at this time.
0 commit comments