grokking_simplicity/ch08

ch08

dz / grokking_simplicity / ch08

Summary

Grokking Simplicity Chapter 8: Stratified Design: Part 1

Node Tree

Nodes

stratified_design
content Stratified Design
children abstraction_barrier, comfortable_layers, minimal_interface, single_level_detail, software_in_layers, straightforward_implementation, target_detail_level

software_in_layers
content Software in layers
children comfortable_layers, same_layer_same_purpose
parents stratified_design

straightforward_implementation
content Straightforward implementation
parents stratified_design

abstraction_barrier
content Abstraction Barrier
parents stratified_design

minimal_interface
content Minimal Interface
parents stratified_design

comfortable_layers
content Comfortable Layers
parents stratified_design, software_in_layers

call_graph
content Call Graph: visualize what function calls or language features a function uses
children call_graph_arrows, call_graph_detail_clues

same_layer_same_purpose
content All functions in a layer should serve the same purpose
parents software_in_layers

zoom_levels
content zoom levels: global, layer, function

call_graph_arrows
content In Call Graph, use of arrows at layer level to indicate what functions are called
children arrows_same_length (ideal for arrows in callgraph)
parents call_graph

arrows_same_length
content Ideal: make arrows the same length
children intermediate_functions, remove_shorten_arrows
parents call_graph_arrows

intermediate_functions
content can be done with the use of intermediate functions
parents arrows_same_length

remove_shorten_arrows
content remove or shorten arrows
parents arrows_same_length

single_level_detail
content Solves a problem at a single level of detail
children call_graph_detail_clues, clear_code, target_detail_level
parents stratified_design

clear_code
content Clear Code
parents single_level_detail

target_detail_level
content Stratified Design helps target specific level of detail
parents stratified_design, single_level_detail

call_graph_detail_clues
content Call Graph gives clues about level of detail
children extract_function_generalize
parents call_graph, single_level_detail

extract_function_generalize
content Extracting a function yields a more general function
children general_function_reusable
parents call_graph_detail_clues

general_function_reusable
content general functions are more re-usable
children clarify_implementation
parents extract_function_generalize

clarify_implementation
content Not done to deduplicate code, but to clarify implementation.
children serendipitousre-use
parents general_function_reusable

serendipitousre-use
content "serendipitous re-use"
parents clarify_implementation