From 4de56be57c50856553c172a2964d0eff944f451c Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Mon, 20 Jul 2026 12:54:49 +0200 Subject: [PATCH] Drop 3rd person verb 's' in method name duplicate description --- ...oveMethodNameDuplicateDescriptionFixer.php | 3 ++ .../Fixture/third_person_verb.php.inc | 34 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/third_person_verb.php.inc diff --git a/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php b/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php index e50bc698e7..f72ce57030 100644 --- a/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php +++ b/packages/coding-standard/src/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer.php @@ -73,6 +73,9 @@ public function fix(SplFileInfo $fileInfo, Tokens $tokens): void // drop articles, so "Get the API helper" still duplicates getApiHelper() $docblockLine = Regex::replace($docblockLine, '#\b(?:a|an|the)\b#i', ''); + // drop 3rd person verb "s", so "Contacts a user" still duplicates contactUser() + $docblockLine = Regex::replace($docblockLine, '#^([\s*]*\w+?)s\b#', '$1'); + $spacelessDocblockLine = Regex::replace($docblockLine, '#[\s\n]+#', ''); // ignore trailing sentence punctuation, e.g. "Set name." duplicates setName() diff --git a/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/third_person_verb.php.inc b/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/third_person_verb.php.inc new file mode 100644 index 0000000000..4bea4a885e --- /dev/null +++ b/packages/coding-standard/tests/Fixer/Annotation/RemoveMethodNameDuplicateDescriptionFixer/Fixture/third_person_verb.php.inc @@ -0,0 +1,34 @@ + +----- +