When designing an amplifier, ask yourself this simple question: what exactly is the input signal?
This sounds so obvious, but in practice there are many amplifiers around that amplify the wrong thing, with all due problems. Many designers think of the input signal to be an input voltage, but this is not always the case.
A photo diode for instance, does not deliver a voltage as its output signal, but a current. What to do with it? Often designers run the current through a resistor, turning it this way into a voltage, which they can amplify with a voltage amplifier. The resistor should not be too small, for then it would generate too much noise. It should not be too large either, for it would limit the bandwidth. This is a trade-off. What to do?
Of course, with a properly designed amplifier, there is no trade-off. The amplifier below does not amplify an input voltage. It amplifies an input current, and converts it to an output voltage.

The resistor R sets the gain. It can have any value without a direct influence on the bandwidth, so that there is no noise-bandwidth trade-off.
An amplifier has to process a signal from a 50 Ohm transmission line, and turn it into a voltage. The standard way would be to terminate the line with a 50 Ohm resistor, followed by a voltage amplifier:

The problem is here that the termination resistor generates noise, adding 3dB to the noise figure of the amplifier. The other feedback resistors also add some noise, and the overall noise figure of this amplifier is 4.4dB.
There is a better way to do this. The configuration below also offers a 50 Ohm termination to the input, but its noise is considerably less. The overall noise factor of this amplifier is only 1.0dB, and it could even be improved further.

So a proper feedback configuration is necessary for good performance. The golden rule is take the desired output quantity, convert it to the desired input quantity, and feed it back. In the examples above, the desired output quantity is a voltage. The desired input quantity is a current in Example 1 and power (voltage as well as current) in Example 2. So the feedback network in Example 1 converts the output voltage into a current and subtracts it from the input. The network in Example 2 takes the output voltage, converts it to a voltage and a current and feeds both back to the input.
Reference [1] contains a good overview of feedback-amplifier design.
So we have seen that the feedback network can generate noise. This is the case if the network contains resistors. For noise minimization, careful feedback design is necessary. In some cases, the feedback network can consist of noise-free components, such as inductors, capacitors, and transformers.
The active part of the amplifier (the stuff in the triangle) also generates noise. The strategy to minimize this noise generation consists of two obvious steps:
The active part of the amplifier usually consists of several stages. If the first stage has a large gain, it will lift the signal level and incoming noise level above the noise level of the next stage. This will make the noise contribution of the following stages negligible. So the technique to limit the number of noise contributors is to maximize the gain of the amplifier stages, especially the input stage. In very simple terms: the input stage should not be an emitter follower or common-base stage if possible.
The input stage itself may consist of several components. Even if only the input stage generates noise, there may still be many noisy components in it. Limiting the number of these noisy components in the input stage means making the signal path as simple as possible, and designing the bias circuitry such as to minimize its noise contribution. It is normally possible to make the noise contribution of the bias circuitry negligible.
Minimizing the noise generation of the remaining components in the first place means choosing the right component. In a low-impedance situation, a bipolar transistor usually is best. It will have an optimal bias current at which its noise generation is minimal. The parasitic series resistances, especially in the base, should be small enough. This may require a large component which may limits its frequency range. Also wiring is important. In one occasion, the aluminum on-chip wires from the connection pads to the input transistor contributed to the noise through their series resistance, even though the lines seemed too short for this.
In high-impedance situations, a FET or MOSFET is usually the best component for the input stage. Its noise generation is dependent on its aspect ratio and bias current. For low frequencies, 1/f noise is important. A P-channel transistor normally has less 1/f noise than an N-channel transistor. The larger the area of the transistor, the less its 1/f noise.
The best way to combat distortion is to combine proper feedback with a large loop gain. The active part of the amplifier should have a sufficient number of stages to realize the necessary loop gain. The stages themselves should have as much as possible gain also, which means that they should be common-emitter or common-source stages, not emitter followers for instance. We saw before that this is also necessary for noise optimization.
For the rest, a strategy very similar to the noise minimization applies: minimize the number of components that contribute significant distortion. How to do this? Again, make sure all stages have a large gain. This will make that the output stage has the largest signal to process. Because of the large gain of the output stage, the preceding stage will have a much smaller signal. This way, the output stage is the only stage that generates distortion.
One of the best output stages may be the one described in Reference [2].
Optimizing the bandwidth of an amplifier is one of the most complex subjects in amplifier design. Basically, the transistors in the active path will limit the overall bandwidth of the amplifier. The maximally attainable bandwidth will be the geometric mean of the bandwidths of the stages. The transit frequency of the transistors will always limit this.
For a single-stage amplifier, it is not difficult to attain this maximum. But the more stages there are, the more difficult this is, and even for a two-stage amplifier it is in most cases not possible to attain this maximum.
For more than two stages, the problems increase tremendously. The problem of optimizing the bandwidth is usually overshadowed by a more basic problem: how to keep the amplifier stable? How to get it to work at all?
Sometimes amplifiers with two stages, and almost always amplifiers with more stages will oscillate upon closing of the feedback loop. The measures that are necessary to stabilize the amplifier are called compensation. Compensation becomes more complex with a rising number of stages. And usually, compensation will reduce the bandwidth of the amplifier to a fraction of the theoretical maximum.
There is a real trade-off here. The more stages, the more loop gain, so the more signal quality and the less distortion. But also more compensation and less bandwidth. Reference [3] gives a good overview of compensation methods and possible ways out of this dilemma.
There are cases when feedback is not necessary or when it is even better not to use feedback. Examples are sensitive RF input amplifiers, micro-wave amplifiers, and non-linear amplifiers such as limiters or variable-gain amplifiers.
[1] E.H. Nordholt. Design of High-Performance Negative Feedback Amplifiers. Elsevier, Amsterdam, 1983.
[2] Dennis M. Monticelli. A Quad CMOS Single-Supply Op Amp with Rail-to-Rail Output Swing. IEEE Journal of Solid-State Circuits, Vol. SC-21, No. 6, December 1986, pp. 1026-1034.
[3] Ruud G.H. Eschauzier. Wide Bandwidth Low Power Operational Amplifiers. Delft University Press, 1994. ISBN 90-407-1056-2.