diff --git a/core/modules/comment/src/Plugin/views/sort/StatisticsLastCommentName.php b/core/modules/comment/src/Plugin/views/sort/StatisticsLastCommentName.php
index e752cb6cc9d377ca54b9c7ba1d1c0688a6efef73..17ee2efa75d4f1cab15dce0b9b4b296c215fef9d 100644
--- a/core/modules/comment/src/Plugin/views/sort/StatisticsLastCommentName.php
+++ b/core/modules/comment/src/Plugin/views/sort/StatisticsLastCommentName.php
@@ -25,6 +25,9 @@ class StatisticsLastCommentName extends SortPluginBase {
   // phpcs:ignore Drupal.NamingConventions.ValidVariableName.LowerCamelName, Drupal.Commenting.VariableComment.Missing
   protected string $user_field;
 
+  /**
+   * {@inheritdoc}
+   */
   public function query() {
     $this->ensureMyTable();
     $definition = [
diff --git a/core/modules/comment/src/Plugin/views/sort/StatisticsLastUpdated.php b/core/modules/comment/src/Plugin/views/sort/StatisticsLastUpdated.php
index f12bf36abe3bc8d81a77557bb309b13bb280c928..f3e983162810cd803e36e9b3f229c85ed00356be 100644
--- a/core/modules/comment/src/Plugin/views/sort/StatisticsLastUpdated.php
+++ b/core/modules/comment/src/Plugin/views/sort/StatisticsLastUpdated.php
@@ -25,6 +25,9 @@ class StatisticsLastUpdated extends Date {
   // phpcs:ignore Drupal.NamingConventions.ValidVariableName.LowerCamelName, Drupal.Commenting.VariableComment.Missing
   protected string $field_alias;
 
+  /**
+   * {@inheritdoc}
+   */
   public function query() {
     $this->ensureMyTable();
     $this->node_table = $this->query->ensureTable('node', $this->relationship);
diff --git a/core/modules/comment/src/Plugin/views/sort/Thread.php b/core/modules/comment/src/Plugin/views/sort/Thread.php
index 63b2f6be26d8868c21a3762740d6970f9f82ced5..71d5bc0d4918e61e5f58894847a78cc433c5567e 100644
--- a/core/modules/comment/src/Plugin/views/sort/Thread.php
+++ b/core/modules/comment/src/Plugin/views/sort/Thread.php
@@ -13,6 +13,9 @@
 #[ViewsSort("comment_thread")]
 class Thread extends SortPluginBase {
 
+  /**
+   * {@inheritdoc}
+   */
   public function query() {
     $this->ensureMyTable();
 
diff --git a/core/modules/user/src/Plugin/views/access/Permission.php b/core/modules/user/src/Plugin/views/access/Permission.php
index dbb1379eec351fe5593e47cb00bd505c2fb1065e..b0ebd272e2628ba70179d7c7b1a54bbba610364e 100644
--- a/core/modules/user/src/Plugin/views/access/Permission.php
+++ b/core/modules/user/src/Plugin/views/access/Permission.php
@@ -102,6 +102,9 @@ public function alterRouteDefinition(Route $route) {
     $route->setRequirement('_permission', $this->options['perm']);
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function summaryTitle() {
     $permissions = $this->permissionHandler->getPermissions();
     if (isset($permissions[$this->options['perm']])) {
@@ -111,6 +114,9 @@ public function summaryTitle() {
     return $this->t($this->options['perm']);
   }
 
+  /**
+   * {@inheritdoc}
+   */
   protected function defineOptions() {
     $options = parent::defineOptions();
     $options['perm'] = ['default' => 'access content'];
@@ -118,6 +124,9 @@ protected function defineOptions() {
     return $options;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
     // Get list of permissions
diff --git a/core/modules/user/src/Plugin/views/access/Role.php b/core/modules/user/src/Plugin/views/access/Role.php
index c284c94b0a31e91d6016fe2cfed9eb0050781b1d..9a81b758b548eff2229589152ec86f0e7621cf98 100644
--- a/core/modules/user/src/Plugin/views/access/Role.php
+++ b/core/modules/user/src/Plugin/views/access/Role.php
@@ -84,6 +84,9 @@ public function alterRouteDefinition(Route $route) {
     }
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function summaryTitle() {
     $count = count($this->options['role']);
     if ($count < 1) {
@@ -98,6 +101,9 @@ public function summaryTitle() {
     }
   }
 
+  /**
+   * {@inheritdoc}
+   */
   protected function defineOptions() {
     $options = parent::defineOptions();
     $options['role'] = ['default' => []];
@@ -105,6 +111,9 @@ protected function defineOptions() {
     return $options;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
     $form['role'] = [
@@ -116,6 +125,9 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     ];
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function validateOptionsForm(&$form, FormStateInterface $form_state) {
     $role = $form_state->getValue(['access_options', 'role']);
     $role = array_filter($role);
diff --git a/core/modules/views/src/Plugin/views/cache/None.php b/core/modules/views/src/Plugin/views/cache/None.php
index 5f0533f4aa22b86739db4cb83f10631ab0e01fce..ed8b70ab8ce2be29481cf51dcfec939389953151 100644
--- a/core/modules/views/src/Plugin/views/cache/None.php
+++ b/core/modules/views/src/Plugin/views/cache/None.php
@@ -17,6 +17,9 @@
 )]
 class None extends CachePluginBase {
 
+  /**
+   * {@inheritdoc}
+   */
   public function summaryTitle() {
     return $this->t('None');
   }
diff --git a/core/modules/views/src/Plugin/views/cache/Time.php b/core/modules/views/src/Plugin/views/cache/Time.php
index 043d283882545d1f01df435e4b84d88e7b02b19a..b045addf5bf5631a096c759f0b5bb0b1896d2b60 100644
--- a/core/modules/views/src/Plugin/views/cache/Time.php
+++ b/core/modules/views/src/Plugin/views/cache/Time.php
@@ -66,6 +66,9 @@ public static function create(ContainerInterface $container, array $configuratio
     );
   }
 
+  /**
+   * {@inheritdoc}
+   */
   protected function defineOptions() {
     $options = parent::defineOptions();
     $options['results_lifespan'] = ['default' => 3600];
@@ -76,6 +79,9 @@ protected function defineOptions() {
     return $options;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
     $options = [60, 300, 1800, 3600, 21600, 518400];
@@ -124,6 +130,9 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     ];
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function validateOptionsForm(&$form, FormStateInterface $form_state) {
     $custom_fields = ['output_lifespan', 'results_lifespan'];
     foreach ($custom_fields as $field) {
@@ -134,17 +143,26 @@ public function validateOptionsForm(&$form, FormStateInterface $form_state) {
     }
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function summaryTitle() {
     $results_lifespan = $this->getLifespan('results');
     $output_lifespan = $this->getLifespan('output');
     return $this->dateFormatter->formatInterval($results_lifespan, 1) . '/' . $this->dateFormatter->formatInterval($output_lifespan, 1);
   }
 
+  /**
+   * Gets the value for the lifespan of the given type.
+   */
   protected function getLifespan($type) {
     $lifespan = $this->options[$type . '_lifespan'] == 'custom' ? $this->options[$type . '_lifespan_custom'] : $this->options[$type . '_lifespan'];
     return $lifespan;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   protected function cacheExpire($type) {
     $lifespan = $this->getLifespan($type);
     if ($lifespan) {
diff --git a/core/modules/views/src/Plugin/views/query/QueryPluginBase.php b/core/modules/views/src/Plugin/views/query/QueryPluginBase.php
index 446b636f37571b24b5bc225909432053f0444b73..99e95980c07b4a68f130352969fd64cbc1c58607 100644
--- a/core/modules/views/src/Plugin/views/query/QueryPluginBase.php
+++ b/core/modules/views/src/Plugin/views/query/QueryPluginBase.php
@@ -115,10 +115,19 @@ public function addSignature(ViewExecutable $view) {}
    */
   public function getAggregationInfo() {}
 
+  /**
+   * {@inheritdoc}
+   */
   public function validateOptionsForm(&$form, FormStateInterface $form_state) {}
 
+  /**
+   * {@inheritdoc}
+   */
   public function submitOptionsForm(&$form, FormStateInterface $form_state) {}
 
+  /**
+   * {@inheritdoc}
+   */
   public function summaryTitle() {
     return $this->t('Settings');
   }
diff --git a/core/modules/views/src/Plugin/views/query/Sql.php b/core/modules/views/src/Plugin/views/query/Sql.php
index 9ca4b8e127996fef925d7154238379f8a68305a4..7d3a7ce3cdcc661a77f55f7bc48791ee8326753d 100644
--- a/core/modules/views/src/Plugin/views/query/Sql.php
+++ b/core/modules/views/src/Plugin/views/query/Sql.php
@@ -290,6 +290,9 @@ public function setCountField($table, $field, $alias = NULL) {
     ];
   }
 
+  /**
+   * {@inheritdoc}
+   */
   protected function defineOptions() {
     $options = parent::defineOptions();
     $options['disable_sql_rewrite'] = [
@@ -573,6 +576,9 @@ public function queueTable($table, $relationship = NULL, ?JoinPluginBase $join =
     return $alias;
   }
 
+  /**
+   * Marks a relationship based table as included.
+   */
   protected function markTable($table, $relationship, $alias) {
     // Mark that this table has been added.
     if (empty($this->tables[$relationship][$table])) {
@@ -1757,10 +1763,16 @@ protected function getAllEntities() {
     return $entities;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function addSignature(ViewExecutable $view) {
     $view->query->addField(NULL, "'" . $view->storage->id() . ':' . $view->current_display . "'", 'view_name');
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function getAggregationInfo() {
     // @todo Need a way to get database specific and customized aggregation
     //   functions into here.
@@ -1842,10 +1854,16 @@ public function getAggregationInfo() {
     ];
   }
 
+  /**
+   * Builds a simple SQL expression.
+   */
   public function aggregationMethodSimple($group_type, $field) {
     return strtoupper($group_type) . '(' . $field . ')';
   }
 
+  /**
+   * Builds a SQL expression using DISTINCT.
+   */
   public function aggregationMethodDistinct($group_type, $field) {
     $group_type = str_replace('_distinct', '', $group_type);
     return strtoupper($group_type) . '(DISTINCT ' . $field . ')';
diff --git a/core/modules/views/src/Plugin/views/sort/Date.php b/core/modules/views/src/Plugin/views/sort/Date.php
index 7c2719c6316febd75ccda15a2985ae36b21e6a17..4626175b03147f99ce7beea828a0962563284fef 100644
--- a/core/modules/views/src/Plugin/views/sort/Date.php
+++ b/core/modules/views/src/Plugin/views/sort/Date.php
@@ -14,6 +14,9 @@
 #[ViewsSort("date")]
 class Date extends SortPluginBase {
 
+  /**
+   * {@inheritdoc}
+   */
   protected function defineOptions() {
     $options = parent::defineOptions();
 
@@ -22,6 +25,9 @@ protected function defineOptions() {
     return $options;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
 
diff --git a/core/modules/views/src/Plugin/views/sort/GroupByNumeric.php b/core/modules/views/src/Plugin/views/sort/GroupByNumeric.php
index 5a16857a76f2722ee06ea092711803fedba193bc..a222f5044025ce1e30921aa6227f263f2edbd640 100644
--- a/core/modules/views/src/Plugin/views/sort/GroupByNumeric.php
+++ b/core/modules/views/src/Plugin/views/sort/GroupByNumeric.php
@@ -43,6 +43,9 @@ public function query() {
     $this->query->addOrderBy($this->tableAlias, $this->realField, $this->options['order'], NULL, $params);
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function adminLabel($short = FALSE) {
     return $this->getField(parent::adminLabel($short));
   }
diff --git a/core/modules/views/src/Plugin/views/sort/Random.php b/core/modules/views/src/Plugin/views/sort/Random.php
index 83d18e9c5d7be3a8b06288586a4a2d537c5952f4..3af99dde1c9aaca2f545acf1d85dc904d6e1190b 100644
--- a/core/modules/views/src/Plugin/views/sort/Random.php
+++ b/core/modules/views/src/Plugin/views/sort/Random.php
@@ -22,10 +22,16 @@ public function usesGroupBy() {
     return FALSE;
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function query() {
     $this->query->addOrderBy('rand');
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
     $form['order']['#access'] = FALSE;
diff --git a/core/modules/views/src/Plugin/views/sort/SortPluginBase.php b/core/modules/views/src/Plugin/views/sort/SortPluginBase.php
index 18dc390c07cfaac03360ac67d0d868453e9118d9..79e537cfd67e9c92d8423ad1c280bee8e41f9ba1 100644
--- a/core/modules/views/src/Plugin/views/sort/SortPluginBase.php
+++ b/core/modules/views/src/Plugin/views/sort/SortPluginBase.php
@@ -41,6 +41,9 @@ public function query() {
     $this->query->addOrderBy($this->tableAlias, $this->realField, $this->options['order']);
   }
 
+  /**
+   * {@inheritdoc}
+   */
   protected function defineOptions() {
     $options = parent::defineOptions();
 
@@ -178,8 +181,10 @@ protected function showSortForm(&$form, FormStateInterface $form_state) {
     }
   }
 
+  // phpcs:ignore Drupal.Commenting.FunctionComment.Missing
   protected function sortValidate(&$form, FormStateInterface $form_state) {}
 
+  // phpcs:ignore Drupal.Commenting.FunctionComment.Missing
   public function sortSubmit(&$form, FormStateInterface $form_state) {}
 
   /**
@@ -194,6 +199,9 @@ protected function sortOptions() {
     ];
   }
 
+  /**
+   * {@inheritdoc}
+   */
   public function buildExposeForm(&$form, FormStateInterface $form_state) {
     // #flatten will move everything from $form['expose'][$key] to $form[$key]
     // prior to rendering. That's why the preRender for it needs to run first,
diff --git a/core/modules/views/tests/modules/views_test_data/src/Plugin/views/query/QueryTest.php b/core/modules/views/tests/modules/views_test_data/src/Plugin/views/query/QueryTest.php
index 5d703845851fd148561af5b2e9072d335a32105b..00d03c9f0645d95bfc071721c9300a9dcb8f9a30 100644
--- a/core/modules/views/tests/modules/views_test_data/src/Plugin/views/query/QueryTest.php
+++ b/core/modules/views/tests/modules/views_test_data/src/Plugin/views/query/QueryTest.php
@@ -59,6 +59,9 @@ public function setAllItems($allItems) {
     $this->allItems = $allItems;
   }
 
+  /**
+   * Adds a simple WHERE clause to the query.
+   */
   public function addWhere($group, $field, $value = NULL, $operator = NULL) {
     $this->conditions[] = [
       'field' => $field,
@@ -68,15 +71,24 @@ public function addWhere($group, $field, $value = NULL, $operator = NULL) {
 
   }
 
+  /**
+   * Adds a new field to a table.
+   */
   public function addField($table, $field, $alias = '', $params = []) {
     $this->fields[$field] = $field;
     return $field;
   }
 
+  /**
+   * Adds an ORDER BY clause to the query.
+   */
   public function addOrderBy($table, $field = NULL, $order = 'ASC', $alias = '', $params = []) {
     $this->orderBy = ['field' => $field, 'order' => $order];
   }
 
+  /**
+   * Ensures a table exists in the queue.
+   */
   public function ensureTable($table, $relationship = NULL, ?JoinPluginBase $join = NULL) {
     // There is no concept of joins.
   }
diff --git a/core/phpcs.xml.dist b/core/phpcs.xml.dist
index da78f3435edc986b8d815ccf4fc76022682815b6..37880aa56323b4a58bc53f9af89ae566505c6b65 100644
--- a/core/phpcs.xml.dist
+++ b/core/phpcs.xml.dist
@@ -66,15 +66,17 @@
   <rule ref="Drupal.Commenting.DocCommentStar"/>
   <rule ref="Drupal.Commenting.FileComment"/>
   <rule ref="Drupal.Commenting.FunctionComment">
-    <exclude name="Drupal.Commenting.FunctionComment.Missing"/>
     <exclude name="Drupal.Commenting.FunctionComment.ParamCommentFullStop"/>
     <exclude name="Drupal.Commenting.FunctionComment.TypeHintMissing"/>
   </rule>
-    <rule ref="Drupal.Commenting.FunctionComment.Missing">
-      <include-pattern>core/modules/*/Plugin/views/filter/*</include-pattern>
-      <exclude-pattern>*/tests/*</exclude-pattern>
-    </rule>
-
+  <rule ref="Drupal.Commenting.FunctionComment.Missing">
+    <include-pattern>core/modules/*/Plugin/views/filter/*</include-pattern>
+    <include-pattern>core/modules/*/Plugin/views/access/*</include-pattern>
+    <include-pattern>core/modules/*/Plugin/views/cache/*</include-pattern>
+    <include-pattern>core/modules/*/Plugin/views/query/*</include-pattern>
+    <include-pattern>core/modules/*/Plugin/views/sort/*</include-pattern>
+    <exclude-pattern>*/tests/*</exclude-pattern>
+  </rule>
   <rule ref="Drupal.Commenting.FunctionComment.MissingParamType">
     <include-pattern>core/lib/Component/*</include-pattern>
   </rule>