Almost all "engineers" will look at the LED datasheet, see "10-20mA If", and calculate the resistor accordingly. End of story, ship it.
That's simply all there is to it.
In my recent designs, I've made a point of checking a couple of things:
1. Use proper high efficiency LEDs, so they will be consistently bright. (This means InGaN green, not GaP green. If the datasheet doesn't specify, keep looking!)
2. Make sure they have similar emission angles and intensities. (Green is usually brighter, and red dimmer, when measured by candela rating. Adjust currents as needed later.)
3. Use no more than ~1mA. A little more is good for red (~2mA?).
4. Take into account previous designs. If they were overly bright (or dim), adjust accordingly.
Note that InGaN green has Vf ~ 3V, just like blue (it's a blue LED, tuned to emit in green!), so you need a 5V supply, and you'll probably need different resistors for each color. YMMV.
Note also that this is fine for indoor applications, but a brightly lit shop floor, or outdoors, won't have as good visibility as running everything near limits. Obviously, the dynamic range can be astronomical (from indoors to sunlight, we're talking more than three decades of range), and if you really need to support that, while looking good, you have no choice but to add a photosensor and control.
Tim