In this work, the bad code smells are studied empirically and their relationship source code metrics is evaluated. This work also presents an initial taxonomy for the bad code smell, which improves their understandability and feasibility The bad code smells, presented by Martin Fowler and Kent Beck, are dissatisfactory structures in the source code of software that decrease software quality by making it less maintainable. The maintainability of software is important, because it is one of the factors affecting the cost of the future development activities. The literature study looks at the concept of software maintainability, discusses how software maintainability can be measured, and provides motivation and migration techniques to achieve more maintainable software. Based on the literature study, this work proposes a taxonomy for the bad code smells and evaluates the measurability of each bad code smell with source code metrics. A survey is used to collect the developers' opinions on the existence of bad code smells in particular software modules. The results of this survey show that the developers' opinions on a particular smell in a particular software module are not very uniform. The survey also provides more support to the theoretical taxonomy by showing that there are many strong correlations within the taxonomy's categories This study also compares the results of the smell survey to the source code metrics collected with automatic tools. The results show that developers' evaluations of the bad code smells do not correlate with the actual source code metrics. This means that the smell evaluations from developers are not very reliable and that there is a need for