In a pistol, I prefer a 4" barrel (aka "service pistol") like a Colt Commander or my 4" S&W 39's. These are reasonably flat and comfortable with a good holster but more difficult to conceal than a smaller gun. Smaller for me is a S&W 649 .357 or a S&W 3914NL (black "Ladysmith") and these come out when weather dictates minimal cover over an ample torso.
Re: Self-Defense distances
I was originally taught to shoot at 25 yards and now consider that to be the "max" distance for any kind of engagement if there is a choice. Some here think that's too far to justify SD. Think of a major arterial city street. These often have 3 lanes in each direction, plus a median. At 12' per lane, 6x12=72 feet give or take the median width (or a 4-lane highway with turn lanes).
I've heard some say 5-10 yards is max. Really? Let's move to the parking lot.
5 Yards = 15 feet = the length of a midsize car like a Chevy Cruze. If you carry, I would hope that you're practiced enough to make hits at that distance. In fact, if you can't score hits at 5 yards, carry pepper spray instead.
10 Yards = 30 feet = Just less than the length of 2 Pickup Trucks.
My Dodge truck is 17 feet bumper to bumper. Two of these trucks fill up the parking slots nose-to-nose at most retail lots. Let's call that 35-feet or just over 11 yards. That is not an unrealistic distance to shoot if the thug retreated behind the end of one car to shoot at you and you're behind your own.
15 Yards = 45 feet - about the distance from the trunk of your car, past the car parked in front of you and across the next aisle to the trunk of another car. In other words, it's a common place distance we're all familiar with.
20 Yards = 60 feet - extend the target position to the front of that other car in the above example. I'll let you work out the rest.
The purpose of this post was to show people that many distances we are familiar with are within 25 yards. Limiting yourself to 5 or 10 yards is rather like saying you can play the piano as long as you don't go near the high notes.