78% snow-monkey-forms

Code Review | Snow Monkey Forms

WordPress plugin Snow Monkey Forms scored78%from 54 tests.

About plugin

  • Plugin page: snow-monkey-forms
  • Plugin version: 6.0.5
  • PHP compatiblity: 7.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 6.3-6.4
  • WordPress version: 6.3.1
  • First release: Apr 7, 2020
  • Latest release: Nov 27, 2023
  • Number of updates: 119
  • Update frequency: every 11.2 days
  • Top authors: inc2734 (100%)

Code review

54 tests

User reviews

3 reviews

Install metrics

10,000+ active /141,152 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
Installer ran successfully

Server metrics [RAM: ▲0.43MB] [CPU: ▼10.03ms] Passed 4 tests

Server-side resources used by Snow Monkey Forms
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.97 ▲0.5141.62 ▼3.56
Dashboard /wp-admin3.70 ▲0.3649.15 ▼15.05
Posts /wp-admin/edit.php3.82 ▲0.4648.86 ▲4.21
Add New Post /wp-admin/post-new.php6.66 ▲0.7787.48 ▼23.39
Media Library /wp-admin/upload.php3.63 ▲0.3938.66 ▲1.88
reCAPTCHA /wp-admin/edit.php?post_type=snow-monkey-forms&page=smf-recaptcha3.5935.65
Snow Monkey Forms /wp-admin/edit.php?post_type=snow-monkey-forms3.6741.02
Add New /wp-admin/post-new.php?post_type=snow-monkey-forms6.6582.68

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

Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 276 new files
Database: no new tables, 6 new options
New WordPress options
widget_recent-comments
db_upgraded
can_compress_scripts
widget_theysaidso_widget
theysaidso_admin_options
widget_recent-posts

Browser metrics Passed 4 tests

Checking browser requirements for Snow Monkey Forms
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,863 ▲11614.22 ▼0.201.73 ▲0.1438.68 ▼4.93
Dashboard /wp-admin2,223 ▲455.63 ▼0.2487.51 ▼18.6339.61 ▼4.54
Posts /wp-admin/edit.php2,128 ▲281.94 ▼0.0238.89 ▲0.8235.94 ▲0.48
Add New Post /wp-admin/post-new.php1,800 ▲27323.01 ▲0.16693.69 ▼65.3838.58 ▼17.65
Media Library /wp-admin/upload.php1,434 ▲374.18 ▲0.0195.86 ▼1.1245.55 ▲5.26
reCAPTCHA /wp-admin/edit.php?post_type=snow-monkey-forms&page=smf-recaptcha8322.0026.7126.72
Snow Monkey Forms /wp-admin/edit.php?post_type=snow-monkey-forms1,0951.9332.9031.24
Add New /wp-admin/post-new.php?post_type=snow-monkey-forms1,66319.16945.1531.08

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
The following items require your attention
  • The uninstall procedure has failed, leaving 6 options in the database
    • db_upgraded
    • widget_theysaidso_widget
    • widget_recent-comments
    • theysaidso_admin_options
    • widget_recent-posts
    • 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 everything seems fine, this is not an exhaustive test

SRP 50% from 2 tests

🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Almost there! Just fix the following items
  • 42× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'Snow_Monkey\\Plugin\\Forms\\App\\Contract\\Control' not found in wp-content/plugins/snow-monkey-forms/App/Control/Tel.php:13
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/snow-monkey-forms/dist/blocks/file/render.php:11
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/snow-monkey-forms/src/blocks/url/render.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'Snow_Monkey\\Plugin\\Forms\\App\\Contract\\Validation' not found in wp-content/plugins/snow-monkey-forms/App/Validation/Required.php:12
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/snow-monkey-forms/src/blocks/radio-buttons/render.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'Snow_Monkey\\Plugin\\Forms\\App\\Contract\\Control' not found in wp-content/plugins/snow-monkey-forms/App/Control/RadioButton.php:13
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/snow-monkey-forms/dist/blocks/email/render.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'Snow_Monkey\\Plugin\\Forms\\App\\Contract\\Controller' not found in wp-content/plugins/snow-monkey-forms/App/Controller/Back.php:14
    • > PHP Fatal error
      Uncaught Error: Class 'Snow_Monkey\\Plugin\\Forms\\App\\Contract\\Controller' not found in wp-content/plugins/snow-monkey-forms/App/Controller/Input.php:14
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/snow-monkey-forms/src/blocks/email/render.php:11

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Please take a look at the following user-side issues
    • > GET request to /wp-admin/post-new.php?post_type=snow-monkey-forms
    • > Console-api (warning) in unknown
    /wp-includes/js/dist/block-editor.min.js?ver=0cd49e3f951fc97cabb7 25:219944 "snow-monkey-forms@editor-css was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe." link#snow-monkey-forms@editor-css

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that require attention:
  • Tags: Please delete some tags, you are using 11 tag instead of maximum 10
You can take inspiration from this readme.txt

snow-monkey-forms/snow-monkey-forms.php Passed 13 tests

The entry point to "Snow Monkey Forms" version 6.0.5 is a PHP file that has certain tags in its header comment area
65 characters long description:
The Snow Monkey Forms is a mail form plugin for the block editor.

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
Good job! No executable or dangerous file extensions detected9,375 lines of code in 242 files:
LanguageFilesBlank linesComment linesLines of code
PHP829772,3994,228
JavaScript5933492,961
JSON60001,357
Sass26744520
PO File1126279288
CSS130013
Markdown1308

PHP code Passed 2 tests

This is a very shot review of cyclomatic complexity and code structure
Everything seems fine, there were no complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.34
Average class complexity9.66
▷ Minimum class complexity1.00
▷ Maximum class complexity48.00
Average method complexity2.66
▷ Minimum method complexity1.00
▷ Maximum method complexity18.00
Code structure
Namespaces12
Interfaces0
Traits0
Classes50
▷ Abstract classes36.00%
▷ Concrete classes4794.00%
▷ Final classes00.00%
Methods270
▷ Static methods6925.56%
▷ Public methods20877.04%
▷ Protected methods5520.37%
▷ Private methods72.59%
Functions16
▷ Named functions318.75%
▷ Anonymous functions1381.25%
Constants6
▷ Global constants233.33%
▷ Class constants466.67%
▷ Public constants4100.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
There were not PNG files found in your plugin