As my own study of clean code progresses, I seem to occasionally find conflicting theories. Lately, I'm forming a solid preference to code to human-readability and to that end, I'm now almost universally giving 'names' to my control structures: if ($SatInDriverSeat && $SeatbeltIsOn && $CarIsStarted) { DriveCar(); } becomes $ReadyToDrive = ($SatInDriverSeat && $SeatbeltIsOn && $CarIsStarted); if ($ReadyToDrive) { DriveCar(); } Clearly, $ReadyToDrive is a single-use variable, but the benefit it offers to code simplicity and readability outweighs the tiny potential performance losses of assigning a single-use variable, especially when used in a small, efficient method of a few lines, where the limited scope implies that its resources will be released as soon as the method has finished processing. In fact, where possible, I'm now adopting the policy that any control or loop will only consist of a variable and a method call, for example, foreach (['cat, 'dog', 'mouse'] as $animal) { feed($animal); } becomes $animals = ['cat', 'dog', 'mouse']; foreach ($animals as $animal) { feed($animal); } ```