78% circle-progress-bar

Code Review | Circle Progress Bar

WordPress plugin Circle Progress Bar scored78%from 54 tests.

About plugin

  • Plugin page: circle-progress-bar
  • Plugin version: 1.0
  • PHP version: 7.4.16
  • WordPress compatibility: 4.6-4.7
  • WordPress version: 6.3.1
  • First release: Aug 2, 2018
  • Latest release: Aug 10, 2018
  • Number of updates: 13
  • Update frequency: every 0.6 days
  • Top authors: shyamaladevi123 (100%)

Code review

54 tests

User reviews

1 review

Install metrics

100+ active /4,123 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
This plugin's installer ran successfully

Server metrics [RAM: ▲0.08MB] [CPU: ▼7.26ms] Passed 4 tests

An overview of server-side resources used by Circle Progress Bar
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.55 ▲0.0942.52 ▲5.99
Dashboard /wp-admin3.39 ▲0.0555.10 ▼7.32
Posts /wp-admin/edit.php3.51 ▲0.1551.62 ▼2.04
Add New Post /wp-admin/post-new.php6.00 ▲0.1189.03 ▼17.56
Media Library /wp-admin/upload.php3.32 ▲0.0938.84 ▼2.13
Settings /wp-admin/edit.php?post_type=circle_bar_plugin&page=circle_progress_settings3.2934.27
Add New /wp-admin/post-new.php?post_type=circle_bar_plugin3.3542.25
Circle Progress bars /wp-admin/edit.php?post_type=circle_bar_plugin3.3636.17

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

How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 15 new files
Database: no new tables, 7 new options
New WordPress options
widget_recent-posts
widget_theysaidso_widget
widget_recent-comments
db_upgraded
can_compress_scripts
circle_bar_plugin_version
theysaidso_admin_options

Browser metrics Passed 4 tests

Circle Progress Bar: an overview of browser usage
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,941 ▲18013.83 ▼0.528.68 ▲6.7843.74 ▼3.83
Dashboard /wp-admin2,239 ▲655.72 ▲0.2087.74 ▼1.7138.32 ▼2.12
Posts /wp-admin/edit.php2,144 ▲412.03 ▲0.0637.99 ▼5.1735.08 ▼4.48
Add New Post /wp-admin/post-new.php1,557 ▲3123.25 ▲0.13690.58 ▲17.6160.64 ▲4.55
Media Library /wp-admin/upload.php1,444 ▲444.27 ▲0.2097.10 ▼21.1744.78 ▼4.49
Settings /wp-admin/edit.php?post_type=circle_bar_plugin&page=circle_progress_settings8401.7628.6229.03
Add New /wp-admin/post-new.php?post_type=circle_bar_plugin1,4862.7958.8947.67
Circle Progress bars /wp-admin/edit.php?post_type=circle_bar_plugin1,1131.9734.7530.43

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
  • Zombie WordPress options were found after uninstall: 7 options
    • db_upgraded
    • widget_theysaidso_widget
    • circle_bar_plugin_version
    • theysaidso_admin_options
    • widget_recent-posts
    • widget_recent-comments
    • can_compress_scripts

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Even though no errors were found, this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please take a closer look at the following
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/circle-progress-bar/templates/circle-setting.php
  • 2× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function untrailingslashit() in wp-content/plugins/circle-progress-bar/circle-progress-bar.php:12
    • > PHP Fatal error
      Uncaught Error: Call to undefined function settings_errors() in wp-content/plugins/circle-progress-bar/templates/create-setting-form.php:2

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
Attributes that need to be fixed:
  • Requires php: Invalid version format
You can look at the official readme.txt

circle-progress-bar/circle-progress-bar.php Passed 13 tests

The entry point to "Circle Progress Bar" version 1.0 is a PHP file that has certain tags in its header comment area
19 characters long description:
Circle Progress Bar

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Success! There were no dangerous files found in this plugin3,170 lines of code in 14 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript46869052,708
PHP67677328
CSS41818134

PHP code Passed 2 tests

This is a very shot review of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.29
Average class complexity12.00
▷ Minimum class complexity4.00
▷ Maximum class complexity20.00
Average method complexity2.00
▷ Minimum method complexity1.00
▷ Maximum method complexity7.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes2
▷ Abstract classes150.00%
▷ Concrete classes150.00%
▷ Final classes00.00%
Methods22
▷ Static methods418.18%
▷ Public methods1777.27%
▷ Protected methods418.18%
▷ Private methods14.55%
Functions2
▷ Named functions2100.00%
▷ Anonymous functions00.00%
Constants8
▷ Global constants225.00%
▷ Class constants675.00%
▷ Public constants6100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Using a strong compression for your PNG files is a great way to speed-up your plugin
PNG images were not found in this plugin