I'll add functions at the drop of a hat. Even for one line of code: instead of commenting the line to explain that it Does Foobar, I'll just drop it into a function DoFoobar().
As you know, there is a cost to adding functions. They are not free from a code performance standpoint. Are they so close to being free that you don't need to worry? That depends on the processor and the application. I still do embedded and assembly programming, so I can't afford to drop this habit, because there, it does matter. So for web apps, I continue to use them liberally, but definitely not "at the drop of a hat".