89% remoji

Code Review | Remoji - Post/Comment Reaction and Enhancement

WordPress plugin Remoji - Post/Comment Reaction and Enhancement scored 89% from 54 tests.

About plugin

  • Plugin page: remoji
  • Plugin version: 2.1.1
  • PHP version: 7.4.16
  • WordPress compatibility: 4.0-6.0.1
  • WordPress version: 6.3.1
  • First release: May 5, 2020
  • Latest release: Aug 25, 2022
  • Number of updates: 22
  • Update frequency: every 38.3 days
  • Top authors: wpdo5ea (100%)

Code review

54 tests

User reviews

4 reviews

Install metrics

500+ active / 8,974 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors

Server metrics [RAM: ▲0.09MB] [CPU: ▼2.63ms] Passed 4 tests

A check of server-side resources used by Remoji - Post/Comment Reaction and Enhancement
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /3.56 ▲0.1049.05 ▲11.99
Dashboard /wp-admin3.43 ▲0.1345.35 ▲0.22
Posts /wp-admin/edit.php3.49 ▲0.1348.20 ▼4.47
Add New Post /wp-admin/post-new.php5.96 ▲0.0786.75 ▼11.71
Media Library /wp-admin/upload.php3.29 ▲0.0736.37 ▲5.46
Remoji /wp-admin/options-general.php?page=remoji3.3539.64

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

Filesystem and database footprint
This plugin installed successfully
Filesystem: 126 new files
Database: 1 new table, 21 new options
New tables
wp_remoji_history
New WordPress options
remoji.auto_upgrade
remoji.postview
remoji.comment_emoji
remoji.max_emoji_per_ip
remoji.postview_delay
widget_last_reacted
widget_recent-comments
widget_recent-posts
remoji.disable_comment
db_upgraded
...

Browser metrics Passed 4 tests

A check of browser resources used by Remoji - Post/Comment Reaction and Enhancement
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,890 ▲14413.94 ▼0.446.58 ▲5.0041.55 ▲0.19
Dashboard /wp-admin2,204 ▲165.90 ▲0.99104.60 ▲3.3236.92 ▼6.37
Posts /wp-admin/edit.php2,123 ▲341.99 ▲0.0238.74 ▼0.3234.46 ▼1.60
Add New Post /wp-admin/post-new.php1,540 ▼223.20 ▲5.13651.57 ▲46.1749.81 ▼4.05
Media Library /wp-admin/upload.php1,392 ▲14.21 ▲0.0095.47 ▼0.9041.23 ▼1.94
Remoji /wp-admin/options-general.php?page=remoji1,3251.8527.2951.53

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

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
  • Zombie WordPress options were found after uninstall: 21 options
    • remoji.disable_comment
    • remoji.comment_emoji
    • widget_most_viewed
    • can_compress_scripts
    • widget_recent-comments
    • remoji.postview_delay
    • remoji.postview_show_in_content
    • remoji.post_emoji
    • db_upgraded
    • remoji._ver
    • ...

Smoke tests Passed 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Everything seems fine, however this is by no means an exhaustive test

SRP Passed 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
The SRP test was a success

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine on the user side

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

Often overlooked, readme.txt is one of the most important files in your plugin
5 plugin tags: comment, emoji, views, counter, postviews

remoji/remoji.php 92% from 13 tests

"Remoji - Post/Comment Reaction and Enhancement" version 2.1.1's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
Please make the necessary changes and fix the following:
  • Description: Please don't use more than 140 characters for the plugin description (currently 143 characters long)

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 plugin4,714 lines of code in 116 files:
LanguageFilesBlank linesComment linesLines of code
PHP284907131,859
JSON2101,689
CSS1221123900
JavaScript22832158
SVG820095
SQL10013

PHP code Passed 2 tests

A short 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.41
Average class complexity15.00
▷ Minimum class complexity1.00
▷ Maximum class complexity40.00
Average method complexity3.23
▷ Minimum method complexity1.00
▷ Maximum method complexity17.00
Code structure
Namespaces2
Interfaces0
Traits0
Classes18
▷ Abstract classes15.56%
▷ Concrete classes1794.44%
▷ Final classes00.00%
Methods114
▷ Static methods3833.33%
▷ Public methods9986.84%
▷ Protected methods43.51%
▷ Private methods119.65%
Functions6
▷ Named functions466.67%
▷ Anonymous functions233.33%
Constants33
▷ Global constants1545.45%
▷ Class constants1854.55%
▷ Public constants18100.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

Using a strong compression for your PNG files is a great way to speed-up your plugin
7 PNG files occupy 1.26MB with 0.87MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
wp_assets/screenshot-2.png254.34KB70.64KB▼ 72.22%
wp_assets/banner-1544x500.png276.95KB89.11KB▼ 67.82%
wp_assets/icon-256x256.png34.96KB11.49KB▼ 67.13%
screenshot.png111.68KB34.06KB▼ 69.50%
wp_assets/screenshot-3.png161.88KB53.75KB▼ 66.80%