When to refactor your code into generators and how
summary
Claim: factor the data-producing core out of similar loops into a single generator and compose behavior with iterator tools; concrete result is a reusable fibgen that yields an endless Fibonacci stream. Tools actually used: itertools.islice, itertools.takewhile, itertools.dropwhile and functions from the more-itertools package (one, chunks). The refactor replaces four messy variants with a generator + combinators, code is implemented and verified with pytest-bdd and works.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:41GOALS
- 2:43TOPICS
- 3:23VARIATIONS ON FIBONACCI NUMBER SELECTIONS
- 4:00FIBONACCI NUMBER (DEFINITION)
- 4:58FIBS LESS THAN N (PYTHON)
- 8:28SMALLEST FIB GREATER/EQUALN(PYTHON)
- 9:23THE PATTERN
- 10:42TIME TO START REFACTORING YOUR CODE
- 11:05CODE REFACTORING
- 11:36EXTRACTING COMMON PARTS NOT DOABLE!
- 12:38EXPERIMENT: COMBINE THE FIRST TWO FUNCTIONS
- 13:29REFACTORING THE RIGHT WAY: SINGLE RESPONSIBILITY
- 14:52CONTEXT SWITCH: GENERATOR FUNCTIONS
- 16:55THE FIBONACCI NUMBER GENERATOR
- 18:30EXAMPLE USAGE OF THE FIBONACCI GENERATOR
- 23:35THE SMALLEST FIB GREATER/EQUAL N (PYTHON, REFACTORED)
- 25:31RECAP








