On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation