Yeah, keeping the code efficient is important to me. This is one decision that has nothing to do with laziness.
The benefit of that extra querying (showing a 0 or not) is simply not worth the sacrificed efficiency.
BTW, the reason the "Reputation: x" text is hidden when the reputation=0 is to save space and try to keep things simple and clean. If you don't see the text, you can automatically know that the reputation number is 0.