Probably being pedantic, but I disagree on the order. What I understand is that "giving it no thoughts" is less bad than "doing it prematurely".
The worse is to not give it a thought IMO (usually people justify that by saying "premature optimization is the root of all evil", where actually they just couldn't be bothered to think). Writing bad code and justifying it by "I'm optimizing" is also pretty bad.