93% kc-s2mmc

Code Review | KC S2M+MC

WordPress plugin KC S2M+MC scored 93% from 54 tests.

About plugin

  • Plugin page: kc-s2mmc
  • Plugin version: 2016.12.12
  • PHP version: 7.4.16
  • WordPress compatibility: 3.0-5.2.4
  • WordPress version: 5.9.2
  • First release: Oct 17, 2014
  • Latest release: Oct 23, 2019
  • Number of updates: 15
  • Update frequency: every 122.3 days
  • Top authors: krumch (100%)

Code review

54 tests

User reviews

2 reviews

Install metrics

30+ active / 1,444 total downloads

Benchmarks

Plugin footprint Passed 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.11MB] [CPU: ▼295.80ms] Passed 4 tests

This is a short check of server-side resources used by KC S2M+MC
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /3.71 ▲0.2053.66 ▲4.52
Dashboard /wp-admin3.54 ▲0.1434.28 ▲1.00
Posts /wp-admin/edit.php3.77 ▲0.1340.88 ▲3.63
Add New Post /wp-admin/post-new.php7.01 ▲0.0596.97 ▼1,181.41
Media Library /wp-admin/upload.php3.42 ▲0.1225.37 ▼6.40
KC S2M+MC /wp-admin/options-general.php?page=kc_s2m_mc3.3922.89

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

Filesystem and database footprint
This plugin installed successfully
Filesystem: 18 new files
Database: no new tables, no new options

Browser metrics Passed 4 tests

An overview of browser requirements for KC S2M+MC
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,768 ▲4615.90 ▲0.305.70 ▼0.112.29 ▲0.08
Dashboard /wp-admin2,897 ▲366.13 ▼0.07119.41 ▼14.24154.74 ▼4.46
Posts /wp-admin/edit.php2,696 ▲83.24 ▼0.0064.04 ▲1.50142.89 ▲5.26
Add New Post /wp-admin/post-new.php1,763 ▲1122.08 ▲1.20415.38 ▼33.58161.45 ▲3.24
Media Library /wp-admin/upload.php1,703 ▲25.47 ▼0.01151.38 ▼6.86191.65 ▼6.74
KC S2M+MC /wp-admin/options-general.php?page=kc_s2m_mc1,0042.4154.54106.41

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Uninstaller ran successfully

Smoke tests 75% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
Good news, no errors were detected

SRP 50% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please take a closer look at the following
  • 1× GET requests to PHP files have triggered server-side errors or warnings:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/kc-s2mmc/kc-s2m-mc-free.php:18

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine on the user side

Optimizations

Plugin configuration 87% from 29 tests

readme.txt 88% from 16 tests

Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Please fix the following attributes:
  • Tags: Please delete some tags, you are using 21 tag instead of maximum 10
  • Screenshots: Please add images for these screenshots: #1 (Admin area if s2Member® is not installed or MailChimp® API key is not set.), #2 (Admin area with two lists not synchronized.), #3 (Admin area, ideal case.)
You can take inspiration from this readme.txt

kc-s2mmc/kc-s2m-mc-free.php 85% from 13 tests

The main PHP file in "KC S2M+MC" ver. 2016.12.12 adds more information about the plugin and also serves as the entry point for this plugin
Please take the time to fix the following:
  • Main file name: Name the main plugin file the same as the plugin slug ("kc-s2mmc.php" instead of "kc-s2m-mc-free.php")
  • Text Domain: You no longer need to specify the text domain since WordPress 4.6; it must be the same as the plugin slug

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Good job! No executable or dangerous file extensions detected1,001 lines of code in 6 files:
LanguageFilesBlank linesComment linesLines of code
PHP290191658
PO File483129343

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.44
Average class complexity11.50
▷ Minimum class complexity7.00
▷ Maximum class complexity16.00
Average method complexity1.88
▷ Minimum method complexity1.00
▷ Maximum method complexity10.00
Code structure
Namespaces1
Interfaces0
Traits0
Classes2
▷ Abstract classes00.00%
▷ Concrete classes2100.00%
▷ Final classes00.00%
Methods24
▷ Static methods00.00%
▷ Public methods2083.33%
▷ Protected methods00.00%
▷ Private methods416.67%
Functions25
▷ Named functions25100.00%
▷ Anonymous functions00.00%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
No PNG images were found in this plugin