This is what I always do with farms, feel free to steal.
1. First year, dig a room in the soil just under the surface for subterranean farming. Plan for all plots to be 2x2 or 4x4. One tile away, channel a good-sized area for surface farming that can only be accessed from the surface. Make sure to only get rid of some ramps, not all. Farm away.
2. When I have lots of stone blocks, build a floor over the surface farm area with stone blocks (do not be concerned with how it looks). The area underneath is still considered "above ground" for the purpose of forcing dwarves to puke and growing crops. When that's done, channel the wall that separated that area from the subterranean farm and build a floor over that strip as well. Get rid of the ramps and start farming with gusto.
3. Since trees don't grow if the land under it is hollow, the entire farm is now no longer useful for growing trees. That becomes my refuse area. Wall it off and build stairs from below ground so it can only be used by dwarves already inside the fort. Make sure to put a hatch over the stairs.
4. At some point my enemies will be able to fly, so the refuse pile needs a roof. Also, it's probably not big enough. Continue the stairs up, build a floor, make it more refuse stockpile area, and then wall off that level. I do this again until I think it's plenty, and then make sure I have a roof.
5. After the area around my fort's entrance is adequately walled-off, I'll replace a portion of the wall leading into the refuse area with a small drawbridge that opens into the interior. Most of the time it's raised, so it's a wall. The square under the bridge is my garbage pile, and when there are loads of goblin corpses outside my fort entrance I lower the bridge, allowing much faster access to the refuse pile, and destroying all my garbage in the process.