For sure, having a pre-QA checklist is super important. Running unit tests, scanning for obvious bugs, following coding standards, and doing integration testing are all key. I usually also do a quick manual smoke test of key user flows to catch any UX issues. And don't forget to update the docs/comments! A little extra dev diligence goes a long way in making QA (and future maintenance) much smoother.
Before QA, developers typically check:
1. **Code functionality**: Ensure the code works as expected.
2. **Error handling**: Check for proper error messages and graceful handling.
3. **Code review**: Make sure it’s reviewed and follows best practices.
4. **Unit tests**: Verify all relevant tests pass.
5. **Performance**: Ensure no performance bottlenecks.
6. **Security**: Check for vulnerabilities or security flaws.
7. **Documentation**: Confirm relevant documentation is up to date.
8. **Version control**: Ensure code is committed and pushed to the correct branch.