How do I make an efficient farm?

Use several 4-block tall sections for most plants, and have the top tier or two a bit taller for the larger plants. Another method is extending every other platform and using that space exclusively for taller plants. This improves access and convenience at the cost of compactness.


Update 2015: note that the dynamics of farming have changed, as plants now need to be watered in order to grow. You can do it manually, but it is far more efficient to do with rainfall. With this in mind, multi-tiered farms that don't allow rainfall to reach lower tiers will not work.

Also, in current Stable (beginning of October 2015), whether rainfall reaches plants is not computed if a player is not present nearby. Therefore, crops will not grow in the absence of a player character. This seems like a bug or oversight, and might be targeted for a fix (or fixed already on Unstable/Nightly), but be aware of it in current Stable.

EDIT: if you use a structure in a rainy environment where you spend a good amount of time, consider growing crops on the roofs of structures to maximize the amount of farm tiles for which rainfall > saturation > crop growth will be calculated in your presence. If you're on multiplayer, any place frequented by friendly player characters should work.