I think this is a good principle. It's easy to get confused about what a function is/does unless you have a guide. (For experienced developers, experience is that guide.) The samurai principle seems to be what functions were originally for... At least in the OO world.