why is good quality code important