Is there better than hamming code for correcting errors As known, hamming code can be represented by (7,4) where data are 4 bits, and 3 bits for parity,  and (15,11) where 11 bits are data and 4 bits for parity. It can correct up to one bit, or detect two bits without correcting. 

Parity bits will cause an issue of spectral efficiency or in data rate, so my question, is there another code better than hamming code which can correct more errors with less parity bits ?
I think the question hinges around the trade off of how heavily you code the information and the rate. Generally adding more parity bits will give better error detection/correction ability but it will reduce the communication rate since each each information word is being mapped into a longer code word. Because of this trade off, I am not sure you will find better codes than the mentioned code in terms of it having less parity bits while increasing error detection/correction ability.