Actually, the recommendations I've always heard were that the cage length plus the width should be at least as much as the snake's length. That's kind of a generalization, though. You have to take into account what kind of snake you are housing, it's activity levels, whether it needs more vertical space than horizontal space, etc.
If you are housing a Green Tree Python that is 5 feet long, then a 3 foot by 2 foot cage would be more horizontal space than you need, but if it's only one foot tall, then you are seriously lacking in vertical space. If you are housing 20 foot Burmese Python, how many people can set up cages 15 feet long and 5 feet wide? Or, in your recommendation, 20 feet long? I think a 20 foot Burmese Python will do well in a cage about half that size because they are fairly inactive snakes.
If you are housing something like Indigo Snakes, then you need more floor space. They are active snakes that grow to be 8 feet long or more. The way I do that is if the snake is less between 4 and 6 feet long, I use a cage that is 4' x 18". If they are longer than 6 feet, I use a cage that is 6' x 2'. For neonates, I use plastic shoeboxes and for juveniles smaller than 4', I use a cage that is 2' x 16". That's for Indigo Snakes.
My Black Pines, as a rule, need less space. An adult Black Pine Snake seems to do quite well in a cage 4' x 2'. More space certainly wouldn't hurt them, but I don't think it's a necessity. What seems to be more important for them is the correct thermal gradients and secure hiding areas. Mine tend to spend most of their time in hiding areas and come out to prowl around a little sometimes during the day, but never really get seriously active unless they are hungry and out "hunting". I feed my Pines every 5 to 7 days (5 days for neonates and juveniles, 7 days for adults), usually the day before feeding day they are out cruising around looking for a mouse.