Topics:
[W5.4] Design: High-Level View
[W5.5] Design: Fundamentals
[W5.6] Architecture
[W5.7] Architectural Styles
[W5.8] Design Approaches
Full ToC
Coding Standards
[W5.1a] Implementation → Code Quality → Introduction → What :
[W5.1b] Implementation → Code Quality → Style → Introduction :
Code Quality: Naming
[W5.1c] Implementation → Code Quality → Naming → Introduction :
[W5.1d] Implementation → Code Quality → Naming → Basic → Use nouns for things and verbs for actions :
[W5.1e] Implementation → Code Quality → Naming → Basic → Use standard words :
[W5.1f] Implementation → Code Quality → Naming → Intermediate → Use name to explain :
[W5.1g] Implementation → Code Quality → Naming → Intermediate → Not too long, not too short :
[W5.1h] Implementation → Code Quality → Naming → Intermediate → Avoid misleading names :
Readability
[W5.1i] Implementation → Code Quality → Readability → Introduction :
[W5.1j] Implementation → Code Quality → Readability → Basic → Avoid long methods :
[W5.1k] Implementation → Code Quality → Readability → Basic → Avoid deep nesting :
[W5.1l] Implementation → Code Quality → Readability → Basic → Avoid complicated expressions :
[W5.1m] Implementation → Code Quality → Readability → Basic → Avoid magic numbers :
[W5.1n] Implementation → Code Quality → Readability → Basic → Make the code obvious :
[W5.1o] Implementation → Code Quality → Readability → Intermediate → Structure code logically :
[W5.1p] Implementation → Code Quality → Readability → Intermediate → Do not 'Trip Up' reader :
[W5.1q] Implementation → Code Quality → Readability → Intermediate → Practice KISSing :
[W5.1r] Implementation → Code Quality → Readability → Intermediate → Avoid premature optimizations :
[W5.1s] Implementation → Code Quality → Readability → Intermediate → SLAP hard :
[W5.1t] Implementation → Code Quality → Readability → Advanced → Make the happy path prominent :
Unsafe Practices
[W5.1u] Implementation → Code Quality → Error-Prone Practices → Introduction :
[W5.1v] Implementation → Code Quality → Error-Prone Practices → Basic → Use the default branch :
[W5.1w] Implementation → Code Quality → Error-Prone Practices → Basic → Don't recycle variables or parameters :
[W5.1x] Implementation → Code Quality → Error-Prone Practices → Basic → Avoid empty catch blocks :
[W5.1y] Implementation → Code Quality → Error-Prone Practices → Basic → Delete dead code :
[W5.1z] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize scope of variables :
[W5.1A] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize code duplication :
Code Comments
[W5.1B] Implementation → Code Quality → Comments → Introduction :
[W5.1C] Implementation → Code Quality → Comments → Basic → Do not repeat the obvious :
[W5.1D] Implementation → Code Quality → Comments → Basic → Write to the reader :
[W5.1E] Implementation → Code Quality → Comments → Intermediate → Explain WHAT and WHY, not HOW :
Introduction
Abstraction
Coupling
[W5.5b] Design → Design Fundamentals → Coupling → What :
[W5.5c] Design → Design Fundamentals → Coupling → How :
[W5.5d] Design → Design Fundamentals → Coupling → Types of coupling :
Cohesion
[W5.7a] Design → Architecture → Styles → What
[W5.7b] Design → Architecture → Styles → n-Tier Style → What
[W5.7c] Design → Architecture → Styles → Client-Server Style → What
[W5.7d] Design → Architecture → Styles → Event-Driven Style → What
[W5.7e] Design → Architecture → Styles → Transaction Processing Style → What
[W5.7f] Design → Architecture → Styles → Service-Oriented Style → What : OPTIONAL
[W5.7g] Design → Architecture → Styles → Using styles : OPTIONAL
[W5.7h] Design → Architecture → Styles → More styles : OPTIONAL
Admin:
iP:
tP: