Core Concepts
- Variables, types, and memory model (value vs reference)
- Control flow: conditionals, loops, early returns, guard clauses
- Functions: pure vs impure, parameters, return values
- Error handling: exceptions, result types, defensive coding
- IO basics: files, streams, HTTP requests
Debugging Mindset
- Reproduce consistently, reduce scope, add logs/assertions
- Binary search your code path; isolate side effects
- Write minimal failing examples; then patch
// Pseudocode for binary-search debugging
while(bug){
cut_scope_in_half();
if(bug_in_left) keep_left(); else keep_right();
}
Clean Code Principles
- Small, single-purpose functions
- Good names & consistent style
- Comments for why, not what
- Write tests for critical paths