Below are the few things I found which can help to reduce rejection/pass EQP process.
- Keep Your vendor name same as Vendor Name of your Marketplace account
- Create your extension with
developer
mode enabled - Must have composer.json in root folder of extension Eg. app/code/Vendor/Module/composer.json" with correct configurations and dependencies
- Must have registration.php in root folder of extension Eg. app/code/Vendor/Module/registration.php"
- Do not use
$_REQUEST
,$_POST
,$_GET
,$_FILE
directly - Never end class file with ending php tag
?>
- Check extension functionality with Magento compilation
php bin/magento setup:di:compile
- Remove unnecessary code and comments
- Use spaces for indentation
- Check compatibility with
production
mode enabled - Test with cache enabled and disabled
- Validate your package e.g.
php validate_m2_package.php my-theme.zip my-module.zip
- Check for code duplication Refer
- Check coding standard with
phpcs
E.g.$ vendor/bin/phpcs /path/to/your/extension --standard=MEQP2 --severity=10
- Do not use
// @codingStandardsIgnoreLine
or// @codingStandardsIgnoreFile
in code - Do not use Magento logo in your documents or images
- Do not use "Product Box Image" as extension main image
- Add proper description for your extension functionality
- Correct grammatical errors (punctuation, capitalization, word usage, etc). Remember to use "a","an", and "the" correctly. Make sure words are plural when necessary. Be sure words that should be past tense are past tense.
- Do Functional/Unit Testing. as per @bhavani's answer
Keeping the practice of following above standards will surely improve extension quality.