This has been a huge debate between contractors, homeowners, engineers and architects for years. Yes, the 300 to 1 rule is a starting point that works on a lot of homes. This is 1 square foot of venting per 300 square foot of attic floor. But this does not take into consideration of a lot of other factors.
The pitch of the roof... With low slope roofs, ventilation is very important. This hot air is pressed down onto the ceiling joists of the home quickly. Luckily, a little ventilation will take care of this as the hot air by volume or cubic feet is not much. With little room for the air to circulate, the air needs to be moved and circulated as fast as possible to prevent a stale attic.
Higher pitch roofs may need more venting to accomodate the excessive amount of heat build up. But with the higher pitch and more cubic feet of attic space, this air will somewhat circulate itself. Unfortunately it will circulate to heat up even more if there isn't a gable vent to allow it to escape.
When calculating the net free air needed, the 300 square foot of attic floor to 1 square foot of vent is usually close to right but this calculation does not transfer to net free this way. You need 1 square foot of net free? Change that to the 144 square inches of net free air needed. The inches will calculate on gable vents. So, needing 5 square feet would be 144 x 5 to get 720 square inches of net free on a gable vent.
The reason you see some calculations of 1 in 300 and others of 1 in 150 is because the 1 in 300 rule is to have a point of entry for cool air and a point of exit for hot air on opposing walls of this size gable vent. If you are using the 1 foot in 300 feet rule, you will need 2 vents this same size. The 1 in 150 is for total net free of the entire attic. So if multiple vents are being used in different locations, this total can be broken down into how many vents are planned. If 720 square inches of net free are needed and the plan is for 5 gable vents... Just divide 720 by 5 for 144 square inches of net free air per vent to be installed. The only sure way to be accurate on your home is to place a thermometer in the attic. 130 degrees is where the attic should stop heating. 160 degrees is dangerous and a fire hazzard.