10% pulse-storm-launcher

Code Review | Pulse Storm Launcher

WordPress plugin Pulse Storm Launcher scored10%from 54 tests.

About plugin

  • Plugin page: pulse-storm-launcher
  • Plugin version: 1.0
  • PHP version: 7.4.16
  • WordPress compatibility: 4.5.3-4.7
  • WordPress version: 6.3.1
  • First release: Aug 16, 2016
  • Latest release: Aug 18, 2016
  • Number of updates: 25
  • Update frequency: every 5.0 days
  • Top authors: alanstorm (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /740 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
These installer errors require your attention
  • The plugin did not install without errors
    • > Notice in wp-content/plugins/pulse-storm-launcher/pulse-storm-launcher.php+391
    Undefined variable: links

Server metrics [RAM: ▼1.96MB] [CPU: ▼52.89ms] Passed 4 tests

An overview of server-side resources used by Pulse Storm Launcher
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /2.03 ▼1.434.71 ▼35.74
Dashboard /wp-admin2.05 ▼1.265.72 ▼42.14
Posts /wp-admin/edit.php2.05 ▼1.316.28 ▼39.08
Add New Post /wp-admin/post-new.php2.05 ▼3.846.07 ▼94.59
Media Library /wp-admin/upload.php2.05 ▼1.185.54 ▼29.25
Pulse Storm Launcher /wp-admin/options-general.php?page=pulsestorm_launcher_options2.056.17

Server storage [IO: ▲0.03MB] [DB: ▲0.00MB] Passed 3 tests

Filesystem and database footprint
This plugin installed successfully
Filesystem: 8 new files
Database: no new tables, 6 new options
New WordPress options
theysaidso_admin_options
db_upgraded
widget_recent-posts
widget_recent-comments
widget_theysaidso_widget
can_compress_scripts

Browser metrics Passed 4 tests

An overview of browser requirements for Pulse Storm Launcher
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,838 ▲10313.59 ▼0.791.64 ▼0.1743.91 ▲0.72
Dashboard /wp-admin2,247 ▲594.88 ▼0.97111.12 ▼4.2243.29 ▼3.71
Posts /wp-admin/edit.php2,138 ▲492.07 ▲0.1039.52 ▲2.8235.24 ▼1.07
Add New Post /wp-admin/post-new.php1,547 ▲2323.32 ▼0.01648.97 ▼50.9868.94 ▲17.53
Media Library /wp-admin/upload.php1,437 ▲464.29 ▲0.1294.08 ▼9.8742.85 ▼1.10
Pulse Storm Launcher /wp-admin/options-general.php?page=pulsestorm_launcher_options8242.1427.1825.52

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
  • Uninstall procedure validation failed for this plugin
    • > Notice in wp-content/plugins/pulse-storm-launcher/pulse-storm-launcher.php+391
    Undefined variable: links
  • The uninstall procedure has failed, leaving 6 options in the database
    • widget_theysaidso_widget
    • widget_recent-posts
    • can_compress_scripts
    • widget_recent-comments
    • theysaidso_admin_options
    • db_upgraded

Smoke tests 25% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
These server-side errors were triggered
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/options-general.php?page=pulsestorm_launcher_options
    • > Notice in wp-content/plugins/pulse-storm-launcher/pulse-storm-launcher.php+371
    Undefined variable: links

SRP 0% from 2 tests

🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please fix the following items
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/pulse-storm-launcher/includes/thickbox-div.php
  • 4× GET requests to PHP files have triggered server-side errors or warnings:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function settings_fields() in wp-content/plugins/pulse-storm-launcher/includes/settings.php:8
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/pulse-storm-launcher/includes/menu-json.php:2
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/pulse-storm-launcher/includes/settings-json.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function register_activation_hook() in wp-content/plugins/pulse-storm-launcher/pulse-storm-launcher.php:529

User-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Everything seems fine on the user side

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
Attributes that need to be fixed:
  • Plugin Name: Please replace "Plugin Name" with the name of your plugin on the first line ( === pulse-storm-launcher === )
You can take inspiration from this readme.txt

pulse-storm-launcher/pulse-storm-launcher.php Passed 13 tests

The principal PHP file in "Pulse Storm Launcher" v. 1.0 is loaded by WordPress automatically on each request
52 characters long description:
A plugin for "one touch" Wordpress Admin navigation!

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
There were no executable files found in this plugin587 lines of code in 7 files:
LanguageFilesBlank linesComment linesLines of code
PHP571152358
JavaScript1294192
CSS17137

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity issues
Cyclomatic complexity
Average complexity per logical line of code0.16
Average class complexity27.00
▷ Minimum class complexity27.00
▷ Maximum class complexity27.00
Average method complexity1.67
▷ Minimum method complexity1.00
▷ Maximum method complexity6.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes1
▷ Abstract classes00.00%
▷ Concrete classes1100.00%
▷ Final classes00.00%
Methods33
▷ Static methods13.03%
▷ Public methods618.18%
▷ Protected methods2781.82%
▷ Private methods00.00%
Functions14
▷ Named functions00.00%
▷ Anonymous functions14100.00%
Constants1
▷ Global constants00.00%
▷ Class constants1100.00%
▷ Public constants1100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
No PNG images were found in this plugin