Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code quality: added PHPMD, updated workflow #4303

Open
wants to merge 60 commits into
base: main
Choose a base branch
from

Conversation

sreichel
Copy link
Contributor

Description (*)

PHPMD

Added to workflow. The config is there since years, but it never was used b/c of to much "common" errors.

  • renamed a lot of variables that does not fit camel-case.
    Note: Underscore-prefix is still allowed but may be removed (?).
  • suppressed some errors we cant change in DOCs (usage of Superglobals, silence operator).
  • excluded some sniff to re-check later
  • baselined some error that could be reviewed in time (empty catch blocks, unused private methods e.g.)

PHPCS: ECG standard

This check was useles. It had only onyl rule (Ecg.Performance.Loop.ModelLSD) enabled and every files was excluded.

Added rules. Some of them could/should be removed/fixed seperatly.

phpstorm

In phpstorms phpcs-config you can only select one config file for code-sniffs, but we have three (default, phpcompa, ecg). Added .phpcs.xml to allow syntax highlighting for all sniffs. Just add this file as custom ruleset.

Note: for custom rules use local phpcs.xml

Minor changes

  • dot-prefixed all dev-files (phpunit, rector, ... for cleaner basedir)
  • added some script commands to composer.json
  • removed a lot of phpcs:ignore comments (not all)

Related Pull Requests

@github-actions github-actions bot added Component: CatalogIndex Relates to Mage_CatalogIndex Component: Api2 Relates to Mage_Api2 Component: Sendfriend Relates to Mage_Sendfriend Component: Log Relates to Mage_Log Component: ImportExport Relates to Mage_ImportExport Component: Directory Relates to Mage_Directory Component: ConfigurableSwatches Relates to Mage_ConfigurableSwatches Component: Authorizenet Relates to Mage_Authorizenet Component: Dataflow Relates to Mage_Dataflow Component: GoogleAnalytics Relates to Mage_GoogleAnalytics Component: Install Relates to Mage_Install Component: Uploader Relates to Mage_Uploader Component: Rss Relates to Mage_Rss Component: Paygate Relates to Mage_Paygate Component: lib/* Relates to lib/* composer Relates to composer.json phpstan phpcs phpunit ddev rector labels Oct 23, 2024
@sreichel sreichel marked this pull request as draft October 23, 2024 02:36
@sreichel sreichel mentioned this pull request Oct 23, 2024
@sreichel sreichel marked this pull request as ready for review October 23, 2024 19:20
# Conflicts:
#	.ddev/commands/web/phpunit-coverage
#	.ddev/commands/web/phpunit-coverage-local
#	.phpstan.dist.baseline.neon
#	tests/unit/Mage/Admin/Model/UserTest.php
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Adminhtml Relates to Mage_Adminhtml Component: Api PageRelates to Mage_Api Component: Api2 Relates to Mage_Api2 Component: Authorizenet Relates to Mage_Authorizenet Component: Bundle Relates to Mage_Bundle Component: Catalog Relates to Mage_Catalog Component: CatalogIndex Relates to Mage_CatalogIndex Component: CatalogInventory Relates to Mage_CatalogInventory Component: Checkout Relates to Mage_Checkout Component: Cms Relates to Mage_Cms Component: ConfigurableSwatches Relates to Mage_ConfigurableSwatches Component: Core Relates to Mage_Core Component: Cron Relates to Mage_Cron Component: Customer Relates to Mage_Customer Component: Dataflow Relates to Mage_Dataflow Component: Directory Relates to Mage_Directory Component: Downloadable Relates to Mage_Downloadable Component: Eav Relates to Mage_Eav Component: GoogleAnalytics Relates to Mage_GoogleAnalytics Component: ImportExport Relates to Mage_ImportExport Component: Index Relates to Mage_Index Component: Install Relates to Mage_Install Component: lib/Mage Relates to lib/Mage Component: lib/Varien Relates to lib/Varien Component: lib/* Relates to lib/* Component: Log Relates to Mage_Log Component: Oauth Relates to Mage_Oauth Component: Page Relates to Mage_Page Component: Paygate Relates to Mage_Paygate Component: Payment Relates to Mage_Payment Component: PayPal Relates to Mage_Paypal Component: ProductAlert Relates to Mage_ProductAlert Component: Reports Relates to Mage_Reports Component: Review Relates to Mage_Review Component: Rss Relates to Mage_Rss Component: Sales Relates to Mage_Sales Component: SalesRule Relates to Mage_SalesRule Component: Sendfriend Relates to Mage_Sendfriend Component: Shipping Relates to Mage_Shipping Component: Sitemap Relates to Mage_Sitemap Component: Tax Relates to Mage_Tax Component: Uploader Relates to Mage_Uploader Component: Usa Relates to Mage_Usa Component: Weee Relates to Mage_Weee Component: Widget Relates to Mage_Widget Component: Wishlist Relates to Mage_Wishlist composer Relates to composer.json ddev environment phpcs phpstan phpunit rector Template : admin Relates to admin template
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant