WordPress / WordPress/plugin-check

Create Autoloaded_Options_Check

Open
#28 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

[Team] Performance [Type] Enhancement Checks
Dominant language
PHP
Stars
362
Forks
126
Avg merge
1d 23h
Merged PRs (30d)
22

Description

Description

Checks the usage of the add_option and update_option functions and warns if the $autoload parameter is not set, i.e. the default $autoload value is used, which is true. Too many autoloaded options can lead to performance issues so this option should not be set to true unless necessary. No existing sniff exists but the existing WordPress.WP.EnqueuedResourceParameters sniff in the WordPress Coding Standards can be used as a starting point.

Potentially, a warning could be triggered if "yes" is passed, but the most important part is to highlight the importance of considering that parameter and what it means for performance.

Acceptance Criteria

  • Class Autoloaded_Options_Check should be created and exists at includes/Checker/Checks
  • Class Autoloaded_Options_Check should extend the PHPCodesniffer_Check abstract class which extends Check interface
  • Property $violation code should be warning
  • Method run should be implemented from the PHPCodesniffer_Check abstract class if needed
  • Check_Result $check_result should be used from the run method parameter to append the results
  • $_SERVER['argv'] arguments should be passed to parent run method to provide PHPCS information about standard, report and sniff
  • Custom sniff to detect the usage of $autoload option to true or false

Tests Coverage

  • Autoloaded_Options_Check class expected to extend PHPCodesniffer_Check abstract class
  • Autoloaded_Options_Check class expected to be instance of PHPCodesniffer_Check class
  • run method expected to append results of check into $check_result

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the existing checks under includes/Checker/Checks and the WordPress.WP.EnqueuedResourceParameters sniff named in the issue, then review PHPCodesniffer_Check and Check_Result usage. Implement the Autoloaded_Options_Check acceptance criteria, including detection of the $autoload argument and warning results, and verify the stated class and run-method coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.