Throw it over the wall
Some Developers like to throw code to QA to see if it works
Some Developers use QA as their testing environment without testing their code first. In some situations, if the code compiled they thought it was safe for QA to test.
In software development, this is known as 'throw it over the wall' testing. Developers feel that the Change is so small - they just give it to QA to test it.
Not a Good idea
Bad news - that's not what QA is for. At least not in an agile environment.
Developers shouldn't be sending code to QA without having some sanity testing. They should at least know that the change they are making are working.
Yes they should be testing their code.
What Should QA Be Use For?
QA should be used to test security risks, performance issues, vulnerability, and usability. It shouldn't be the front line of any testing.
Developers should always be testing their code. They should have accountability for how their code works.