diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 5a1cfbe7c0..9273546c00 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -986,7 +986,7 @@ function &drupal_register_shutdown_function($callback = NULL) {
     $args = func_get_args();
     // Remove $callback from the arguments.
     unset($args[0]);
-    // Save callback and arguments
+    // Save callback and arguments.
     $callbacks[] = ['callback' => $callback, 'arguments' => $args];
   }
   return $callbacks;
diff --git a/core/includes/common.inc b/core/includes/common.inc
index f40565ab1c..9441c0ed57 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -1243,7 +1243,7 @@ function archiver_get_extensions() {
  *   If no appropriate archiver class was found, will return FALSE.
  */
 function archiver_get_archiver($file) {
-  // Archivers can only work on local paths
+  // Archivers can only work on local paths.
   $filepath = drupal_realpath($file);
   if (!is_file($filepath)) {
     throw new Exception(t('Archivers can only operate on local files: %file not supported', ['%file' => $file]));
diff --git a/core/includes/file.inc b/core/includes/file.inc
index 228515df6b..05040ef9b2 100644
--- a/core/includes/file.inc
+++ b/core/includes/file.inc
@@ -705,7 +705,7 @@ function file_unmanaged_move($source, $destination = NULL, $replace = FILE_EXIST
 function file_munge_filename($filename, $extensions, $alerts = TRUE) {
   $original = $filename;
 
-  // Allow potentially insecure uploads for very savvy users and admin
+  // Allow potentially insecure uploads for very savvy users and admin.
   if (!\Drupal::config('system.file')->get('allow_insecure_uploads')) {
     // Remove any null bytes. See
     // http://php.net/manual/security.filesystem.nullbytes.php
@@ -771,7 +771,7 @@ function file_create_filename($basename, $directory) {
   // some filesystems, not many applications handle them well.
   $basename = preg_replace('/[\x00-\x1F]/u', '_', $basename);
   if (substr(PHP_OS, 0, 3) == 'WIN') {
-    // These characters are not allowed in Windows filenames
+    // These characters are not allowed in Windows filenames.
     $basename = str_replace([':', '*', '?', '"', '<', '>', '|'], '_', $basename);
   }
 
diff --git a/core/includes/form.inc b/core/includes/form.inc
index d99dca282a..b4f68ebcde 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -800,7 +800,7 @@ function batch_process($redirect = NULL, Url $url = NULL, $redirect_callback = N
   $batch =& batch_get();
 
   if (isset($batch)) {
-    // Add process information
+    // Add process information.
     $process_info = [
       'current_set' => 0,
       'progressive' => TRUE,
diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index 0d6c25e6b1..456f8546b6 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -1147,7 +1147,7 @@ function install_database_errors($database, $settings_file) {
     $errors['driver'] = t("In your %settings_file file you have configured @drupal to use a %driver server, however your PHP installation currently does not support this database type.", ['%settings_file' => $settings_file, '@drupal' => drupal_install_profile_distribution_name(), '%driver' => $driver]);
   }
   else {
-    // Run driver specific validation
+    // Run driver specific validation.
     $errors += $database_types[$driver]->validateDatabaseSettings($database);
     if (!empty($errors)) {
       // No point to try further.
diff --git a/core/includes/install.inc b/core/includes/install.inc
index 5c0abcab8e..9d1560cc67 100644
--- a/core/includes/install.inc
+++ b/core/includes/install.inc
@@ -1000,10 +1000,10 @@ function drupal_requirements_severity(&$requirements) {
  */
 function drupal_check_module($module) {
   module_load_install($module);
-  // Check requirements
+  // Check requirements.
   $requirements = \Drupal::moduleHandler()->invoke($module, 'requirements', ['install']);
   if (is_array($requirements) && drupal_requirements_severity($requirements) == REQUIREMENT_ERROR) {
-    // Print any error messages
+    // Print any error messages.
     foreach ($requirements as $requirement) {
       if (isset($requirement['severity']) && $requirement['severity'] == REQUIREMENT_ERROR) {
         $message = $requirement['description'];
diff --git a/core/includes/module.inc b/core/includes/module.inc
index e3f446c660..7151f246b9 100644
--- a/core/includes/module.inc
+++ b/core/includes/module.inc
@@ -87,7 +87,7 @@ function system_register($type, $name, $uri) {
  *   The name of the module's install file, if successful; FALSE otherwise.
  */
 function module_load_install($module) {
-  // Make sure the installation API is available
+  // Make sure the installation API is available.
   include_once __DIR__ . '/install.inc';
 
   return module_load_include('install', $module);
@@ -221,7 +221,7 @@ function module_config_sort($data) {
   // compound of "[sign-as-integer][padded-integer-weight][name]"; e.g., given
   // two modules and weights (spaces added for clarity):
   // - Block with weight -5: 0 0000000000000000005 block
-  // - Node  with weight  0: 1 0000000000000000000 node
+  // - Node  with weight  0: 1 0000000000000000000 node.
   $sort = [];
   foreach ($data as $name => $weight) {
     // Prefix negative weights with 0, positive weights with 1.
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 4cc6424f3e..38e7f497bc 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -899,7 +899,7 @@ function template_preprocess_table(&$variables) {
   // Format the table columns:
   if (!empty($variables['colgroups'])) {
     foreach ($variables['colgroups'] as &$colgroup) {
-      // Check if we're dealing with a simple or complex column
+      // Check if we're dealing with a simple or complex column.
       if (isset($colgroup['data'])) {
         $cols = $colgroup['data'];
         unset($colgroup['data']);
@@ -994,7 +994,7 @@ function template_preprocess_table(&$variables) {
         $cells = $row;
         $row_attributes = [];
 
-        // Check if we're dealing with a simple or complex row
+        // Check if we're dealing with a simple or complex row.
         if (isset($row['data'])) {
           $cells = $row['data'];
           $variables['no_striping'] = isset($row['no_striping']) ? $row['no_striping'] : FALSE;
@@ -1411,7 +1411,7 @@ function theme_get_suggestions($args, $base, $delimiter = '__') {
   // page__node
   // page__node__%
   // page__node__1
-  // page__node__edit
+  // page__node__edit.
 
   $suggestions = [];
   $prefix = $base;
diff --git a/core/includes/unicode.inc b/core/includes/unicode.inc
index 6a157dc98c..93ceefc0d8 100644
--- a/core/includes/unicode.inc
+++ b/core/includes/unicode.inc
@@ -90,7 +90,7 @@ function unicode_requirements() {
  *   instead.
  */
 function drupal_xml_parser_create(&$data) {
-  // Default XML encoding is UTF-8
+  // Default XML encoding is UTF-8.
   $encoding = 'utf-8';
   $bom = FALSE;
 
diff --git a/core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php b/core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php
index 750f122049..1f7eb11afa 100644
--- a/core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php
+++ b/core/lib/Drupal/Component/ProxyBuilder/ProxyBuilder.php
@@ -106,7 +106,7 @@ public function build($class_name, $proxy_class_name = '') {
 
     $output .= $this->buildUseStatements();
 
-    // The actual class;
+    // The actual class.
     $properties = <<<'EOS'
 /**
  * The id of the original proxied service.
@@ -301,7 +301,7 @@ protected function buildMethodBody(\ReflectionMethod $reflection_method) {
       $output .= "    \\$class_name::$function_name(";
     }
 
-    // Add parameters;
+    // Add parameters.
     $parameters = [];
     foreach ($reflection_method->getParameters() as $parameter) {
       $parameters[] = '$' . $parameter->getName();
diff --git a/core/lib/Drupal/Component/Utility/Crypt.php b/core/lib/Drupal/Component/Utility/Crypt.php
index 6ebdc4aac8..d0ff822dc7 100644
--- a/core/lib/Drupal/Component/Utility/Crypt.php
+++ b/core/lib/Drupal/Component/Utility/Crypt.php
@@ -126,7 +126,7 @@ public static function hashEquals($known_string, $user_string) {
       return hash_equals($known_string, $user_string);
     }
     else {
-      // Backport of hash_equals() function from PHP 5.6
+      // Backport of hash_equals() function from PHP 5.6.
       // @see https://github.com/php/php-src/blob/PHP-5.6/ext/hash/hash.c#L739
       if (!is_string($known_string)) {
         trigger_error(sprintf("Expected known_string to be a string, %s given", gettype($known_string)), E_USER_WARNING);
diff --git a/core/lib/Drupal/Component/Utility/Tags.php b/core/lib/Drupal/Component/Utility/Tags.php
index ac0ce60817..77084cb26e 100644
--- a/core/lib/Drupal/Component/Utility/Tags.php
+++ b/core/lib/Drupal/Component/Utility/Tags.php
@@ -20,7 +20,7 @@ class Tags {
    */
   public static function explode($tags) {
     // This regexp allows the following types of user input:
-    // this, "somecompany, llc", "and ""this"" w,o.rks", foo bar
+    // this, "somecompany, llc", "and ""this"" w,o.rks", foo bar.
     $regexp = '%(?:^|,\ *)("(?>[^"]*)(?>""[^"]* )*"|(?: [^",]*))%x';
     preg_match_all($regexp, $tags, $matches);
     $typed_tags = array_unique($matches[1]);
diff --git a/core/lib/Drupal/Component/Utility/Unicode.php b/core/lib/Drupal/Component/Utility/Unicode.php
index 98db80431c..8ea9bcb828 100644
--- a/core/lib/Drupal/Component/Utility/Unicode.php
+++ b/core/lib/Drupal/Component/Utility/Unicode.php
@@ -607,7 +607,8 @@ public static function strcasecmp($str1 , $str2) {
    */
   public static function mimeHeaderEncode($string) {
     if (preg_match('/[^\x20-\x7E]/', $string)) {
-      $chunk_size = 47; // floor((75 - strlen("=?UTF-8?B??=")) * 0.75);
+      // floor((75 - strlen("=?UTF-8?B??=")) * 0.75).
+      $chunk_size = 47;
       $len = strlen($string);
       $output = '';
       while ($len > 0) {
diff --git a/core/lib/Drupal/Component/Utility/UserAgent.php b/core/lib/Drupal/Component/Utility/UserAgent.php
index c80c44e19d..6d2ac2f165 100644
--- a/core/lib/Drupal/Component/Utility/UserAgent.php
+++ b/core/lib/Drupal/Component/Utility/UserAgent.php
@@ -43,7 +43,7 @@ public static function getBestMatchingLangcode($http_accept_language, $langcodes
     //   Accept-Language = "Accept-Language" ":"
     //                  1#( language-range [ ";" "q" "=" qvalue ] )
     //   language-range  = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
-    // Samples: "hu, en-us;q=0.66, en;q=0.33", "hu,en-us;q=0.5"
+    // Samples: "hu, en-us;q=0.66, en;q=0.33", "hu,en-us;q=0.5".
     $ua_langcodes = [];
     if (preg_match_all('@(?<=[, ]|^)([a-zA-Z-]+|\*)(?:;q=([0-9.]+))?(?:$|\s*,\s*)@', trim($http_accept_language), $matches, PREG_SET_ORDER)) {
       foreach ($matches as $match) {
diff --git a/core/lib/Drupal/Core/Asset/CssOptimizer.php b/core/lib/Drupal/Core/Asset/CssOptimizer.php
index 4ad7ba134c..e185e3d8f7 100644
--- a/core/lib/Drupal/Core/Asset/CssOptimizer.php
+++ b/core/lib/Drupal/Core/Asset/CssOptimizer.php
@@ -95,7 +95,7 @@ public function loadFile($file, $optimize = NULL, $reset_basepath = TRUE) {
     if ($reset_basepath) {
       $basepath = '';
     }
-    // Store the value of $optimize for preg_replace_callback with nested
+    // Store the value of $optimize for preg_replace_callback with nested.
     // @import loops.
     if (isset($optimize)) {
       $_optimize = $optimize;
diff --git a/core/lib/Drupal/Core/Cache/Context/AccountPermissionsCacheContext.php b/core/lib/Drupal/Core/Cache/Context/AccountPermissionsCacheContext.php
index c101968663..48ebd8af12 100644
--- a/core/lib/Drupal/Core/Cache/Context/AccountPermissionsCacheContext.php
+++ b/core/lib/Drupal/Core/Cache/Context/AccountPermissionsCacheContext.php
@@ -54,7 +54,7 @@ public function getCacheableMetadata() {
     $cacheable_metadata = new CacheableMetadata();
 
     // The permissions hash changes when:
-    // - a user is updated to have different roles;
+    // - a user is updated to have different roles.
     $tags = ['user:' . $this->user->id()];
     // - a role is updated to have different permissions.
     foreach ($this->user->getRoles() as $rid) {
diff --git a/core/lib/Drupal/Core/Config/ConfigBase.php b/core/lib/Drupal/Core/Config/ConfigBase.php
index 4f445ea21c..ae8f2362fd 100644
--- a/core/lib/Drupal/Core/Config/ConfigBase.php
+++ b/core/lib/Drupal/Core/Config/ConfigBase.php
@@ -102,7 +102,7 @@ public static function validateName($name) {
     }
 
     // The name must not contain any of the following characters:
-    // : ? * < > " ' / \
+    // : ? * < > " ' / \.
     if (preg_match('/[:?*<>"\'\/\\\\]/', $name)) {
       throw new ConfigNameException("Invalid character in Config object name $name.");
     }
diff --git a/core/lib/Drupal/Core/Config/ConfigImporter.php b/core/lib/Drupal/Core/Config/ConfigImporter.php
index 06fed4b1b0..4e2ea575cf 100644
--- a/core/lib/Drupal/Core/Config/ConfigImporter.php
+++ b/core/lib/Drupal/Core/Config/ConfigImporter.php
@@ -392,7 +392,7 @@ protected function createExtensionChangelist() {
     // -2   options
     // -1   text
     //  0 0 ban
-    //  0 1 actions
+    //  0 1 actions.
     // @todo Move this sorting functionality to the extension system.
     array_multisort(array_values($module_list), SORT_ASC, array_keys($module_list), SORT_DESC, $module_list);
     $this->extensionChangelist['module']['uninstall'] = array_intersect(array_keys($module_list), $uninstall);
diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php
index c6ddfb5e9c..dc25d4187e 100644
--- a/core/lib/Drupal/Core/Config/TypedConfigManager.php
+++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php
@@ -246,13 +246,13 @@ protected function getFallbackName($name) {
         // No definition for this level. Collapse multiple wildcards to a single
         // wildcard to see if there is a greedy match. For example,
         // breakpoint.breakpoint.*.* becomes
-        // breakpoint.breakpoint.*
+        // breakpoint.breakpoint.*.
         $one_star = preg_replace('/\.([:\.\*]*)$/', '.*', $replaced);
         if ($one_star != $replaced && isset($this->definitions[$one_star])) {
           return $one_star;
         }
         // Check for next level. For example, if breakpoint.breakpoint.* has
-        // been checked and no match found then check breakpoint.*.*
+        // been checked and no match found then check breakpoint.*.*.
         return $this->getFallbackName($replaced);
       }
     }
@@ -321,7 +321,7 @@ protected function replaceVariable($value, $data) {
     // Process each value part, one at a time.
     while ($name = array_shift($parts)) {
       if (!is_array($data) || !isset($data[$name])) {
-        // Key not found, return original value
+        // Key not found, return original value.
         return $value;
       }
       elseif (!$parts) {
diff --git a/core/lib/Drupal/Core/Cron.php b/core/lib/Drupal/Core/Cron.php
index d0a9b688df..79602aad9e 100644
--- a/core/lib/Drupal/Core/Cron.php
+++ b/core/lib/Drupal/Core/Cron.php
@@ -125,7 +125,7 @@ public function run() {
       // Release cron lock.
       $this->lock->release('cron');
 
-      // Return TRUE so other functions can check if it did run successfully
+      // Return TRUE so other functions can check if it did run successfully.
       $return = TRUE;
     }
 
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
index e696f242fd..845347cd83 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
@@ -112,7 +112,7 @@ public static function open(array &$connection_options = []) {
     // so backslashes in the password need to be doubled up.
     // The bug was reported against pdo_pgsql 1.0.2, backslashes in passwords
     // will break on this doubling up when the bug is fixed, so check the version
-    // elseif (phpversion('pdo_pgsql') < 'version_this_was_fixed_in') {
+    // elseif (phpversion('pdo_pgsql') < 'version_this_was_fixed_in') {}.
     else {
       $connection_options['password'] = str_replace('\\', '\\\\', $connection_options['password']);
     }
diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
index 9e5e1d9f84..6ca32791ad 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php
@@ -490,7 +490,7 @@ public function renameTable($table, $new_name) {
     $indexes = $this->connection->query('SELECT indexname FROM pg_indexes WHERE schemaname = :schema AND tablename = :table', [':schema' => $old_schema, ':table' => $old_table_name]);
 
     foreach ($indexes as $index) {
-      // Get the index type by suffix, e.g. idx/key/pkey
+      // Get the index type by suffix, e.g. idx/key/pkey.
       $index_type = substr($index->indexname, strrpos($index->indexname, '_') + 1);
 
       // If the index is already rewritten by ensureIdentifiersLength() to not
diff --git a/core/lib/Drupal/Core/Database/Query/Condition.php b/core/lib/Drupal/Core/Database/Query/Condition.php
index 51693576e8..d15f0bb26e 100644
--- a/core/lib/Drupal/Core/Database/Query/Condition.php
+++ b/core/lib/Drupal/Core/Database/Query/Condition.php
@@ -201,14 +201,14 @@ public function compile(Connection $connection, PlaceholderInterface $queryPlace
             $field_fragment = '(' . $field_fragment . ')';
           }
           $arguments += $condition['field']->arguments();
-          // If the operator and value were not passed in to the
+          // If the operator and value were not passed in to the.
           // @see ConditionInterface::condition() method (and thus have the
           // default value as defined over there) it is assumed to be a valid
           // condition on its own: ignore the operator and value parts.
           $ignore_operator = $condition['operator'] === '=' && $condition['value'] === NULL;
         }
         elseif (!isset($condition['operator'])) {
-          // Left hand part is a literal string added with the
+          // Left hand part is a literal string added with the.
           // @see ConditionInterface::where() method. Put brackets around
           // the snippet and collect the arguments from the value part.
           // Also ignore the operator and value parts.
diff --git a/core/lib/Drupal/Core/Database/Query/Select.php b/core/lib/Drupal/Core/Database/Query/Select.php
index 80533fdfef..04f28e1a33 100644
--- a/core/lib/Drupal/Core/Database/Query/Select.php
+++ b/core/lib/Drupal/Core/Database/Query/Select.php
@@ -802,13 +802,13 @@ public function __toString() {
     // Create a sanitized comment string to prepend to the query.
     $comments = $this->connection->makeComment($this->comments);
 
-    // SELECT
+    // SELECT.
     $query = $comments . 'SELECT ';
     if ($this->distinct) {
       $query .= 'DISTINCT ';
     }
 
-    // FIELDS and EXPRESSIONS
+    // FIELDS and EXPRESSIONS.
     $fields = [];
     foreach ($this->tables as $alias => $table) {
       if (!empty($table['all_fields'])) {
@@ -858,18 +858,18 @@ public function __toString() {
       }
     }
 
-    // WHERE
+    // WHERE.
     if (count($this->condition)) {
       // There is an implicit string cast on $this->condition.
       $query .= "\nWHERE " . $this->condition;
     }
 
-    // GROUP BY
+    // GROUP BY.
     if ($this->group) {
       $query .= "\nGROUP BY " . implode(', ', $this->group);
     }
 
-    // HAVING
+    // HAVING.
     if (count($this->having)) {
       // There is an implicit string cast on $this->having.
       $query .= "\nHAVING " . $this->having;
@@ -883,7 +883,7 @@ public function __toString() {
       }
     }
 
-    // ORDER BY
+    // ORDER BY.
     if ($this->order) {
       $query .= "\nORDER BY ";
       $fields = [];
diff --git a/core/lib/Drupal/Core/Database/Schema.php b/core/lib/Drupal/Core/Database/Schema.php
index 80a68f6e5a..52022accdc 100644
--- a/core/lib/Drupal/Core/Database/Schema.php
+++ b/core/lib/Drupal/Core/Database/Schema.php
@@ -141,7 +141,7 @@ public function prefixNonTable($table) {
   protected function buildTableNameCondition($table_name, $operator = '=', $add_prefix = TRUE) {
     $info = $this->connection->getConnectionOptions();
 
-    // Retrieve the table name and schema
+    // Retrieve the table name and schema.
     $table_info = $this->getPrefixInfo($table_name, $add_prefix);
 
     $condition = new Condition('AND');
diff --git a/core/lib/Drupal/Core/Database/StatementInterface.php b/core/lib/Drupal/Core/Database/StatementInterface.php
index a97043af62..50f62da4f3 100644
--- a/core/lib/Drupal/Core/Database/StatementInterface.php
+++ b/core/lib/Drupal/Core/Database/StatementInterface.php
@@ -37,7 +37,7 @@
    * "the access type must be omitted" if it is protected; i.e., conflicting
    * statements). The access type has to be protected.
    */
-  // protected function __construct(Connection $dbh);
+  // protected function __construct(Connection $dbh).
 
   /**
    * Executes a prepared statement
diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php
index 217d4dc781..3fca9bb2f2 100644
--- a/core/lib/Drupal/Core/DrupalKernel.php
+++ b/core/lib/Drupal/Core/DrupalKernel.php
@@ -1235,7 +1235,7 @@ protected function compileContainer() {
     // the following directories:
     // - Element
     // - Entity
-    // - Plugin
+    // - Plugin.
     foreach (['Core', 'Component'] as $parent_directory) {
       $path = 'core/lib/Drupal/' . $parent_directory;
       $parent_namespace = 'Drupal\\' . $parent_directory;
diff --git a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php
index e92930ab62..b356f83d79 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php
@@ -98,7 +98,7 @@ public function createWithSampleValues($bundle = FALSE, array $values = []) {
         throw new EntityStorageException(sprintf("Missing entity bundle. The \"%s\" bundle does not exist", $bundle));
       }
       $values[$bundle_key] = $bundle;
-      // Bundle is already set
+      // Bundle is already set.
       $forbidden_keys[] = $bundle_key;
     }
     // Forbid sample generation on any keys whose values were submitted.
diff --git a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php
index aef9fb0018..8542d51952 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php
@@ -138,7 +138,7 @@ public function validate($value, Constraint $constraint) {
         foreach ($invalid_target_ids as $delta => $target_id) {
           // Check if any of the invalid existing references are simply not
           // accessible by the user, in which case they need to be excluded from
-          // validation
+          // validation.
           if (isset($previously_referenced_ids[$target_id]) && isset($existing_entities[$target_id]) && !$existing_entities[$target_id]->access('view')) {
             continue;
           }
diff --git a/core/lib/Drupal/Core/Entity/entity.api.php b/core/lib/Drupal/Core/Entity/entity.api.php
index 5387c7ef7e..0c55285fc1 100644
--- a/core/lib/Drupal/Core/Entity/entity.api.php
+++ b/core/lib/Drupal/Core/Entity/entity.api.php
@@ -1907,7 +1907,7 @@ function hook_entity_field_access_alter(array &$grants, array $context) {
     // take out node module's part in the access handling of this field. We also
     // don't want to switch node module's grant to
     // AccessResultInterface::isAllowed() , because the grants of other modules
-    // should still decide on their own if this field is accessible or not
+    // should still decide on their own if this field is accessible or not.
     $grants['node'] = AccessResult::neutral()->inheritCacheability($grants['node']);
   }
 }
diff --git a/core/lib/Drupal/Core/EventSubscriber/ActiveLinkResponseFilter.php b/core/lib/Drupal/Core/EventSubscriber/ActiveLinkResponseFilter.php
index ea8bff10d5..b824560666 100644
--- a/core/lib/Drupal/Core/EventSubscriber/ActiveLinkResponseFilter.php
+++ b/core/lib/Drupal/Core/EventSubscriber/ActiveLinkResponseFilter.php
@@ -170,7 +170,7 @@ public static function setLinkActiveClass($html_markup, $current_path, $is_front
       }
 
       // Get the HTML: this will be the opening part of a single tag, e.g.:
-      //   <a href="/" data-drupal-link-system-path="&lt;front&gt;">
+      // "<a href="/" data-drupal-link-system-path="&lt;front&gt;">".
       $tag = substr($html_markup, $pos_tag_start, $pos_tag_end - $pos_tag_start + 1);
 
       // Parse it into a DOMDocument so we can reliably read and modify
diff --git a/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php b/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php
index f168a02cad..b90e2234a8 100644
--- a/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php
+++ b/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php
@@ -158,13 +158,13 @@ protected function makeSubrequest(GetResponseForExceptionEvent $event, $url, $st
       // Add to query (GET) or request (POST) parameters:
       // - 'destination' (to ensure e.g. the login form in a 403 response
       //   redirects to the original URL)
-      // - '_exception_statuscode'
+      // - '_exception_statuscode'.
       $parameters = $sub_request->isMethod('GET') ? $sub_request->query : $sub_request->request;
       $parameters->add($this->redirectDestination->getAsArray() + ['_exception_statuscode' => $status_code]);
 
       $response = $this->httpKernel->handle($sub_request, HttpKernelInterface::SUB_REQUEST);
       // Only 2xx responses should have their status code overridden; any
-      // other status code should be passed on: redirects (3xx), error (5xx)…
+      // other status code should be passed on: redirects (3xx), error (5xx)….
       // @see https://www.drupal.org/node/2603788#comment-10504916
       if ($response->isSuccessful()) {
         $response->setStatusCode($status_code);
diff --git a/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php b/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
index b74fc04f1d..c1afe7f59c 100644
--- a/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
+++ b/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
@@ -352,7 +352,7 @@ protected function sort(array $all_files, array $weights) {
     // 1 1 core/profiles/testing/modules/compatible_test/compatible_test.module
     // 2   sites/all/modules/common/common.module
     // 3   modules/devel/devel.module
-    // 4   sites/default/modules/custom/custom.module
+    // 4   sites/default/modules/custom/custom.module.
     array_multisort($origins, SORT_ASC, $profiles, SORT_ASC, $all_files);
 
     return $all_files;
diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php
index d8d36088ac..c1309c709b 100644
--- a/core/lib/Drupal/Core/Extension/ModuleHandler.php
+++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php
@@ -260,7 +260,7 @@ public function loadAllIncludes($type, $name = NULL) {
    */
   public function loadInclude($module, $type, $name = NULL) {
     if ($type == 'install') {
-      // Make sure the installation API is available
+      // Make sure the installation API is available.
       include_once $this->root . '/core/includes/install.inc';
     }
 
diff --git a/core/lib/Drupal/Core/Extension/module.api.php b/core/lib/Drupal/Core/Extension/module.api.php
index 0830f32872..f9570c9535 100644
--- a/core/lib/Drupal/Core/Extension/module.api.php
+++ b/core/lib/Drupal/Core/Extension/module.api.php
@@ -617,7 +617,7 @@ function hook_install_tasks_alter(&$tasks, $install_state) {
  */
 function hook_update_N(&$sandbox) {
   // For non-batch updates, the signature can simply be:
-  // function hook_update_N() {
+  // function hook_update_N() {}.
 
   // Example function body for adding a field to a database table, which does
   // not require a batch operation:
@@ -929,7 +929,7 @@ function hook_updater_info_alter(&$updaters) {
 function hook_requirements($phase) {
   $requirements = [];
 
-  // Report Drupal version
+  // Report Drupal version.
   if ($phase == 'runtime') {
     $requirements['drupal'] = [
       'title' => t('Drupal'),
@@ -938,7 +938,7 @@ function hook_requirements($phase) {
     ];
   }
 
-  // Test PHP version
+  // Test PHP version.
   $requirements['php'] = [
     'title' => t('PHP'),
     'value' => ($phase == 'runtime') ? \Drupal::l(phpversion(), new Url('system.php')) : phpversion(),
@@ -948,7 +948,7 @@ function hook_requirements($phase) {
     $requirements['php']['severity'] = REQUIREMENT_ERROR;
   }
 
-  // Report cron status
+  // Report cron status.
   if ($phase == 'runtime') {
     $cron_last = \Drupal::state()->get('system.cron_last');
 
diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/DecimalItem.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/DecimalItem.php
index 00fe4098c7..c4935e93db 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/DecimalItem.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/DecimalItem.php
@@ -140,11 +140,11 @@ public static function generateSampleValue(FieldDefinitionInterface $field_defin
     $max = is_numeric($settings['max']) ?: pow(10, ($precision - $scale)) - 1;
     $min = is_numeric($settings['min']) ?: -pow(10, ($precision - $scale)) + 1;
 
-    // Get the number of decimal digits for the $max
+    // Get the number of decimal digits for the $max.
     $decimal_digits = self::getDecimalDigits($max);
     // Do the same for the min and keep the higher number of decimal digits.
     $decimal_digits = max(self::getDecimalDigits($min), $decimal_digits);
-    // If $min = 1.234 and $max = 1.33 then $decimal_digits = 3
+    // If $min = 1.234 and $max = 1.33 then $decimal_digits = 3.
     $scale = rand($decimal_digits, $scale);
 
     // @see "Example #1 Calculate a random floating-point number" in
diff --git a/core/lib/Drupal/Core/File/MimeType/ExtensionMimeTypeGuesser.php b/core/lib/Drupal/Core/File/MimeType/ExtensionMimeTypeGuesser.php
index cc54d6c1c2..096160524e 100644
--- a/core/lib/Drupal/Core/File/MimeType/ExtensionMimeTypeGuesser.php
+++ b/core/lib/Drupal/Core/File/MimeType/ExtensionMimeTypeGuesser.php
@@ -904,7 +904,7 @@ public function guess($path) {
     // For my.awesome.image.jpeg, we try:
     //   - jpeg
     //   - image.jpeg, and
-    //   - awesome.image.jpeg
+    //   - awesome.image.jpeg.
     while ($additional_part = array_pop($file_parts)) {
       $extension = strtolower($additional_part . ($extension ? '.' . $extension : ''));
       if (isset($this->mapping['extensions'][$extension])) {
diff --git a/core/lib/Drupal/Core/FileTransfer/FTPExtension.php b/core/lib/Drupal/Core/FileTransfer/FTPExtension.php
index 99c1c06881..883333c1cf 100644
--- a/core/lib/Drupal/Core/FileTransfer/FTPExtension.php
+++ b/core/lib/Drupal/Core/FileTransfer/FTPExtension.php
@@ -108,7 +108,7 @@ public function chmodJailed($path, $mode, $recursive) {
     if ($this->isDirectory($path) && $recursive) {
       $filelist = @ftp_nlist($this->connection, $path);
       if (!$filelist) {
-        // empty directory - returns false
+        // empty directory - returns false.
         return;
       }
       foreach ($filelist as $file) {
diff --git a/core/lib/Drupal/Core/FileTransfer/Local.php b/core/lib/Drupal/Core/FileTransfer/Local.php
index 1da4e48eaa..b62341e06c 100644
--- a/core/lib/Drupal/Core/FileTransfer/Local.php
+++ b/core/lib/Drupal/Core/FileTransfer/Local.php
@@ -11,7 +11,7 @@ class Local extends FileTransfer implements ChmodInterface {
    * {@inheritdoc}
    */
   public function connect() {
-    // No-op
+    // No-op.
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Form/FormBuilder.php b/core/lib/Drupal/Core/Form/FormBuilder.php
index be000dcc25..58dd8901c6 100644
--- a/core/lib/Drupal/Core/Form/FormBuilder.php
+++ b/core/lib/Drupal/Core/Form/FormBuilder.php
@@ -336,7 +336,6 @@ public function buildForm($form_id, FormStateInterface &$form_state) {
     // If the form returns a response, skip subsequent page construction by
     // throwing an exception.
     // @see Drupal\Core\EventSubscriber\EnforcedFormResponseSubscriber
-    //
     // @todo Exceptions should not be used for code flow control. However, the
     //   Form API does not integrate with the HTTP Kernel based architecture of
     //   Drupal 8. In order to resolve this issue properly it is necessary to
@@ -515,7 +514,6 @@ public function retrieveForm($form_id, FormStateInterface &$form_state) {
     // If the form returns a response, skip subsequent page construction by
     // throwing an exception.
     // @see Drupal\Core\EventSubscriber\EnforcedFormResponseSubscriber
-    //
     // @todo Exceptions should not be used for code flow control. However, the
     //   Form API currently allows any form builder functions to return a
     //   response.
@@ -684,7 +682,7 @@ public function prepareForm($form_id, &$form, FormStateInterface &$form_state) {
       // dynamically generated action URLs don't have poor cacheability.
       // Use the proper API to generate the placeholder, when we have one. See
       // https://www.drupal.org/node/2562341. The placholder uses a fixed string
-      // that is Crypt::hashBase64('Drupal\Core\Form\FormBuilder::prepareForm');
+      // that is Crypt::hashBase64('Drupal\Core\Form\FormBuilder::prepareForm').
       $placeholder = 'form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM';
 
       $form['#attached']['placeholders'][$placeholder] = [
@@ -1146,7 +1144,7 @@ protected function valueCallableIsSafe(callable $value_callable) {
     // ['\Classname', 'methodname']
     // ['Classname', 'methodname']
     // '\Classname::methodname'
-    // 'Classname::methodname'
+    // 'Classname::methodname'.
     if (is_callable($value_callable, FALSE, $callable_name)) {
       // The third parameter of is_callable() is set to a string form, but we
       // still have to normalize further by stripping a leading '\'.
diff --git a/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php b/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php
index 540da5598d..05e53f99ec 100644
--- a/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php
+++ b/core/lib/Drupal/Core/Installer/Form/SiteConfigureForm.php
@@ -120,7 +120,7 @@ protected function getEditableConfigNames() {
   public function buildForm(array $form, FormStateInterface $form_state) {
     $form['#title'] = $this->t('Configure site');
 
-    // Warn about settings.php permissions risk
+    // Warn about settings.php permissions risk.
     $settings_dir = $this->sitePath;
     $settings_file = $settings_dir . '/settings.php';
     // Check that $_POST is empty so we only show this message when the form is
@@ -202,7 +202,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     $form['regional_settings']['date_default_timezone'] = [
       '#type' => 'select',
       '#title' => $this->t('Default time zone'),
-      // Use system timezone if set, but avoid throwing a warning in PHP >=5.4
+      // Use system timezone if set, but avoid throwing a warning in PHP >=5.4.
       '#default_value' => @date_default_timezone_get(),
       '#options' => system_time_zones(NULL, TRUE),
       '#description' => $this->t('By default, dates in this site will be displayed in the chosen time zone.'),
diff --git a/core/lib/Drupal/Core/Render/Element/Html.php b/core/lib/Drupal/Core/Render/Element/Html.php
index fb79b94e9f..59572491c5 100644
--- a/core/lib/Drupal/Core/Render/Element/Html.php
+++ b/core/lib/Drupal/Core/Render/Element/Html.php
@@ -15,7 +15,7 @@ class Html extends RenderElement {
   public function getInfo() {
     return [
       '#theme' => 'html',
-      // HTML5 Shiv
+      // HTML5 Shiv.
       '#attached' => [
         'library' => ['core/html5shiv'],
       ],
diff --git a/core/lib/Drupal/Core/Render/Renderer.php b/core/lib/Drupal/Core/Render/Renderer.php
index 584f79f908..afa280772e 100644
--- a/core/lib/Drupal/Core/Render/Renderer.php
+++ b/core/lib/Drupal/Core/Render/Renderer.php
@@ -156,7 +156,7 @@ public function renderPlain(&$elements) {
    * {@inheritdoc}
    */
   public function renderPlaceholder($placeholder, array $elements) {
-    // Get the render array for the given placeholder
+    // Get the render array for the given placeholder.
     $placeholder_elements = $elements['#attached']['placeholders'][$placeholder];
 
     // Prevent the render array from being auto-placeholdered again.
diff --git a/core/lib/Drupal/Core/Routing/UrlGenerator.php b/core/lib/Drupal/Core/Routing/UrlGenerator.php
index 63dcd47b6c..1ff15fe3f5 100644
--- a/core/lib/Drupal/Core/Routing/UrlGenerator.php
+++ b/core/lib/Drupal/Core/Routing/UrlGenerator.php
@@ -175,7 +175,7 @@ protected function doGenerate(array $variables, array $defaults, array $tokens,
     $variables = array_flip($variables);
     $mergedParams = array_replace($defaults, $this->context->getParameters(), $parameters);
 
-    // all params must be given
+    // all params must be given.
     if ($diff = array_diff_key($variables, $mergedParams)) {
       throw new MissingMandatoryParametersException(sprintf('Some mandatory parameters are missing ("%s") to generate a URL for route "%s".', implode('", "', array_keys($diff)), $name));
     }
@@ -192,11 +192,11 @@ protected function doGenerate(array $variables, array $defaults, array $tokens,
     //
     // For a simple fixed path, there is just one token.
     // If the path is /admin/config
-    // [ [ 0 => 'text', 1 => '/admin/config' ] ]
+    // [ [ 0 => 'text', 1 => '/admin/config' ] ].
     foreach ($tokens as $token) {
       if ('variable' === $token[0]) {
         if (!$optional || !array_key_exists($token[3], $defaults) || (isset($mergedParams[$token[3]]) && (string) $mergedParams[$token[3]] !== (string) $defaults[$token[3]])) {
-          // check requirement
+          // check requirement.
           if (!preg_match('#^' . $token[2] . '$#', $mergedParams[$token[3]])) {
             $message = sprintf('Parameter "%s" for route "%s" must match "%s" ("%s" given) to generate a corresponding URL.', $token[3], $name, $token[2], $mergedParams[$token[3]]);
             throw new InvalidParameterException($message);
@@ -207,7 +207,7 @@ protected function doGenerate(array $variables, array $defaults, array $tokens,
         }
       }
       else {
-        // Static text
+        // Static text.
         $url = $token[1] . $url;
         $optional = FALSE;
       }
@@ -305,7 +305,7 @@ public function generateFromRoute($name, $parameters = [], $options = [], $colle
       // resolving a URI; see http://tools.ietf.org/html/rfc3986#section-3.3
       // so we need to encode them as they are not used for this purpose here
       // otherwise we would generate a URI that, when followed by a user agent
-      // (e.g. browser), does not match this route
+      // (e.g. browser), does not match this route.
       $path = strtr($path, ['/../' => '/%2E%2E/', '/./' => '/%2E/']);
       if ('/..' === substr($path, -3)) {
         $path = substr($path, 0, -2) . '%2E%2E';
diff --git a/core/lib/Drupal/Core/StreamWrapper/LocalReadOnlyStream.php b/core/lib/Drupal/Core/StreamWrapper/LocalReadOnlyStream.php
index fa12ab4885..f48b784970 100644
--- a/core/lib/Drupal/Core/StreamWrapper/LocalReadOnlyStream.php
+++ b/core/lib/Drupal/Core/StreamWrapper/LocalReadOnlyStream.php
@@ -57,7 +57,7 @@ public function stream_open($uri, $mode, $options, &$opened_path) {
    * @see http://php.net/manual/streamwrapper.stream-lock.php
    */
   public function stream_lock($operation) {
-    // Disallow exclusive lock or non-blocking lock requests
+    // Disallow exclusive lock or non-blocking lock requests.
     if (in_array($operation, [LOCK_EX, LOCK_EX | LOCK_NB])) {
       trigger_error('stream_lock() exclusive lock operations not supported for read-only stream wrappers', E_USER_WARNING);
       return FALSE;
diff --git a/core/lib/Drupal/Core/Template/TwigExtension.php b/core/lib/Drupal/Core/Template/TwigExtension.php
index 520a8beb25..1ef597fa27 100644
--- a/core/lib/Drupal/Core/Template/TwigExtension.php
+++ b/core/lib/Drupal/Core/Template/TwigExtension.php
@@ -139,7 +139,7 @@ public function getFunctions() {
       // This function will receive a renderable array, if an array is detected.
       new \Twig_SimpleFunction('render_var', [$this, 'renderVar']),
       // The url and path function are defined in close parallel to those found
-      // in \Symfony\Bridge\Twig\Extension\RoutingExtension
+      // in \Symfony\Bridge\Twig\Extension\RoutingExtension.
       new \Twig_SimpleFunction('url', [$this, 'getUrl'], ['is_safe_callback' => [$this, 'isUrlGenerationSafe']]),
       new \Twig_SimpleFunction('path', [$this, 'getPath'], ['is_safe_callback' => [$this, 'isUrlGenerationSafe']]),
       new \Twig_SimpleFunction('link', [$this, 'getLink']),
diff --git a/core/lib/Drupal/Core/Test/TestStatus.php b/core/lib/Drupal/Core/Test/TestStatus.php
index b70dcdd1d8..689b16e77e 100644
--- a/core/lib/Drupal/Core/Test/TestStatus.php
+++ b/core/lib/Drupal/Core/Test/TestStatus.php
@@ -55,7 +55,7 @@ public static function label($status) {
       static::EXCEPTION => 'exception',
       static::SYSTEM => 'error',
     ];
-    // For status 3 and higher, we want 'error.'
+    // For status 3 and higher, we want 'error'.
     $label = $statusMap[$status > static::SYSTEM ? static::SYSTEM : $status];
     return $label;
   }
diff --git a/core/lib/Drupal/Core/Theme/ThemeInitialization.php b/core/lib/Drupal/Core/Theme/ThemeInitialization.php
index 95ce5f3e95..7855271ea5 100644
--- a/core/lib/Drupal/Core/Theme/ThemeInitialization.php
+++ b/core/lib/Drupal/Core/Theme/ThemeInitialization.php
@@ -140,7 +140,7 @@ public function loadActiveTheme(ActiveTheme $active_theme) {
       }
     }
     else {
-      // include non-engine theme files
+      // include non-engine theme files.
       foreach ($active_theme->getBaseThemes() as $base) {
         // Include the theme file or the engine.
         if ($base->getOwner()) {
@@ -219,10 +219,10 @@ public function getActiveTheme(Extension $theme, array $base_themes = []) {
       }
     }
 
-    // Do basically the same as the above for libraries
+    // Do basically the same as the above for libraries.
     $values['libraries'] = [];
 
-    // Grab libraries from base theme
+    // Grab libraries from base theme.
     foreach ($base_themes as $base) {
       if (!empty($base->libraries)) {
         foreach ($base->libraries as $library) {
diff --git a/core/lib/Drupal/Core/TypedData/Validation/RecursiveContextualValidator.php b/core/lib/Drupal/Core/TypedData/Validation/RecursiveContextualValidator.php
index a5d453ae58..0aac605ee8 100644
--- a/core/lib/Drupal/Core/TypedData/Validation/RecursiveContextualValidator.php
+++ b/core/lib/Drupal/Core/TypedData/Validation/RecursiveContextualValidator.php
@@ -167,7 +167,7 @@ protected function validateNode(TypedDataInterface $data, $constraints = NULL, $
   protected function validateConstraints($value, $cache_key, $constraints) {
     foreach ($constraints as $constraint) {
       // Prevent duplicate validation of constraints, in the case
-      // that constraints belong to multiple validated groups
+      // that constraints belong to multiple validated groups.
       if (isset($cache_key)) {
         $constraint_hash = spl_object_hash($constraint);
 
diff --git a/core/lib/Drupal/Core/Utility/Token.php b/core/lib/Drupal/Core/Utility/Token.php
index a250d5892b..73218811de 100644
--- a/core/lib/Drupal/Core/Utility/Token.php
+++ b/core/lib/Drupal/Core/Utility/Token.php
@@ -250,7 +250,7 @@ public function scan($text) {
 
     // Iterate through the matches, building an associative array containing
     // $tokens grouped by $types, pointing to the version of the token found in
-    // the source text. For example, $results['node']['title'] = '[node:title]';
+    // the source text. For example, $results['node']['title'] = '[node:title]'.
     $results = [];
     for ($i = 0; $i < count($tokens); $i++) {
       $results[$types[$i]][$tokens[$i]] = $matches[0][$i];
diff --git a/core/modules/ban/tests/src/Functional/IpAddressBlockingTest.php b/core/modules/ban/tests/src/Functional/IpAddressBlockingTest.php
index 778f3dba97..9ac1e1bc08 100644
--- a/core/modules/ban/tests/src/Functional/IpAddressBlockingTest.php
+++ b/core/modules/ban/tests/src/Functional/IpAddressBlockingTest.php
@@ -74,7 +74,7 @@ public function testIPAddressValidation() {
     // $edit = array();
     // $edit['ip'] = \Drupal::request()->getClientIP();
     // $this->drupalPostForm('admin/config/people/ban', $edit, t('Save'));
-    // $this->assertText(t('You may not ban your own IP address.'));
+    // $this->assertText(t('You may not ban your own IP address.')).
 
     // Test duplicate ip address are not present in the 'blocked_ips' table.
     // when they are entered programmatically.
diff --git a/core/modules/block/src/BlockForm.php b/core/modules/block/src/BlockForm.php
index b2d180aa46..e23a7a048d 100644
--- a/core/modules/block/src/BlockForm.php
+++ b/core/modules/block/src/BlockForm.php
@@ -384,7 +384,7 @@ protected function submitVisibility(array $form, FormStateInterface $form_state)
       // Setting conditions' context mappings is the plugins' responsibility.
       // This code exists for backwards compatibility, because
       // \Drupal\Core\Condition\ConditionPluginBase::submitConfigurationForm()
-      // did not set its own mappings until Drupal 8.2
+      // did not set its own mappings until Drupal 8.2.
       // @todo Remove the code that sets context mappings in Drupal 9.0.0.
       if ($condition instanceof ContextAwarePluginInterface) {
         $context_mapping = isset($values['context_mapping']) ? $values['context_mapping'] : [];
diff --git a/core/modules/block/tests/src/Kernel/BlockViewBuilderTest.php b/core/modules/block/tests/src/Kernel/BlockViewBuilderTest.php
index 71c4f55b8d..b1935b30cc 100644
--- a/core/modules/block/tests/src/Kernel/BlockViewBuilderTest.php
+++ b/core/modules/block/tests/src/Kernel/BlockViewBuilderTest.php
@@ -290,7 +290,7 @@ protected function assertBlockRenderedWithExpectedCacheability(array $expected_k
     $required_cache_contexts = ['languages:' . LanguageInterface::TYPE_INTERFACE, 'theme', 'user.permissions'];
 
     // Check that the expected cacheability metadata is present in:
-    // - the built render array;
+    // - the built render array.
     $this->pass('Built render array');
     $build = $this->getBlockRenderArray();
     $this->assertIdentical($expected_keys, $build['#cache']['keys']);
@@ -298,7 +298,7 @@ protected function assertBlockRenderedWithExpectedCacheability(array $expected_k
     $this->assertIdentical($expected_tags, $build['#cache']['tags']);
     $this->assertIdentical($expected_max_age, $build['#cache']['max-age']);
     $this->assertFalse(isset($build['#create_placeholder']));
-    // - the rendered render array;
+    // - the rendered render array.
     $this->pass('Rendered render array');
     $this->renderer->renderRoot($build);
     // - the render cache item.
diff --git a/core/modules/block/tests/src/Unit/Plugin/DisplayVariant/BlockPageVariantTest.php b/core/modules/block/tests/src/Unit/Plugin/DisplayVariant/BlockPageVariantTest.php
index 1569411353..ab1cdbf41b 100644
--- a/core/modules/block/tests/src/Unit/Plugin/DisplayVariant/BlockPageVariantTest.php
+++ b/core/modules/block/tests/src/Unit/Plugin/DisplayVariant/BlockPageVariantTest.php
@@ -68,7 +68,7 @@ public function setUpDisplayVariant($configuration = [], $definition = []) {
   public function providerBuild() {
     $blocks_config = [
       'block1' => [
-        // region, is main content block, is messages block, is title block
+        // region, is main content block, is messages block, is title block.
         'top', FALSE, FALSE, FALSE,
       ],
       // Test multiple blocks in the same region.
diff --git a/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php b/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php
index 0f89b86e6a..23080c7a99 100644
--- a/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php
@@ -108,7 +108,7 @@ public function testBlockContentCreationMultipleViewModes() {
       '%name' => $edit['info[0][value]']
     ]), 'Basic block created.');
 
-    // Save our block permanently
+    // Save our block permanently.
     $this->drupalPostForm(NULL, ['region' => 'content'], t('Save block'));
 
     // Set test_view_mode as a custom display to be available on the list.
diff --git a/core/modules/block_content/tests/src/Functional/BlockContentValidationTest.php b/core/modules/block_content/tests/src/Functional/BlockContentValidationTest.php
index bfa84082c1..7b34297af6 100644
--- a/core/modules/block_content/tests/src/Functional/BlockContentValidationTest.php
+++ b/core/modules/block_content/tests/src/Functional/BlockContentValidationTest.php
@@ -29,7 +29,7 @@ public function testValidation() {
     $violations = $block->validate();
     // Make sure we have 1 violation.
     $this->assertEqual(count($violations), 1);
-    // Make sure the violation is on the info property
+    // Make sure the violation is on the info property.
     $this->assertEqual($violations[0]->getPropertyPath(), 'info');
     // Make sure the message is correct.
     $this->assertEqual($violations[0]->getMessage(), format_string('A custom block with block description %value already exists.', [
diff --git a/core/modules/book/src/BookManager.php b/core/modules/book/src/BookManager.php
index 3db359b2c5..b94c911e91 100644
--- a/core/modules/book/src/BookManager.php
+++ b/core/modules/book/src/BookManager.php
@@ -855,7 +855,7 @@ protected function moveChildren(array $link, array $original) {
     if ($shift > 0) {
       // The order of expressions must be reversed so the new values don't
       // overwrite the old ones before they can be used because "Single-table
-      // UPDATE assignments are generally evaluated from left to right"
+      // UPDATE assignments are generally evaluated from left to right".
       // @see http://dev.mysql.com/doc/refman/5.0/en/update.html
       $expressions = array_reverse($expressions);
     }
diff --git a/core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php b/core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php
index 9a04ce72a2..ee7db30503 100644
--- a/core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php
+++ b/core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php
@@ -242,7 +242,7 @@ public function getButtons() {
         'image_alternative' => $button('blockquote'),
         'image_alternative_rtl' => $button('blockquote', 'rtl'),
       ],
-      // "horizontalrule" plugin
+      // "horizontalrule" plugin.
       'HorizontalRule' => [
         'label' => $this->t('Horizontal rule'),
         'image_alternative' => $button('horizontal rule'),
diff --git a/core/modules/ckeditor/tests/src/Functional/CKEditorAdminTest.php b/core/modules/ckeditor/tests/src/Functional/CKEditorAdminTest.php
index ce3411c30e..4293776001 100644
--- a/core/modules/ckeditor/tests/src/Functional/CKEditorAdminTest.php
+++ b/core/modules/ckeditor/tests/src/Functional/CKEditorAdminTest.php
@@ -80,7 +80,7 @@ public function testExistingFormat() {
     $expected_default_settings = [
       'toolbar' => [
         'rows' => [
-          // Button groups
+          // Button groups.
           [
             [
               'name' => 'Formatting',
diff --git a/core/modules/ckeditor/tests/src/Functional/CKEditorLoadingTest.php b/core/modules/ckeditor/tests/src/Functional/CKEditorLoadingTest.php
index cad0947dcf..1c3272737b 100644
--- a/core/modules/ckeditor/tests/src/Functional/CKEditorLoadingTest.php
+++ b/core/modules/ckeditor/tests/src/Functional/CKEditorLoadingTest.php
@@ -168,7 +168,7 @@ public function testLoadingWithoutInternalButtons() {
     // Change the CKEditor text editor configuration to only have link buttons.
     // This means:
     // - 0 buttons are from \Drupal\ckeditor\Plugin\CKEditorPlugin\Internal
-    // - 2 buttons are from \Drupal\ckeditor\Plugin\CKEditorPlugin\DrupalLink
+    // - 2 buttons are from \Drupal\ckeditor\Plugin\CKEditorPlugin\DrupalLink.
     $filtered_html_editor = Editor::load('filtered_html');
     $settings = $filtered_html_editor->getSettings();
     $settings['toolbar']['rows'] = [
diff --git a/core/modules/color/color.module b/core/modules/color/color.module
index 2de53f5c17..ab9f055a96 100644
--- a/core/modules/color/color.module
+++ b/core/modules/color/color.module
@@ -655,7 +655,7 @@ function _color_render_images($theme, &$info, &$paths, $palette) {
     imagedestroy($slice);
     $paths['files'][] = $image;
 
-    // Set standard file permissions for webserver-generated files
+    // Set standard file permissions for webserver-generated files.
     drupal_chmod($image);
 
     // Build before/after map of image paths.
@@ -682,7 +682,7 @@ function _color_shift($given, $ref1, $ref2, $target) {
   // We assume that ref2 is a blend of ref1 and target and find
   // delta based on the length of the difference vectors.
 
-  // delta = 1 - |ref2 - ref1| / |white - ref1|
+  // delta = 1 - |ref2 - ref1| / |white - ref1|.
   $target = _color_unpack($target, TRUE);
   $ref1 = _color_unpack($ref1, TRUE);
   $ref2 = _color_unpack($ref2, TRUE);
diff --git a/core/modules/color/tests/src/Functional/ColorSafePreviewTest.php b/core/modules/color/tests/src/Functional/ColorSafePreviewTest.php
index 9f6914c996..a188d5e675 100644
--- a/core/modules/color/tests/src/Functional/ColorSafePreviewTest.php
+++ b/core/modules/color/tests/src/Functional/ColorSafePreviewTest.php
@@ -45,7 +45,7 @@ public function testColorPreview() {
     $this->drupalLogin($this->bigUser);
 
     // Markup is being printed from a HTML file located in:
-    // core/modules/color/tests/modules/color_test/themes/color_test_theme/color/preview.html
+    // core/modules/color/tests/modules/color_test/themes/color_test_theme/color/preview.html.
     $url = Url::fromRoute('system.theme_settings_theme', ['theme' => 'color_test_theme']);
     $this->drupalGet($url);
     $this->assertText('TEST COLOR PREVIEW');
diff --git a/core/modules/comment/comment.tokens.inc b/core/modules/comment/comment.tokens.inc
index 884144196a..d1fc2a050f 100644
--- a/core/modules/comment/comment.tokens.inc
+++ b/core/modules/comment/comment.tokens.inc
@@ -44,7 +44,7 @@ function comment_token_info() {
     }
   }
 
-  // Core comment tokens
+  // Core comment tokens.
   $comment['cid'] = [
     'name' => t("Comment ID"),
     'description' => t("The unique ID of the comment."),
@@ -82,7 +82,7 @@ function comment_token_info() {
     'description' => t("The URL of the comment's edit page."),
   ];
 
-  // Chained tokens for comments
+  // Chained tokens for comments.
   $comment['created'] = [
     'name' => t("Date created"),
     'description' => t("The date the comment was posted."),
diff --git a/core/modules/comment/src/Plugin/views/field/StatisticsLastCommentName.php b/core/modules/comment/src/Plugin/views/field/StatisticsLastCommentName.php
index f88c0498d3..7b4db334c9 100644
--- a/core/modules/comment/src/Plugin/views/field/StatisticsLastCommentName.php
+++ b/core/modules/comment/src/Plugin/views/field/StatisticsLastCommentName.php
@@ -22,7 +22,7 @@ public function query() {
     // last_comment_name only contains data if the user is anonymous. So we
     // have to join in a specially related user table.
     $this->ensureMyTable();
-    // join 'users' to this table via vid
+    // join 'users' to this table via vid.
     $definition = [
       'table' => 'users_field_data',
       'field' => 'uid',
diff --git a/core/modules/comment/src/Tests/CommentPagerTest.php b/core/modules/comment/src/Tests/CommentPagerTest.php
index 9c48978403..a5c6a58520 100644
--- a/core/modules/comment/src/Tests/CommentPagerTest.php
+++ b/core/modules/comment/src/Tests/CommentPagerTest.php
@@ -166,7 +166,7 @@ public function testCommentOrderingThreading() {
     //   - 3
     //     - 6
     // - 2
-    //   - 5
+    //   - 5.
 
     $this->setCommentSettings('default_mode', CommentManagerInterface::COMMENT_MODE_FLAT, 'Comment paging changed.');
 
@@ -261,7 +261,7 @@ public function testCommentNewPageIndicator() {
     // - 1
     //   - 3
     // - 2
-    //   - 5
+    //   - 5.
 
     $this->setCommentSettings('default_mode', CommentManagerInterface::COMMENT_MODE_FLAT, 'Comment paging changed.');
 
@@ -271,7 +271,7 @@ public function testCommentNewPageIndicator() {
       3 => 3, // Page of comment 3
       4 => 2, // Page of comment 2
       5 => 1, // Page of comment 1
-      6 => 0, // Page of comment 0
+      6 => 0, // Page of comment 0.
     ];
 
     $node = Node::load($node->id());
@@ -289,7 +289,7 @@ public function testCommentNewPageIndicator() {
       3 => 1, // Page of comment 4
       4 => 1, // Page of comment 4
       5 => 1, // Page of comment 4
-      6 => 0, // Page of comment 0
+      6 => 0, // Page of comment 0.
     ];
 
     \Drupal::entityManager()->getStorage('node')->resetCache([$node->id()]);
diff --git a/core/modules/comment/src/Tests/CommentTestBase.php b/core/modules/comment/src/Tests/CommentTestBase.php
index 1b0f95981b..45f8384204 100644
--- a/core/modules/comment/src/Tests/CommentTestBase.php
+++ b/core/modules/comment/src/Tests/CommentTestBase.php
@@ -162,7 +162,7 @@ public function postComment($entity, $comment, $subject = '', $contact = NULL, $
         break;
     }
     $match = [];
-    // Get comment ID
+    // Get comment ID.
     preg_match('/#comment-([0-9]+)/', $this->getURL(), $match);
 
     // Get comment.
diff --git a/core/modules/comment/tests/src/Functional/CommentAdminTest.php b/core/modules/comment/tests/src/Functional/CommentAdminTest.php
index 93cff3c6ce..c58d8d5274 100644
--- a/core/modules/comment/tests/src/Functional/CommentAdminTest.php
+++ b/core/modules/comment/tests/src/Functional/CommentAdminTest.php
@@ -34,7 +34,7 @@ public function testApprovalAdminInterface() {
     $this->drupalLogin($this->adminUser);
     $this->setCommentAnonymous('0'); // Ensure that doesn't require contact info.
 
-    // Test that the comments page loads correctly when there are no comments
+    // Test that the comments page loads correctly when there are no comments.
     $this->drupalGet('admin/content/comment');
     $this->assertText(t('No comments available.'));
 
diff --git a/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php b/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php
index 257b7333fb..bcd4b85f44 100644
--- a/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php
+++ b/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php
@@ -153,7 +153,7 @@ public function postComment(EntityInterface $entity, $comment, $subject = '', $c
         break;
     }
     $match = [];
-    // Get comment ID
+    // Get comment ID.
     preg_match('/#comment-([0-9]+)/', $this->getURL(), $match);
 
     // Get comment.
diff --git a/core/modules/comment/tests/src/Functional/CommentTestBase.php b/core/modules/comment/tests/src/Functional/CommentTestBase.php
index 97ba9d577d..7f94a73807 100644
--- a/core/modules/comment/tests/src/Functional/CommentTestBase.php
+++ b/core/modules/comment/tests/src/Functional/CommentTestBase.php
@@ -156,7 +156,7 @@ public function postComment($entity, $comment, $subject = '', $contact = NULL, $
         break;
     }
     $match = [];
-    // Get comment ID
+    // Get comment ID.
     preg_match('/#comment-([0-9]+)/', $this->getURL(), $match);
 
     // Get comment.
diff --git a/core/modules/comment/tests/src/Functional/CommentThreadingTest.php b/core/modules/comment/tests/src/Functional/CommentThreadingTest.php
index cff22ba22c..ec02df245f 100644
--- a/core/modules/comment/tests/src/Functional/CommentThreadingTest.php
+++ b/core/modules/comment/tests/src/Functional/CommentThreadingTest.php
@@ -134,7 +134,7 @@ protected function assertParentLink($cid, $pid) {
     //   <p class="parent">
     //     <a href="...comment-1"></a>
     //   </p>
-    //  </article>
+    //  </article>.
     $pattern = "//a[@id='comment-$cid']/following-sibling::article//p[contains(@class, 'parent')]//a[contains(@href, 'comment-$pid')]";
 
     $this->assertFieldByXpath($pattern, NULL, format_string(
@@ -157,7 +157,7 @@ protected function assertNoParentLink($cid) {
     // <a id="comment-2"></a>
     // <article>
     //   <p class="parent"></p>
-    //  </article>
+    //  </article>.
 
     $pattern = "//a[@id='comment-$cid']/following-sibling::article//p[contains(@class, 'parent')]";
     $this->assertNoFieldByXpath($pattern, NULL, format_string(
diff --git a/core/modules/comment/tests/src/Functional/Views/DefaultViewRecentCommentsTest.php b/core/modules/comment/tests/src/Functional/Views/DefaultViewRecentCommentsTest.php
index 5cb9680514..9693f4e133 100644
--- a/core/modules/comment/tests/src/Functional/Views/DefaultViewRecentCommentsTest.php
+++ b/core/modules/comment/tests/src/Functional/Views/DefaultViewRecentCommentsTest.php
@@ -62,7 +62,7 @@ class DefaultViewRecentCommentsTest extends ViewTestBase {
   protected function setUp($import_test_views = TRUE) {
     parent::setUp($import_test_views);
 
-    // Create a new content type
+    // Create a new content type.
     $content_type = $this->drupalCreateContentType();
 
     // Add a node of the new content type.
diff --git a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php
index f7e10d0ec8..5943d72dff 100644
--- a/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php
+++ b/core/modules/comment/tests/src/Kernel/Migrate/d7/MigrateCommentFieldInstanceTest.php
@@ -67,7 +67,7 @@ protected function assertEntity($id, $field_name, $bundle, $default_mode, $per_p
     // This assertion fails because 1 !== TRUE. It's extremely strange that
     // the form_location setting is returning a boolean, but this appears to
     // be a problem with the entity, not with the migration.
-    // $this->asserIdentical($form_location, $entity->getSetting('form_location'));
+    // $this->asserIdentical($form_location, $entity->getSetting('form_location')).
     $this->assertEqual($preview, $entity->getSetting('preview'));
   }
 
diff --git a/core/modules/config/src/Tests/ConfigImportUITest.php b/core/modules/config/src/Tests/ConfigImportUITest.php
index 772dadadd2..5f049f7f2a 100644
--- a/core/modules/config/src/Tests/ConfigImportUITest.php
+++ b/core/modules/config/src/Tests/ConfigImportUITest.php
@@ -311,7 +311,7 @@ public function testImportDiff() {
     $result = $this->xpath('//table[contains(@class, :class)]', [':class' => 'diff']);
     $this->assertEqual(count($result), 1, "Diff UI is displaying colors.");
 
-    // Reset data back to original, and remove a key
+    // Reset data back to original, and remove a key.
     $sync_data = $original_data;
     unset($sync_data[$remove_key]);
     $sync->write($config_name, $sync_data);
@@ -324,7 +324,7 @@ public function testImportDiff() {
     // Removed key is escaped.
     $this->assertText(Html::escape("404: '<em>herp</em>'"));
 
-    // Reset data back to original and add a key
+    // Reset data back to original and add a key.
     $sync_data = $original_data;
     $sync_data[$add_key] = $add_data;
     $sync->write($config_name, $sync_data);
diff --git a/core/modules/config/tests/src/Functional/ConfigDraggableListBuilderTest.php b/core/modules/config/tests/src/Functional/ConfigDraggableListBuilderTest.php
index 74829359a1..b3caa0fc27 100644
--- a/core/modules/config/tests/src/Functional/ConfigDraggableListBuilderTest.php
+++ b/core/modules/config/tests/src/Functional/ConfigDraggableListBuilderTest.php
@@ -32,7 +32,7 @@ public function testDraggableList() {
       $role->save();
     }
 
-    // Navigate to Roles page
+    // Navigate to Roles page.
     $this->drupalGet('admin/people/roles');
 
     // Test for the page title.
diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
index 0a867e57d9..cbe23966d1 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
@@ -648,7 +648,7 @@ public function testPluralConfigStringsSourceElements() {
     ];
 
     foreach ($languages as $langcode => $data) {
-      // Import a .po file to add a new language with a given number of plural forms
+      // Import a .po file to add a new language with a given number of plural forms.
       $name = \Drupal::service('file_system')->tempnam('temporary://', $langcode . '_') . '.po';
       file_put_contents($name, $this->getPoFile($data['plurals']));
       $this->drupalPostForm('admin/config/regional/translate/import', [
@@ -858,7 +858,7 @@ public function testLocaleDBStorage() {
   public function testSingleLanguageUI() {
     $this->drupalLogin($this->adminUser);
 
-    // Delete French language
+    // Delete French language.
     $this->drupalPostForm('admin/config/regional/language/delete/fr', [], t('Delete'));
     $this->assertRaw(t('The %language (%langcode) language has been removed.', ['%language' => 'French', '%langcode' => 'fr']));
 
@@ -869,7 +869,7 @@ public function testSingleLanguageUI() {
     $this->drupalPostForm('admin/config/regional/language', $edit, t('Save configuration'));
     $this->assertRaw(t('Configuration saved.'));
 
-    // Delete English language
+    // Delete English language.
     $this->drupalPostForm('admin/config/regional/language/delete/en', [], t('Delete'));
     $this->assertRaw(t('The %language (%langcode) language has been removed.', ['%language' => 'English', '%langcode' => 'en']));
 
diff --git a/core/modules/config_translation/tests/src/Functional/ConfigTranslationListUiTest.php b/core/modules/config_translation/tests/src/Functional/ConfigTranslationListUiTest.php
index 586d197579..07d2a0144f 100644
--- a/core/modules/config_translation/tests/src/Functional/ConfigTranslationListUiTest.php
+++ b/core/modules/config_translation/tests/src/Functional/ConfigTranslationListUiTest.php
@@ -489,7 +489,7 @@ public function testTranslateOperationInListUi() {
     $this->doDateFormatListTest();
     $this->doFieldListTest();
 
-    // Views is tested in Drupal\config_translation\Tests\ConfigTranslationViewListUiTest
+    // Views is tested in Drupal\config_translation\Tests\ConfigTranslationViewListUiTest.
 
     // Test the maintenance settings page.
     $this->doSettingsPageTest('admin/config/development/maintenance');
diff --git a/core/modules/contact/tests/src/Functional/ContactSitewideTest.php b/core/modules/contact/tests/src/Functional/ContactSitewideTest.php
index 178a3ad01d..db650809da 100644
--- a/core/modules/contact/tests/src/Functional/ContactSitewideTest.php
+++ b/core/modules/contact/tests/src/Functional/ContactSitewideTest.php
@@ -54,7 +54,7 @@ public function testSiteWideContact() {
     // Ensure that there is no textfield for email.
     $this->assertFalse($this->xpath('//input[@name=:name]', [':name' => 'mail']));
 
-    // Logout and retrieve the page as an anonymous user
+    // Logout and retrieve the page as an anonymous user.
     $this->drupalLogout();
     user_role_grant_permissions('anonymous', ['access site-wide contact form']);
     $this->drupalGet('contact');
diff --git a/core/modules/datetime/src/Tests/DateTestBase.php b/core/modules/datetime/src/Tests/DateTestBase.php
index ca43b8d546..01f24841f9 100644
--- a/core/modules/datetime/src/Tests/DateTestBase.php
+++ b/core/modules/datetime/src/Tests/DateTestBase.php
@@ -64,7 +64,7 @@
   protected static $timezones = [
     // UTC-12, no DST.
     'Pacific/Kwajalein',
-    // UTC-11, no DST
+    // UTC-11, no DST.
     'Pacific/Midway',
     // UTC-7, no DST.
     'America/Phoenix',
@@ -72,7 +72,7 @@
     'UTC',
     // UTC+5:30, no DST.
     'Asia/Kolkata',
-    // UTC+12, no DST
+    // UTC+12, no DST.
     'Pacific/Funafuti',
     // UTC+13, no DST.
     'Pacific/Tongatapu',
diff --git a/core/modules/datetime/tests/src/Functional/DateTestBase.php b/core/modules/datetime/tests/src/Functional/DateTestBase.php
index 21bad50ba0..b614e7c859 100644
--- a/core/modules/datetime/tests/src/Functional/DateTestBase.php
+++ b/core/modules/datetime/tests/src/Functional/DateTestBase.php
@@ -59,7 +59,7 @@
   protected static $timezones = [
     // UTC-12, no DST.
     'Pacific/Kwajalein',
-    // UTC-11, no DST
+    // UTC-11, no DST.
     'Pacific/Midway',
     // UTC-7, no DST.
     'America/Phoenix',
@@ -67,7 +67,7 @@
     'UTC',
     // UTC+5:30, no DST.
     'Asia/Kolkata',
-    // UTC+12, no DST
+    // UTC+12, no DST.
     'Pacific/Funafuti',
     // UTC+13, no DST.
     'Pacific/Tongatapu',
diff --git a/core/modules/datetime/tests/src/Functional/DateTimeFieldTest.php b/core/modules/datetime/tests/src/Functional/DateTimeFieldTest.php
index 6d0b6a2909..7fb559ccd0 100644
--- a/core/modules/datetime/tests/src/Functional/DateTimeFieldTest.php
+++ b/core/modules/datetime/tests/src/Functional/DateTimeFieldTest.php
@@ -397,11 +397,11 @@ public function testDatelistWidget() {
     $this->assertFieldByXPath('//fieldset[@aria-describedby="edit-' . $field_name . '-0--description"]', NULL, 'ARIA described-by found');
     $this->assertFieldByXPath('//div[@id="edit-' . $field_name . '-0--description"]', NULL, 'ARIA description found');
 
-    // Assert that Hour and Minute Elements do not appear on Date Only
+    // Assert that Hour and Minute Elements do not appear on Date Only.
     $this->assertNoFieldByXPath("//*[@id=\"edit-$field_name-0-value-hour\"]", NULL, 'Hour element not found on Date Only.');
     $this->assertNoFieldByXPath("//*[@id=\"edit-$field_name-0-value-minute\"]", NULL, 'Minute element not found on Date Only.');
 
-    // Go to the form display page to assert that increment option does not appear on Date Only
+    // Go to the form display page to assert that increment option does not appear on Date Only.
     $fieldEditUrl = 'entity_test/structure/entity_test/form-display';
     $this->drupalGet($fieldEditUrl);
 
@@ -427,7 +427,7 @@ public function testDatelistWidget() {
       ->save();
     \Drupal::entityManager()->clearCachedFieldDefinitions();
 
-    // Go to the form display page to assert that increment option does appear on Date Time
+    // Go to the form display page to assert that increment option does appear on Date Time.
     $fieldEditUrl = 'entity_test/structure/entity_test/form-display';
     $this->drupalGet($fieldEditUrl);
 
diff --git a/core/modules/datetime_range/tests/src/Functional/DateRangeFieldTest.php b/core/modules/datetime_range/tests/src/Functional/DateRangeFieldTest.php
index 199a67b595..8f02d861d2 100644
--- a/core/modules/datetime_range/tests/src/Functional/DateRangeFieldTest.php
+++ b/core/modules/datetime_range/tests/src/Functional/DateRangeFieldTest.php
@@ -193,7 +193,7 @@ public function testDateRangeField() {
         '%timezone' => $timezone,
       ]));
 
-      // Test formatters when start date and end date are the same
+      // Test formatters when start date and end date are the same.
       $this->drupalGet('entity_test/add');
       $value = '2012-12-31 00:00:00';
       $start_date = new DrupalDateTime($value, 'UTC');
@@ -377,7 +377,7 @@ public function testDatetimeRangeField() {
     $output = $this->renderTestEntity($id);
     $this->assertContains($expected, $output, new FormattableMarkup('Formatted date field using daterange_custom format displayed as %expected.', ['%expected' => $expected]));
 
-    // Test formatters when start date and end date are the same
+    // Test formatters when start date and end date are the same.
     $this->drupalGet('entity_test/add');
     $value = '2012-12-31 00:00:00';
     $start_date = new DrupalDateTime($value, 'UTC');
@@ -545,7 +545,7 @@ public function testAlldayRangeField() {
     $output = $this->renderTestEntity($id);
     $this->assertContains($expected, $output, new FormattableMarkup('Formatted date field using daterange_custom format displayed as %expected.', ['%expected' => $expected]));
 
-    // Test formatters when start date and end date are the same
+    // Test formatters when start date and end date are the same.
     $this->drupalGet('entity_test/add');
 
     $value = '2012-12-31 00:00:00';
diff --git a/core/modules/dblog/tests/src/Functional/DbLogTest.php b/core/modules/dblog/tests/src/Functional/DbLogTest.php
index 5b82282d6a..0d6d1dac35 100644
--- a/core/modules/dblog/tests/src/Functional/DbLogTest.php
+++ b/core/modules/dblog/tests/src/Functional/DbLogTest.php
@@ -208,7 +208,7 @@ private function runCron() {
   private function generateLogEntries($count, $options = []) {
     global $base_root;
 
-    // Prepare the fields to be logged
+    // Prepare the fields to be logged.
     $log = $options + [
       'channel'     => 'custom',
       'message'     => 'Dblog test log message',
diff --git a/core/modules/editor/src/Tests/EditorSecurityTest.php b/core/modules/editor/src/Tests/EditorSecurityTest.php
index d00fe0e684..0e25b410ae 100644
--- a/core/modules/editor/src/Tests/EditorSecurityTest.php
+++ b/core/modules/editor/src/Tests/EditorSecurityTest.php
@@ -171,7 +171,7 @@ protected function setUp() {
     //   - "trusted": restricted_plus_dangerous_tag_with_editor
     //   - "privileged": restricted_without_editor, restricted_with_editor,
     //     restricted_plus_dangerous_tag_with_editor,
-    //     unrestricted_without_editor and unrestricted_with_editor
+    //     unrestricted_without_editor and unrestricted_with_editor.
     $this->untrustedUser = $this->drupalCreateUser([
       'create article content',
       'edit any article content',
@@ -383,7 +383,7 @@ public function testSwitchingSecurity() {
 
     // Log in as the privileged user, and for every sample, do the following:
     //  - switch to every other text format/editor
-    //  - assert the XSS-filtered values that we get from the server
+    //  - assert the XSS-filtered values that we get from the server.
     $this->drupalLogin($this->privilegedUser);
     foreach ($expected as $case) {
       $this->drupalGet('node/' . $case['node_id'] . '/edit');
diff --git a/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php b/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
index 276f559225..dd90e809c3 100644
--- a/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
+++ b/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
@@ -154,7 +154,7 @@ public function testEditorSelection() {
     $entity->save();
     $this->assertEqual('editor', $this->getSelectedEditor($entity->id(), $this->fieldName), "With cardinality 1, and the full_html text format, the 'editor' editor is selected.");
 
-    // Editor selection with text processing, cardinality >1
+    // Editor selection with text processing, cardinality >1.
     $this->fields->field_textarea_field_storage->setCardinality(2);
     $this->fields->field_textarea_field_storage->save();
     $this->assertEqual('form', $this->getSelectedEditor($entity->id(), $this->fieldName), "With cardinality >1, and both items using the full_html text format, the 'form' editor is selected.");
diff --git a/core/modules/editor/tests/src/Unit/EditorXssFilter/StandardTest.php b/core/modules/editor/tests/src/Unit/EditorXssFilter/StandardTest.php
index 35820a093b..bf1ac7c6cd 100644
--- a/core/modules/editor/tests/src/Unit/EditorXssFilter/StandardTest.php
+++ b/core/modules/editor/tests/src/Unit/EditorXssFilter/StandardTest.php
@@ -402,7 +402,7 @@ public function providerTestFilterXss() {
     // @see https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#META_using_data
     $data[] = ['<META HTTP-EQUIV="refresh" CONTENT="0;url=data:text/html base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K">', '<META http-equiv="refresh" content="text/html base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K">'];
 
-    // META with additional URL parameter
+    // META with additional URL parameter.
     // @see https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#META
     $data[] = ['<META HTTP-EQUIV="refresh" CONTENT="0; URL=http://;URL=javascript:alert(\'XSS\');">', '<META http-equiv="refresh" content="//;URL=javascript:alert(&#039;XSS&#039;);">'];
 
diff --git a/core/modules/field/src/Plugin/migrate/source/d7/FieldInstance.php b/core/modules/field/src/Plugin/migrate/source/d7/FieldInstance.php
index a54b17d9d1..184ff29fcb 100644
--- a/core/modules/field/src/Plugin/migrate/source/d7/FieldInstance.php
+++ b/core/modules/field/src/Plugin/migrate/source/d7/FieldInstance.php
@@ -106,7 +106,7 @@ public function prepareRow(Row $row) {
       //   - 0: no language support
       //   - 1: language assignment support
       //   - 2: node translation support
-      //   - 4: entity translation support
+      //   - 4: entity translation support.
       if ($this->variableGet('language_content_type_' . $row->getSourceProperty('bundle'), 0) == 2) {
         $translatable = TRUE;
       }
diff --git a/core/modules/field/src/Tests/EntityReference/EntityReferenceAdminTest.php b/core/modules/field/src/Tests/EntityReference/EntityReferenceAdminTest.php
index fa68cb6150..31860bba0c 100644
--- a/core/modules/field/src/Tests/EntityReference/EntityReferenceAdminTest.php
+++ b/core/modules/field/src/Tests/EntityReference/EntityReferenceAdminTest.php
@@ -539,7 +539,7 @@ protected function getAllOptionsList(\SimpleXMLElement $element) {
       $options[] = (string) $option['value'];
     }
 
-    // Loops trough all the option groups
+    // Loops trough all the option groups.
     foreach ($element->optgroup as $optgroup) {
       $options = array_merge($this->getAllOptionsList($optgroup), $options);
     }
diff --git a/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php b/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php
index e35308603f..b29c2b35ad 100644
--- a/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php
+++ b/core/modules/field/src/Tests/FieldImportDeleteUninstallUiTest.php
@@ -86,7 +86,7 @@ public function testImportDeleteUninstall() {
     unset($core_extension['module']['telephone']);
     $sync->write('core.extension', $core_extension);
 
-    // Stage the field deletion
+    // Stage the field deletion.
     $sync->delete('field.storage.entity_test.field_tel');
     $sync->delete('field.field.entity_test.entity_test.field_tel');
     $this->drupalGet('admin/config/development/configuration');
diff --git a/core/modules/field/src/Tests/FormTest.php b/core/modules/field/src/Tests/FormTest.php
index ff1b3ee67b..76a8ac60e1 100644
--- a/core/modules/field/src/Tests/FormTest.php
+++ b/core/modules/field/src/Tests/FormTest.php
@@ -122,7 +122,7 @@ public function testFieldFormSingle() {
     $this->assertRaw(t('%name does not accept the value -1.', ['%name' => $this->field['label']]), 'Field validation fails with invalid input.');
     // TODO : check that the correct field is flagged for error.
 
-    // Create an entity
+    // Create an entity.
     $value = mt_rand(1, 127);
     $edit = [
       "{$field_name}[0][value]" => $value,
@@ -210,7 +210,7 @@ public function testFieldFormSingleRequired() {
     $this->drupalPostForm('entity_test/add', $edit, t('Save'));
     $this->assertRaw(t('@name field is required.', ['@name' => $this->field['label']]), 'Required field with no value fails validation');
 
-    // Create an entity
+    // Create an entity.
     $value = mt_rand(1, 127);
     $edit = [
       "{$field_name}[0][value]" => $value,
@@ -282,7 +282,7 @@ public function testFieldFormUnlimited() {
       $pattern[$weight] = "<input [^>]*value=\"$value\" [^>]*";
     }
 
-    // Press 'add more' button -> 4 widgets
+    // Press 'add more' button -> 4 widgets.
     $this->drupalPostForm(NULL, $edit, t('Add another item'));
     for ($delta = 0; $delta <= $delta_range; $delta++) {
       $this->assertFieldByName("{$field_name}[$delta][value]", $values[$delta], "Widget $delta is displayed and has the right value");
@@ -311,7 +311,7 @@ public function testFieldFormUnlimited() {
     // Submit: check that the entity is updated with correct values
     // Re-submit: check that the field can be emptied.
 
-    // Test with several multiple fields in a form
+    // Test with several multiple fields in a form.
   }
 
   /**
diff --git a/core/modules/field/src/Tests/NestedFormTest.php b/core/modules/field/src/Tests/NestedFormTest.php
index e9b5f05409..00dc510df7 100644
--- a/core/modules/field/src/Tests/NestedFormTest.php
+++ b/core/modules/field/src/Tests/NestedFormTest.php
@@ -53,7 +53,7 @@ protected function setUp() {
    * Tests Field API form integration within a subform.
    */
   public function testNestedFieldForm() {
-    // Add two fields on the 'entity_test'
+    // Add two fields on the 'entity_test'.
     FieldStorageConfig::create($this->fieldStorageSingle)->save();
     FieldStorageConfig::create($this->fieldStorageUnlimited)->save();
     $this->field['field_name'] = 'field_single';
diff --git a/core/modules/field/src/Tests/Number/NumberFieldTest.php b/core/modules/field/src/Tests/Number/NumberFieldTest.php
index 64da6c1a00..e31ce30262 100644
--- a/core/modules/field/src/Tests/Number/NumberFieldTest.php
+++ b/core/modules/field/src/Tests/Number/NumberFieldTest.php
@@ -184,7 +184,7 @@ public function testNumberIntegerField() {
     $this->assertFieldByName("{$field_name}[0][value]", '', 'Widget is displayed');
     $this->assertRaw('placeholder="4"');
 
-    // Submit a valid integer
+    // Submit a valid integer.
     $value = rand($minimum, $maximum);
     $edit = [
       "{$field_name}[0][value]" => $value,
@@ -194,7 +194,7 @@ public function testNumberIntegerField() {
     $id = $match[1];
     $this->assertText(t('entity_test @id has been created.', ['@id' => $id]), 'Entity was created');
 
-    // Try to set a value below the minimum value
+    // Try to set a value below the minimum value.
     $this->drupalGet('entity_test/add');
     $edit = [
       "{$field_name}[0][value]" => $minimum - 1,
@@ -202,7 +202,7 @@ public function testNumberIntegerField() {
     $this->drupalPostForm(NULL, $edit, t('Save'));
     $this->assertRaw(t('%name must be higher than or equal to %minimum.', ['%name' => $field_name, '%minimum' => $minimum]), 'Correctly failed to save integer value less than minimum allowed value.');
 
-    // Try to set a decimal value
+    // Try to set a decimal value.
     $this->drupalGet('entity_test/add');
     $edit = [
       "{$field_name}[0][value]" => 1.5,
@@ -210,7 +210,7 @@ public function testNumberIntegerField() {
     $this->drupalPostForm(NULL, $edit, t('Save'));
     $this->assertRaw(t('%name is not a valid number.', ['%name' => $field_name]), 'Correctly failed to save decimal value to integer field.');
 
-    // Try to set a value above the maximum value
+    // Try to set a value above the maximum value.
     $this->drupalGet('entity_test/add');
     $edit = [
       "{$field_name}[0][value]" => $maximum + 1,
diff --git a/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php b/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php
index dfbb89bd20..e013dfe8da 100644
--- a/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php
+++ b/core/modules/field/src/Tests/Views/HandlerFieldFieldTest.php
@@ -209,7 +209,7 @@ public function _testMultipleFieldRender() {
     $view->style_plugin->getField(4, $this->fieldStorages[4]->getName());
     $view->destroy();
 
-    // Test delta limit + offset
+    // Test delta limit + offset.
     $this->prepareView($view);
     $view->displayHandlers->get('default')->options['fields'][$field_name]['group_rows'] = TRUE;
     $view->displayHandlers->get('default')->options['fields'][$field_name]['delta_limit'] = 3;
diff --git a/core/modules/field/tests/modules/field_test/field_test.module b/core/modules/field/tests/modules/field_test/field_test.module
index cc1f9fa905..dbd6dd79d9 100644
--- a/core/modules/field/tests/modules/field_test/field_test.module
+++ b/core/modules/field/tests/modules/field_test/field_test.module
@@ -143,7 +143,7 @@ function field_test_query_efq_metadata_test_alter(&$query) {
  * Implements hook_entity_extra_field_info_alter().
  */
 function field_test_entity_extra_field_info_alter(&$info) {
-  // Remove all extra fields from the 'no_fields' content type;
+  // Remove all extra fields from the 'no_fields' content type.
   unset($info['node']['no_fields']);
 }
 
diff --git a/core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceItemTest.php b/core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceItemTest.php
index 6dce67b45f..4d456c9b9a 100644
--- a/core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceItemTest.php
+++ b/core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceItemTest.php
@@ -172,7 +172,7 @@ public function testContentEntityReferenceItem() {
       $this->pass('Assigning an invalid item throws an exception.');
     }
 
-    // Delete terms so we have nothing to reference and try again
+    // Delete terms so we have nothing to reference and try again.
     $term->delete();
     $term2->delete();
     $entity = EntityTest::create(['name' => $this->randomMachineName()]);
@@ -250,7 +250,7 @@ public function testConfigEntityReferenceItem() {
     $this->assertEqual($entity->field_test_taxonomy_vocabulary->entity->id(), $vocabulary2->id());
     $this->assertEqual($entity->field_test_taxonomy_vocabulary->entity->label(), $vocabulary2->label());
 
-    // Delete terms so we have nothing to reference and try again
+    // Delete terms so we have nothing to reference and try again.
     $this->vocabulary->delete();
     $vocabulary2->delete();
     $entity = EntityTest::create(['name' => $this->randomMachineName()]);
diff --git a/core/modules/field/tests/src/Kernel/EntityReference/Views/EntityReferenceRelationshipTest.php b/core/modules/field/tests/src/Kernel/EntityReference/Views/EntityReferenceRelationshipTest.php
index 5f4c8ee46b..72696e83b4 100644
--- a/core/modules/field/tests/src/Kernel/EntityReference/Views/EntityReferenceRelationshipTest.php
+++ b/core/modules/field/tests/src/Kernel/EntityReference/Views/EntityReferenceRelationshipTest.php
@@ -272,7 +272,7 @@ public function testDataTableRelationshipWithLongFieldName() {
       $this->assertEqual($row->_entity->id(), $this->entities[$index]->id());
 
       // Test the forward relationship.
-      // $this->assertEqual($row->entity_test_entity_test_mul__field_data_test_id, 1);
+      // $this->assertEqual($row->entity_test_entity_test_mul__field_data_test_id, 1).
 
       // Test that the correct relationship entity is on the row.
       $this->assertEqual($row->_relationship_entities['field_test_data_with_a_long_name']->id(), 1);
diff --git a/core/modules/field/tests/src/Kernel/FieldAttachOtherTest.php b/core/modules/field/tests/src/Kernel/FieldAttachOtherTest.php
index 05fdfae386..10fe800350 100644
--- a/core/modules/field/tests/src/Kernel/FieldAttachOtherTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldAttachOtherTest.php
@@ -127,7 +127,7 @@ public function testEntityDisplayBuild() {
     }
 
     // TODO:
-    // - check display order with several fields
+    // - check display order with several fields.
   }
 
   /**
@@ -258,11 +258,11 @@ public function testEntityFormDisplayBuildForm() {
     $this->assertEqual($form[$this->fieldTestData->field_name]['widget']['#title'], $this->fieldTestData->field->getLabel(), "First field's form title is {$this->fieldTestData->field->getLabel()}");
     $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget']['#title'], $this->fieldTestData->field_2->getLabel(), "Second field's form title is {$this->fieldTestData->field_2->getLabel()}");
     for ($delta = 0; $delta < $this->fieldTestData->field_storage->getCardinality(); $delta++) {
-      // field_test_widget uses 'textfield'
+      // field_test_widget uses 'textfield'.
       $this->assertEqual($form[$this->fieldTestData->field_name]['widget'][$delta]['value']['#type'], 'textfield', "First field's form delta $delta widget is textfield");
     }
     for ($delta = 0; $delta < $this->fieldTestData->field_storage_2->getCardinality(); $delta++) {
-      // field_test_widget uses 'textfield'
+      // field_test_widget uses 'textfield'.
       $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget'][$delta]['value']['#type'], 'textfield', "Second field's form delta $delta widget is textfield");
     }
 
@@ -280,7 +280,7 @@ public function testEntityFormDisplayBuildForm() {
     $this->assertFalse(isset($form[$this->fieldTestData->field_name]), 'The first field does not exist in the form');
     $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget']['#title'], $this->fieldTestData->field_2->getLabel(), "Second field's form title is {$this->fieldTestData->field_2->getLabel()}");
     for ($delta = 0; $delta < $this->fieldTestData->field_storage_2->getCardinality(); $delta++) {
-      // field_test_widget uses 'textfield'
+      // field_test_widget uses 'textfield'.
       $this->assertEqual($form[$this->fieldTestData->field_name_2]['widget'][$delta]['value']['#type'], 'textfield', "Second field's form delta $delta widget is textfield");
     }
   }
diff --git a/core/modules/field/tests/src/Kernel/FieldAttachStorageTest.php b/core/modules/field/tests/src/Kernel/FieldAttachStorageTest.php
index 03ed8cda90..01d9fa0e88 100644
--- a/core/modules/field/tests/src/Kernel/FieldAttachStorageTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldAttachStorageTest.php
@@ -234,25 +234,25 @@ public function testFieldAttachDelete() {
       ->create(['type' => $this->fieldTestData->field->getTargetBundle()]);
     $vids = [];
 
-    // Create revision 0
+    // Create revision 0.
     $values = $this->_generateTestFieldValues($cardinality);
     $entity->{$this->fieldTestData->field_name} = $values;
     $entity->save();
     $vids[] = $entity->getRevisionId();
 
-    // Create revision 1
+    // Create revision 1.
     $entity->setNewRevision();
     $entity->save();
     $vids[] = $entity->getRevisionId();
 
-    // Create revision 2
+    // Create revision 2.
     $entity->setNewRevision();
     $entity->save();
     $vids[] = $entity->getRevisionId();
     $controller = $this->container->get('entity.manager')->getStorage($entity->getEntityTypeId());
     $controller->resetCache();
 
-    // Confirm each revision loads
+    // Confirm each revision loads.
     foreach ($vids as $vid) {
       $revision = $controller->loadRevision($vid);
       $this->assertEqual(count($revision->{$this->fieldTestData->field_name}), $cardinality, "The test entity revision $vid has $cardinality values.");
@@ -267,12 +267,12 @@ public function testFieldAttachDelete() {
       $this->assertEqual(count($revision->{$this->fieldTestData->field_name}), $cardinality, "The test entity revision $vid has $cardinality values.");
     }
 
-    // Confirm the current revision still loads
+    // Confirm the current revision still loads.
     $controller->resetCache();
     $current = $controller->load($entity->id());
     $this->assertEqual(count($current->{$this->fieldTestData->field_name}), $cardinality, "The test entity current revision has $cardinality values.");
 
-    // Delete all field data, confirm nothing loads
+    // Delete all field data, confirm nothing loads.
     $entity->delete();
     $controller->resetCache();
     foreach ([0, 1, 2] as $vid) {
@@ -325,7 +325,7 @@ public function testEntityDeleteBundle() {
     $this->fieldTestData->field_definition['bundle'] = $new_bundle;
     FieldConfig::create($this->fieldTestData->field_definition)->save();
 
-    // Create a second field for the test bundle
+    // Create a second field for the test bundle.
     $field_name = Unicode::strtolower($this->randomMachineName() . '_field_name');
     $field_storage = [
       'field_name' => $field_name,
@@ -344,7 +344,7 @@ public function testEntityDeleteBundle() {
     ];
     FieldConfig::create($field)->save();
 
-    // Save an entity with data for both fields
+    // Save an entity with data for both fields.
     $entity = $this->container->get('entity_type.manager')
       ->getStorage($entity_type)
       ->create(['type' => $this->fieldTestData->field->getTargetBundle()]);
@@ -353,14 +353,14 @@ public function testEntityDeleteBundle() {
     $entity->{$field_name} = $this->_generateTestFieldValues(1);
     $entity = $this->entitySaveReload($entity);
 
-    // Verify the fields are present on load
+    // Verify the fields are present on load.
     $this->assertEqual(count($entity->{$this->fieldTestData->field_name}), 4, 'First field got loaded');
     $this->assertEqual(count($entity->{$field_name}), 1, 'Second field got loaded');
 
     // Delete the bundle.
     entity_test_delete_bundle($this->fieldTestData->field->getTargetBundle(), $entity_type);
 
-    // Verify no data gets loaded
+    // Verify no data gets loaded.
     $controller = $this->container->get('entity.manager')->getStorage($entity->getEntityTypeId());
     $controller->resetCache();
     $entity = $controller->load($entity->id());
diff --git a/core/modules/field/tests/src/Kernel/FieldCrudTest.php b/core/modules/field/tests/src/Kernel/FieldCrudTest.php
index 6407be7520..475334e193 100644
--- a/core/modules/field/tests/src/Kernel/FieldCrudTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldCrudTest.php
@@ -60,7 +60,7 @@ public function setUp() {
   // - a full fledged $field structure, check that all the values are there
   // - a minimal $field structure, check all default values are set
   // defer actual $field comparison to a helper function, used for the two cases above,
-  // and for testUpdateField
+  // and for testUpdateField.
 
   /**
    * Test the creation of a field.
diff --git a/core/modules/field/tests/src/Kernel/FieldImportDeleteTest.php b/core/modules/field/tests/src/Kernel/FieldImportDeleteTest.php
index f3408a52a0..c14a63569e 100644
--- a/core/modules/field/tests/src/Kernel/FieldImportDeleteTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldImportDeleteTest.php
@@ -36,7 +36,7 @@ public function testImportDelete() {
     // - field.storage.entity_test.field_test_import_2
     // - field.field.entity_test.entity_test.field_test_import
     // - field.field.entity_test.entity_test.field_test_import_2
-    // - field.field.entity_test.test_bundle.field_test_import_2
+    // - field.field.entity_test.test_bundle.field_test_import_2.
 
     $field_name = 'field_test_import';
     $field_storage_id = "entity_test.$field_name";
diff --git a/core/modules/field/tests/src/Kernel/FieldImportDeleteUninstallTest.php b/core/modules/field/tests/src/Kernel/FieldImportDeleteUninstallTest.php
index c3a4d3c1d5..f273f8b865 100644
--- a/core/modules/field/tests/src/Kernel/FieldImportDeleteUninstallTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldImportDeleteUninstallTest.php
@@ -88,7 +88,7 @@ public function testImportDeleteUninstall() {
     unset($core_extension['module']['telephone']);
     $sync->write('core.extension', $core_extension);
 
-    // Stage the field deletion
+    // Stage the field deletion.
     $sync->delete('field.storage.entity_test.field_test');
     $sync->delete('field.field.entity_test.entity_test.field_test');
 
diff --git a/core/modules/field/tests/src/Kernel/FieldStorageCrudTest.php b/core/modules/field/tests/src/Kernel/FieldStorageCrudTest.php
index dfc50f21aa..4ca5520d65 100644
--- a/core/modules/field/tests/src/Kernel/FieldStorageCrudTest.php
+++ b/core/modules/field/tests/src/Kernel/FieldStorageCrudTest.php
@@ -26,7 +26,7 @@ class FieldStorageCrudTest extends FieldKernelTestBase {
   // TODO : test creation with
   // - a full fledged $field structure, check that all the values are there
   // - a minimal $field structure, check all default values are set
-  // defer actual $field comparison to a helper function, used for the two cases above
+  // defer actual $field comparison to a helper function, used for the two cases above.
 
   /**
    * Test the creation of a field storage.
@@ -350,13 +350,13 @@ public function testDeleteNoData() {
     $field = FieldConfig::load('entity_test.' . $field_definition['bundle'] . '.' . $field_definition['field_name'] );
     $this->assertTrue(!empty($field) && !$field->isDeleted(), 'A new field for a previously used field name is created.');
 
-    // Save an entity with data for the field
+    // Save an entity with data for the field.
     $entity = EntityTest::create();
     $values[0]['value'] = mt_rand(1, 127);
     $entity->{$field_storage->getName()}->value = $values[0]['value'];
     $entity = $this->entitySaveReload($entity);
 
-    // Verify the field is present on load
+    // Verify the field is present on load.
     $this->assertIdentical(count($entity->{$field_storage->getName()}), count($values), "Data in previously deleted field saves and loads correctly");
     foreach ($values as $delta => $value) {
       $this->assertEqual($entity->{$field_storage->getName()}[$delta]->value, $values[$delta]['value'], "Data in previously deleted field saves and loads correctly");
diff --git a/core/modules/field/tests/src/Kernel/Timestamp/TimestampFormatterTest.php b/core/modules/field/tests/src/Kernel/Timestamp/TimestampFormatterTest.php
index f71be314ab..89f60dd99b 100644
--- a/core/modules/field/tests/src/Kernel/Timestamp/TimestampFormatterTest.php
+++ b/core/modules/field/tests/src/Kernel/Timestamp/TimestampFormatterTest.php
@@ -154,7 +154,7 @@ public function testTimestampAgoFormatter() {
       $granularity = $settings['granularity'];
       $request_time = \Drupal::requestStack()->getCurrentRequest()->server->get('REQUEST_TIME');
 
-      // Test a timestamp in the past
+      // Test a timestamp in the past.
       $value = $request_time - 87654321;
       $expected = SafeMarkup::format($past_format, ['@interval' => \Drupal::service('date.formatter')->formatTimeDiffSince($value, ['granularity' => $granularity])]);
 
@@ -169,7 +169,7 @@ public function testTimestampAgoFormatter() {
       $this->renderEntityFields($entity, $this->display);
       $this->assertRaw($expected);
 
-      // Test a timestamp in the future
+      // Test a timestamp in the future.
       $value = $request_time + 87654321;
       $expected = SafeMarkup::format($future_format, ['@interval' => \Drupal::service('date.formatter')->formatTimeDiffUntil($value, ['granularity' => $granularity])]);
 
diff --git a/core/modules/field_ui/src/Tests/FieldUIDeleteTest.php b/core/modules/field_ui/src/Tests/FieldUIDeleteTest.php
index 631d3368d0..303d55018e 100644
--- a/core/modules/field_ui/src/Tests/FieldUIDeleteTest.php
+++ b/core/modules/field_ui/src/Tests/FieldUIDeleteTest.php
@@ -94,7 +94,7 @@ public function testDeleteField() {
 
     // Check that the field was deleted.
     $this->assertNull(FieldConfig::loadByName('node', $type_name1, $field_name), 'Field was deleted.');
-    // Check that the field storage was not deleted
+    // Check that the field storage was not deleted.
     $this->assertNotNull(FieldStorageConfig::loadByName('node', $field_name), 'Field storage was not deleted.');
 
     // Check the config dependencies of the first field.
diff --git a/core/modules/field_ui/src/Tests/ManageDisplayTest.php b/core/modules/field_ui/src/Tests/ManageDisplayTest.php
index 7ba011e08e..cae3c56b20 100644
--- a/core/modules/field_ui/src/Tests/ManageDisplayTest.php
+++ b/core/modules/field_ui/src/Tests/ManageDisplayTest.php
@@ -191,7 +191,7 @@ public function testFormatterUI() {
     $this->drupalPostAjaxForm(NULL, $edit, ['op' => t('Refresh')]);
     $this->assertFieldByName('field_test_settings_edit');
 
-    // Make sure we can save the third party settings when there are no settings available
+    // Make sure we can save the third party settings when there are no settings available.
     $this->drupalPostAjaxForm(NULL, [], "field_test_settings_edit");
     $this->drupalPostAjaxForm(NULL, $edit, "field_test_plugin_settings_update");
 
@@ -575,7 +575,7 @@ protected function getAllOptionsList(\SimpleXMLElement $element) {
       $options[] = (string) $option['value'];
     }
 
-    // Loops trough all the option groups
+    // Loops trough all the option groups.
     foreach ($element->optgroup as $optgroup) {
       $options = array_merge($this->getAllOptionsList($optgroup), $options);
     }
diff --git a/core/modules/field_ui/src/Tests/ManageFieldsTest.php b/core/modules/field_ui/src/Tests/ManageFieldsTest.php
index d08ab03ba4..84a6c5537f 100644
--- a/core/modules/field_ui/src/Tests/ManageFieldsTest.php
+++ b/core/modules/field_ui/src/Tests/ManageFieldsTest.php
@@ -440,7 +440,7 @@ public function testDefaultValue() {
     $field = FieldConfig::loadByName('node', $this->contentType, $field_name);
     $this->assertEqual($field->getDefaultValueLiteral(), [['value' => 1]], 'The default value was correctly saved.');
 
-    // Check that the default value shows up in the form
+    // Check that the default value shows up in the form.
     $this->drupalGet($admin_path);
     $this->assertFieldById($element_id, '1', 'The default value widget was displayed with the correct value.');
 
@@ -498,7 +498,7 @@ public function testDeleteField() {
 
     // Check that the field was deleted.
     $this->assertNull(FieldConfig::loadByName('node', $this->contentType, $this->fieldName), 'Field was deleted.');
-    // Check that the field storage was not deleted
+    // Check that the field storage was not deleted.
     $this->assertNotNull(FieldStorageConfig::loadByName('node', $this->fieldName), 'Field storage was not deleted.');
 
     // Delete the second field.
@@ -678,7 +678,7 @@ public function testDeleteTaxonomyField() {
    * Tests that help descriptions render valid HTML.
    */
   public function testHelpDescriptions() {
-    // Create an image field
+    // Create an image field.
     FieldStorageConfig::create([
       'field_name' => 'field_image',
       'entity_type' => 'node',
diff --git a/core/modules/file/file.module b/core/modules/file/file.module
index 845cc5d623..e4b8b2e390 100644
--- a/core/modules/file/file.module
+++ b/core/modules/file/file.module
@@ -763,7 +763,7 @@ function file_save_upload($form_field_name, $validators = [], $destination = FAL
           break;
         }
 
-        // Unknown error
+        // Unknown error.
       default:
         drupal_set_message(t('The file %file could not be saved. An unknown error has occurred.', ['%file' => $file_info->getFilename()]), 'error');
         $files[$i] = FALSE;
@@ -979,7 +979,7 @@ function file_tokens($type, $tokens, array $data, array $options, BubbleableMeta
           $replacements[$original] = $file->id();
           break;
 
-        // Essential file data
+        // Essential file data.
         case 'name':
           $replacements[$original] = $file->getFilename();
           break;
@@ -1443,7 +1443,7 @@ function file_icon_map($mime_type) {
     case 'application/x-pef-executable':
       return 'application-x-executable';
 
-    // Acrobat types
+    // Acrobat types.
     case 'application/pdf':
     case 'application/x-pdf':
     case 'applications/vnd.pdf':
diff --git a/core/modules/file/src/Plugin/migrate/source/d7/File.php b/core/modules/file/src/Plugin/migrate/source/d7/File.php
index 5e88151229..55856712d9 100644
--- a/core/modules/file/src/Plugin/migrate/source/d7/File.php
+++ b/core/modules/file/src/Plugin/migrate/source/d7/File.php
@@ -54,7 +54,7 @@ public function query() {
       }
       $schemes = array_map([$this->getDatabase(), 'escapeLike'], $schemes);
 
-      // uri LIKE 'public://%' OR uri LIKE 'private://%'
+      // uri LIKE 'public://%' OR uri LIKE 'private://%'.
       $conditions = new Condition('OR');
       foreach ($schemes as $scheme) {
         $conditions->condition('uri', $scheme . '%', 'LIKE');
diff --git a/core/modules/file/src/Tests/FileFieldValidateTest.php b/core/modules/file/src/Tests/FileFieldValidateTest.php
index 422bf68282..389378a8aa 100644
--- a/core/modules/file/src/Tests/FileFieldValidateTest.php
+++ b/core/modules/file/src/Tests/FileFieldValidateTest.php
@@ -72,7 +72,7 @@ public function testFileMaxSize() {
     $this->createFileField($field_name, 'node', $type_name, [], ['required' => '1']);
 
     $small_file = $this->getTestFile('text', 131072); // 128KB.
-    $large_file = $this->getTestFile('text', 1310720); // 1.2MB
+    $large_file = $this->getTestFile('text', 1310720); // 1.2MB.
 
     // Test uploading both a large and small file with different increments.
     $sizes = [
diff --git a/core/modules/file/src/Tests/FileFieldWidgetTest.php b/core/modules/file/src/Tests/FileFieldWidgetTest.php
index ad47d77841..c747033079 100644
--- a/core/modules/file/src/Tests/FileFieldWidgetTest.php
+++ b/core/modules/file/src/Tests/FileFieldWidgetTest.php
@@ -483,7 +483,7 @@ public function testWidgetElement() {
     // If the field has at least a item, the table should be visible.
     $this->assertIdentical(count($elements), 1);
 
-    // Test for AJAX error when using progress bar on file field widget
+    // Test for AJAX error when using progress bar on file field widget.
     $key = $this->randomMachineName();
     $this->drupalPost('file/progress/' . $key, 'application/json', []);
     $this->assertNoResponse(500, t('No AJAX error when using progress bar on file field widget'));
diff --git a/core/modules/file/src/Tests/FileListingTest.php b/core/modules/file/src/Tests/FileListingTest.php
index cca21c5a4c..a7fb83942c 100644
--- a/core/modules/file/src/Tests/FileListingTest.php
+++ b/core/modules/file/src/Tests/FileListingTest.php
@@ -193,7 +193,7 @@ public function testFileListingUsageNoLink() {
 
     $this->assertResponse(200);
     // Entity name should be displayed, but not linked if Entity::toUrl
-    // throws an exception
+    // throws an exception.
     $this->assertText($entity_name, 'Entity name is added to file usage listing.');
     $this->assertNoLink($entity_name, 'Linked entity name not added to file usage listing.');
     $this->assertLink($node->getTitle());
diff --git a/core/modules/file/tests/file_test/file_test.module b/core/modules/file/tests/file_test/file_test.module
index 0baa0cbd08..e863ea1a0f 100644
--- a/core/modules/file/tests/file_test/file_test.module
+++ b/core/modules/file/tests/file_test/file_test.module
@@ -20,7 +20,7 @@
  * @see file_test_reset()
  */
 function file_test_reset() {
-  // Keep track of calls to these hooks
+  // Keep track of calls to these hooks.
   $results = [
     'load' => [],
     'validate' => [],
diff --git a/core/modules/file/tests/src/Kernel/DeleteTest.php b/core/modules/file/tests/src/Kernel/DeleteTest.php
index de5a5bc045..f841bb0324 100644
--- a/core/modules/file/tests/src/Kernel/DeleteTest.php
+++ b/core/modules/file/tests/src/Kernel/DeleteTest.php
@@ -68,7 +68,7 @@ public function testInUse() {
       ->execute();
     \Drupal::service('cron')->run();
 
-    // file_cron() loads
+    // file_cron() loads.
     $this->assertFileHooksCalled(['delete']);
     $this->assertFalse(file_exists($file->getFileUri()), 'File has been deleted after its last usage was removed.');
     $this->assertFalse(File::load($file->id()), 'File was removed from the database.');
diff --git a/core/modules/file/tests/src/Kernel/FileItemTest.php b/core/modules/file/tests/src/Kernel/FileItemTest.php
index 8219af15d9..39b9675b09 100644
--- a/core/modules/file/tests/src/Kernel/FileItemTest.php
+++ b/core/modules/file/tests/src/Kernel/FileItemTest.php
@@ -75,7 +75,7 @@ public function testFileItem() {
     $handler_id = $field_definition->getSetting('handler');
     $this->assertEqual($handler_id, 'default:file');
 
-    // Create a test entity with the
+    // Create a test entity with the.
     $entity = EntityTest::create();
     $entity->file_test->target_id = $this->file->id();
     $entity->file_test->display = 1;
diff --git a/core/modules/file/tests/src/Kernel/SpaceUsedTest.php b/core/modules/file/tests/src/Kernel/SpaceUsedTest.php
index 7dbc7fdeed..f1d10913f0 100644
--- a/core/modules/file/tests/src/Kernel/SpaceUsedTest.php
+++ b/core/modules/file/tests/src/Kernel/SpaceUsedTest.php
@@ -59,7 +59,7 @@ public function testFileSpaceUsed() {
     $this->assertEqual($file->spaceUsed(3), 300);
     $this->assertEqual($file->spaceUsed(), 370);
 
-    // Test the status fields
+    // Test the status fields.
     $this->assertEqual($file->spaceUsed(NULL, 0), 4);
     $this->assertEqual($file->spaceUsed(NULL, FILE_STATUS_PERMANENT), 370);
 
diff --git a/core/modules/filter/filter.module b/core/modules/filter/filter.module
index 87ff713bdf..28f72694b4 100644
--- a/core/modules/filter/filter.module
+++ b/core/modules/filter/filter.module
@@ -486,11 +486,11 @@ function _filter_url($text, $filter) {
 
   // Allow URL paths to contain balanced parens
   // 1. Used in Wikipedia URLs like /Primer_(film)
-  // 2. Used in IIS sessions like /S(dfd346)/
+  // 2. Used in IIS sessions like /S(dfd346)/.
   $valid_url_balanced_parens = '\(' . $valid_url_path_characters . '+\)';
 
   // Valid end-of-path characters (so /foo. does not gobble the period).
-  // 1. Allow =&# for empty URL parameters and other URL-join artifacts
+  // 1. Allow =&# for empty URL parameters and other URL-join artifacts.
   $valid_url_ending_characters = '[\p{L}\p{M}\p{N}:_+~#=/]|(?:' . $valid_url_balanced_parens . ')';
 
   $valid_url_query_chars = '[a-zA-Z0-9!?\*\'@\(\);:&=\+\$\/%#\[\]\-_\.,~|]';
@@ -576,7 +576,7 @@ function _filter_url($text, $filter) {
     }
 
     $text = implode($chunks);
-    // Revert to the original comment contents
+    // Revert to the original comment contents.
     _filter_url_escape_comments('', FALSE);
     $text = preg_replace_callback('`<!--(.*?)-->`', '_filter_url_escape_comments', $text);
   }
@@ -691,14 +691,14 @@ function _filter_url_trim($text, $length = NULL) {
  * Based on: http://photomatt.net/scripts/autop
  */
 function _filter_autop($text) {
-  // All block level tags
+  // All block level tags.
   $block = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|input|p|h[1-6]|fieldset|legend|hr|article|aside|details|figcaption|figure|footer|header|hgroup|menu|nav|section|summary)';
 
   // Split at opening and closing PRE, SCRIPT, STYLE, OBJECT, IFRAME tags
   // and comments. We don't apply any processing to the contents of these tags
   // to avoid messing up code. We look for matched pairs and allow basic
   // nesting. For example:
-  // "processed <pre> ignored <script> ignored </script> ignored </pre> processed"
+  // "processed <pre> ignored <script> ignored </script> ignored </pre> processed".
   $chunks = preg_split('@(<!--.*?-->|</?(?:pre|script|style|object|iframe|!--)[^>]*>)@i', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
   // Note: PHP ensures the array consists of alternating delimiters and literals
   // and begins and ends with a literal (inserting NULL as required).
@@ -729,20 +729,20 @@ function _filter_autop($text) {
       }
     }
     elseif (!$ignore) {
-      $chunk = preg_replace('|\n*$|', '', $chunk) . "\n\n"; // just to make things a little easier, pad the end
+      $chunk = preg_replace('|\n*$|', '', $chunk) . "\n\n"; // just to make things a little easier, pad the end.
       $chunk = preg_replace('|<br />\s*<br />|', "\n\n", $chunk);
       $chunk = preg_replace('!(<' . $block . '[^>]*>)!', "\n$1", $chunk); // Space things out a little
       $chunk = preg_replace('!(</' . $block . '>)!', "$1\n\n", $chunk); // Space things out a little
-      $chunk = preg_replace("/\n\n+/", "\n\n", $chunk); // take care of duplicates
+      $chunk = preg_replace("/\n\n+/", "\n\n", $chunk); // take care of duplicates.
       $chunk = preg_replace('/^\n|\n\s*\n$/', '', $chunk);
       $chunk = '<p>' . preg_replace('/\n\s*\n\n?(.)/', "</p>\n<p>$1", $chunk) . "</p>\n"; // make paragraphs, including one at the end
-      $chunk = preg_replace("|<p>(<li.+?)</p>|", "$1", $chunk); // problem with nested lists
+      $chunk = preg_replace("|<p>(<li.+?)</p>|", "$1", $chunk); // problem with nested lists.
       $chunk = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $chunk);
       $chunk = str_replace('</blockquote></p>', '</p></blockquote>', $chunk);
-      $chunk = preg_replace('|<p>\s*</p>\n?|', '', $chunk); // under certain strange conditions it could create a P of entirely whitespace
+      $chunk = preg_replace('|<p>\s*</p>\n?|', '', $chunk); // under certain strange conditions it could create a P of entirely whitespace.
       $chunk = preg_replace('!<p>\s*(</?' . $block . '[^>]*>)!', "$1", $chunk);
       $chunk = preg_replace('!(</?' . $block . '[^>]*>)\s*</p>!', "$1", $chunk);
-      $chunk = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $chunk); // make line breaks
+      $chunk = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $chunk); // make line breaks.
       $chunk = preg_replace('!(</?' . $block . '[^>]*>)\s*<br />!', "$1", $chunk);
       $chunk = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)!', '$1', $chunk);
       $chunk = preg_replace('/&([^#])(?![A-Za-z0-9]{1,8};)/', '&amp;$1', $chunk);
diff --git a/core/modules/filter/src/FilterFormatFormBase.php b/core/modules/filter/src/FilterFormatFormBase.php
index cbcb632189..929aaa78f4 100644
--- a/core/modules/filter/src/FilterFormatFormBase.php
+++ b/core/modules/filter/src/FilterFormatFormBase.php
@@ -83,7 +83,7 @@ public function form(array $form, FormStateInterface $form_state) {
     // Filter order (tabledrag).
     $form['filters']['order'] = [
       '#type' => 'table',
-      // For filter.admin.js
+      // For filter.admin.js.
       '#attributes' => ['id' => 'filter-order'],
       '#title' => $this->t('Filter processing order'),
       '#tabledrag' => [
diff --git a/core/modules/forum/tests/src/Functional/ForumTest.php b/core/modules/forum/tests/src/Functional/ForumTest.php
index 9ba4be7b2a..8b932833af 100644
--- a/core/modules/forum/tests/src/Functional/ForumTest.php
+++ b/core/modules/forum/tests/src/Functional/ForumTest.php
@@ -118,9 +118,9 @@ protected function setUp() {
    * Tests forum functionality through the admin and user interfaces.
    */
   public function testForum() {
-    // Check that the basic forum install creates a default forum topic
+    // Check that the basic forum install creates a default forum topic.
     $this->drupalGet('/forum');
-    // Look for the "General discussion" default forum
+    // Look for the "General discussion" default forum.
     $this->assertRaw(Link::createFromRoute(t('General discussion'), 'forum.page', ['taxonomy_term' => 1])->toString(), "Found the default forum at the /forum listing");
     // Check the presence of expected cache tags.
     $this->assertCacheTag('config:forum.settings');
diff --git a/core/modules/history/history.views.inc b/core/modules/history/history.views.inc
index a4dcd99275..7f07b1a53e 100644
--- a/core/modules/history/history.views.inc
+++ b/core/modules/history/history.views.inc
@@ -9,7 +9,7 @@
  * Implements hook_views_data().
  */
 function history_views_data() {
-  // History table
+  // History table.
 
   // We're actually defining a specific instance of the table, so let's
   // alias it so that we can later add the real table for other purposes if we
diff --git a/core/modules/image/image.module b/core/modules/image/image.module
index 7dc1ff444e..a776afea5b 100644
--- a/core/modules/image/image.module
+++ b/core/modules/image/image.module
@@ -170,7 +170,7 @@ function image_file_download($uri) {
   if (strpos($path, 'styles/') === 0) {
     $args = explode('/', $path);
 
-    // Discard "styles", style name, and scheme from the path
+    // Discard "styles", style name, and scheme from the path.
     $args = array_slice($args, 3);
 
     // Then the remaining parts are the path to the image.
diff --git a/core/modules/image/src/Tests/ImageFieldDisplayTest.php b/core/modules/image/src/Tests/ImageFieldDisplayTest.php
index 8061526da2..a931a95a76 100644
--- a/core/modules/image/src/Tests/ImageFieldDisplayTest.php
+++ b/core/modules/image/src/Tests/ImageFieldDisplayTest.php
@@ -68,7 +68,7 @@ public function _testImageFieldFormatters($scheme) {
     $this->drupalPostAjaxForm(NULL, [], "{$field_name}_settings_edit");
     $this->assertNoLinkByHref(\Drupal::url('entity.image_style.collection'), 'Link to image styles configuration is absent when permissions are insufficient');
 
-    // Restore 'administer image styles' permission to testing admin user
+    // Restore 'administer image styles' permission to testing admin user.
     user_role_change_permissions(reset($admin_user_roles), ['administer image styles' => TRUE]);
 
     // Create a new node with an image attached.
diff --git a/core/modules/image/tests/src/Functional/ImageFieldWidgetTest.php b/core/modules/image/tests/src/Functional/ImageFieldWidgetTest.php
index 7c3b94d494..09a71262ef 100644
--- a/core/modules/image/tests/src/Functional/ImageFieldWidgetTest.php
+++ b/core/modules/image/tests/src/Functional/ImageFieldWidgetTest.php
@@ -13,7 +13,7 @@ class ImageFieldWidgetTest extends ImageFieldTestBase {
    * Tests file widget element.
    */
   public function testWidgetElement() {
-    // Check for image widget in add/node/article page
+    // Check for image widget in add/node/article page.
     $field_name = strtolower($this->randomMachineName());
     $min_resolution = 50;
     $max_resolution = 100;
diff --git a/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php b/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php
index 1303082c15..aa43ec9108 100644
--- a/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php
+++ b/core/modules/language/tests/src/Functional/LanguageSwitchingTest.php
@@ -206,7 +206,7 @@ public function testLanguageBlockWithDomain() {
     /** @var \Drupal\Core\Routing\UrlGenerator $generator */
     $generator = $this->container->get('url_generator');
 
-    // Verify the English URL is correct
+    // Verify the English URL is correct.
     list($english_link) = $this->xpath('//div[@id=:id]/ul/li/a[@hreflang=:hreflang]', [
       ':id' => 'block-test-language-block',
       ':hreflang' => 'en',
@@ -214,7 +214,7 @@ public function testLanguageBlockWithDomain() {
     $english_url = $generator->generateFromRoute('entity.user.canonical', ['user' => 2], ['language' => $languages['en']]);
     $this->assertEqual($english_url, $english_link->getAttribute('href'));
 
-    // Verify the Italian URL is correct
+    // Verify the Italian URL is correct.
     list($italian_link) = $this->xpath('//div[@id=:id]/ul/li/a[@hreflang=:hreflang]', [
       ':id' => 'block-test-language-block',
       ':hreflang' => 'it',
diff --git a/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php b/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php
index af7eed4b7f..8a2a11f5ec 100644
--- a/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php
+++ b/core/modules/language/tests/src/Kernel/Condition/LanguageConditionTest.php
@@ -64,7 +64,7 @@ public function testConditions() {
     // Check for the proper summary.
     $this->assertEqual($condition->summary(), 'The language is Italian.');
 
-    // Negate the condition
+    // Negate the condition.
     $condition->setConfig('negate', TRUE);
     $this->assertTrue($condition->execute(), 'Language condition passes as expected.');
     // Check for the proper summary.
@@ -87,7 +87,7 @@ public function testConditions() {
     // Check for the proper summary.
     $this->assertEqual($condition->summary(), 'The language is Italian.');
 
-    // Negate the condition
+    // Negate the condition.
     $condition->setConfig('negate', TRUE);
     $this->assertFalse($condition->execute(), 'Language condition fails as expected.');
     // Check for the proper summary.
diff --git a/core/modules/link/src/Tests/Views/LinkViewsTokensTest.php b/core/modules/link/src/Tests/Views/LinkViewsTokensTest.php
index 80913ece8d..6d73776b31 100644
--- a/core/modules/link/src/Tests/Views/LinkViewsTokensTest.php
+++ b/core/modules/link/src/Tests/Views/LinkViewsTokensTest.php
@@ -80,13 +80,13 @@ public function testLinkViewsTokens() {
     $this->drupalGet('test_link_tokens');
 
     foreach ($uris as $uri => $title) {
-      // Formatted link: {{ field_link }}<br />
+      // Formatted link: {{ field_link }}<br />.
       $this->assertRaw("Formated: <a href=\"$uri\" class=\"test-link-class\">$title</a>");
 
-      // Raw uri: {{ field_link__uri }}<br />
+      // Raw uri: {{ field_link__uri }}<br />.
       $this->assertRaw("Raw uri: $uri");
 
-      // Raw title: {{ field_link__title }}<br />
+      // Raw title: {{ field_link__title }}<br />.
       $this->assertRaw("Raw title: $title");
 
       // Raw options: {{ field_link__options }}<br />
diff --git a/core/modules/link/tests/src/Functional/LinkFieldTest.php b/core/modules/link/tests/src/Functional/LinkFieldTest.php
index c99ad0a931..02214650af 100644
--- a/core/modules/link/tests/src/Functional/LinkFieldTest.php
+++ b/core/modules/link/tests/src/Functional/LinkFieldTest.php
@@ -141,9 +141,9 @@ public function testURLValidation() {
     $validation_error_2 = 'Manually entered paths should start with /, ? or #.';
     $validation_error_3 = "The path '@link_path' is inaccessible.";
     $invalid_external_entries = [
-      // Invalid protocol
+      // Invalid protocol.
       'invalid://not-a-valid-protocol' => $validation_error_1,
-      // Missing host name
+      // Missing host name.
       'http://' => $validation_error_1,
     ];
     $invalid_internal_entries = [
diff --git a/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php b/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php
index 41ecd4a87d..8031796db5 100644
--- a/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php
+++ b/core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php
@@ -45,7 +45,7 @@ public function testValidate($value, $valid) {
   public function providerValidate() {
     $data = [];
 
-    // External URL
+    // External URL.
     $data[] = [Url::fromUri('https://www.drupal.org'), TRUE];
 
     // Existing routed URL.
diff --git a/core/modules/locale/locale.bulk.inc b/core/modules/locale/locale.bulk.inc
index 3e256c28fd..e607a17e2c 100644
--- a/core/modules/locale/locale.bulk.inc
+++ b/core/modules/locale/locale.bulk.inc
@@ -458,7 +458,7 @@ function locale_translate_file_attach_properties($file, array $options = []) {
   }
 
   // Extract project, version and language code from the file name. Supported:
-  // {project}-{version}.{langcode}.po, {prefix}.{langcode}.po or {langcode}.po
+  // {project}-{version}.{langcode}.po, {prefix}.{langcode}.po or {langcode}.po.
   preg_match('!
     (                       # project OR project and version OR empty (group 1)
       ([a-z_]+)             # project name (group 2)
diff --git a/core/modules/locale/locale.compare.inc b/core/modules/locale/locale.compare.inc
index c66af14108..9e0a78418e 100644
--- a/core/modules/locale/locale.compare.inc
+++ b/core/modules/locale/locale.compare.inc
@@ -56,7 +56,7 @@ function locale_translation_build_projects() {
     // to fall back to the latest stable release for that branch.
     if (isset($data['info']['version']) && strpos($data['info']['version'], '-dev')) {
       if (preg_match("/^(\d+\.x-\d+\.).*$/", $data['info']['version'], $matches)) {
-        // Example matches: 8.x-1.x-dev, 8.x-1.0-alpha1+5-dev => 8.x-1.x
+        // Example matches: 8.x-1.x-dev, 8.x-1.0-alpha1+5-dev => 8.x-1.x.
         $data['info']['version'] = $matches[1] . 'x';
       }
       elseif (preg_match("/^(\d+\.\d+\.).*$/", $data['info']['version'], $matches)) {
diff --git a/core/modules/locale/locale.install b/core/modules/locale/locale.install
index 225e952a7d..8432547603 100644
--- a/core/modules/locale/locale.install
+++ b/core/modules/locale/locale.install
@@ -111,7 +111,7 @@ function locale_schema() {
       'customized' => [
         'type' => 'int',
         'not null' => TRUE,
-        'default' => 0, // LOCALE_NOT_CUSTOMIZED
+        'default' => 0, // LOCALE_NOT_CUSTOMIZED.
         'description' => 'Boolean indicating whether the translation is custom to this site.',
       ],
     ],
diff --git a/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php b/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php
index 57916caf04..3588f01c82 100644
--- a/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php
+++ b/core/modules/locale/tests/src/Functional/LocalePluralFormatTest.php
@@ -201,7 +201,7 @@ public function testPluralEditDateFormatter() {
     ];
     $this->drupalPostForm($path, $edit, t('Save translations'));
 
-    // User interface input for translating seconds should not be duplicated
+    // User interface input for translating seconds should not be duplicated.
     $this->assertUniqueText('@count seconds', 'Interface translation input for @count seconds only appears once.');
 
     // Member for time should be translated. Change the created time to ensure
diff --git a/core/modules/menu_link_content/tests/src/Functional/LinksTest.php b/core/modules/menu_link_content/tests/src/Functional/LinksTest.php
index 0fbe4a4be7..52b5c1073a 100644
--- a/core/modules/menu_link_content/tests/src/Functional/LinksTest.php
+++ b/core/modules/menu_link_content/tests/src/Functional/LinksTest.php
@@ -57,7 +57,7 @@ public function createLinkHierarchy($module = 'menu_test') {
     //   - child-1
     //      - child-1-1
     //      - child-1-2
-    //   - child-2
+    //   - child-2.
     $base_options = [
       'title' => 'Menu link test',
       'provider' => $module,
diff --git a/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentDeleteFormTest.php b/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentDeleteFormTest.php
index cb1e10daf9..da38d5c608 100644
--- a/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentDeleteFormTest.php
+++ b/core/modules/menu_link_content/tests/src/Functional/MenuLinkContentDeleteFormTest.php
@@ -48,7 +48,7 @@ public function testMenuLinkContentDeleteForm() {
     $this->drupalGet($menu_link->urlInfo('delete-form'));
     $this->assertRaw(t('Are you sure you want to delete the custom menu link %name?', ['%name' => $menu_link->label()]));
     $this->assertLink(t('Cancel'));
-    // Make sure cancel link points to link edit
+    // Make sure cancel link points to link edit.
     $this->assertLinkByHref($menu_link->url('edit-form'));
 
     \Drupal::service('module_installer')->install(['menu_ui']);
diff --git a/core/modules/menu_ui/menu_ui.module b/core/modules/menu_ui/menu_ui.module
index e46d97152a..f10ee57345 100644
--- a/core/modules/menu_ui/menu_ui.module
+++ b/core/modules/menu_ui/menu_ui.module
@@ -186,7 +186,7 @@ function menu_ui_get_menu_link_defaults(NodeInterface $node) {
   $defaults = FALSE;
   if ($node->id()) {
     $id = FALSE;
-    // Give priority to the default menu
+    // Give priority to the default menu.
     $type_menus = $node_type->getThirdPartySetting('menu_ui', 'available_menus', ['main']);
     if (in_array($menu_name, $type_menus)) {
       $query = \Drupal::entityQuery('menu_link_content')
diff --git a/core/modules/menu_ui/src/Tests/MenuTest.php b/core/modules/menu_ui/src/Tests/MenuTest.php
index dde95027bd..3038c86512 100644
--- a/core/modules/menu_ui/src/Tests/MenuTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuTest.php
@@ -308,7 +308,7 @@ public function doMenuTests() {
     // <$menu_name>
     // - item1
     // -- item2
-    // --- item3
+    // --- item3.
 
     $this->assertMenuLink($item1->getPluginId(), [
       'children' => [$item2->getPluginId(), $item3->getPluginId()],
@@ -348,7 +348,7 @@ public function doMenuTests() {
     // --- item3
     // - item4
     // -- item5
-    // -- item6
+    // -- item6.
 
     $this->assertMenuLink($item4->getPluginId(), [
       'children' => [$item5->getPluginId(), $item6->getPluginId()],
@@ -388,7 +388,7 @@ public function doMenuTests() {
     // -- item5
     // --- item2
     // ---- item3
-    // -- item6
+    // -- item6.
 
     $this->assertMenuLink($item1->getPluginId(), [
       'children' => [],
diff --git a/core/modules/migrate/src/MigrateExecutable.php b/core/modules/migrate/src/MigrateExecutable.php
index 224746f381..e2e6250040 100644
--- a/core/modules/migrate/src/MigrateExecutable.php
+++ b/core/modules/migrate/src/MigrateExecutable.php
@@ -107,7 +107,7 @@ public function __construct(MigrationInterface $migration, MigrateMessageInterfa
     $this->message = $message ?: new MigrateMessage();
     $this->migration->getIdMap()->setMessage($this->message);
     $this->eventDispatcher = $event_dispatcher;
-    // Record the memory limit in bytes
+    // Record the memory limit in bytes.
     $limit = trim(ini_get('memory_limit'));
     if ($limit == '-1') {
       $this->memoryLimit = PHP_INT_MAX;
@@ -471,7 +471,7 @@ protected function memoryExceeded() {
       $usage = $this->attemptMemoryReclaim();
       $pct_memory = $usage / $this->memoryLimit;
       // Use a lower threshold - we don't want to be in a situation where we keep
-      // coming back here and trimming a tiny amount
+      // coming back here and trimming a tiny amount.
       if ($pct_memory > (0.90 * $threshold)) {
         $this->message->display(
           $this->t(
diff --git a/core/modules/migrate/src/Plugin/migrate/destination/Config.php b/core/modules/migrate/src/Plugin/migrate/destination/Config.php
index 18d78a325e..4e685f21ed 100644
--- a/core/modules/migrate/src/Plugin/migrate/destination/Config.php
+++ b/core/modules/migrate/src/Plugin/migrate/destination/Config.php
@@ -213,7 +213,7 @@ public function getDestinationModule() {
       return 'config_translation';
     }
     // Get the module handling this configuration object from the config_name,
-    // which is of the form <module_name>.<configuration object name>
+    // which is of the form <module_name>.<configuration object name>.
     return !empty($this->configuration['config_name']) ? explode('.', $this->configuration['config_name'], 2)[0] : NULL;
   }
 
diff --git a/core/modules/migrate/tests/src/Kernel/Plugin/MigrationProvidersExistTest.php b/core/modules/migrate/tests/src/Kernel/Plugin/MigrationProvidersExistTest.php
index 8e166998c4..b0edba3527 100644
--- a/core/modules/migrate/tests/src/Kernel/Plugin/MigrationProvidersExistTest.php
+++ b/core/modules/migrate/tests/src/Kernel/Plugin/MigrationProvidersExistTest.php
@@ -33,7 +33,7 @@ public function testProvidersExist() {
 
     /** @var \Drupal\migrate\Plugin\MigrationPluginManager $plugin_manager */
     $plugin_manager = $this->container->get('plugin.manager.migration');
-    // Get all the migrations
+    // Get all the migrations.
     $migrations = $plugin_manager->createInstances(array_keys($plugin_manager->getDefinitions()));
     // Ensure the test module was enabled.
     $this->assertTrue(array_key_exists('migration_provider_test', $migrations));
@@ -55,7 +55,7 @@ public function testProvidersExist() {
         $this->assertTrue($source_module, new FormattableMarkup('Source module found for @migration_id.', ['@migration_id' => $migration_id]));
         $this->assertTrue($destination_module, new FormattableMarkup('Destination module found for @migration_id.', ['@migration_id' => $migration_id]));
       }
-      // Destination module can't be migrate or migrate_drupal or migrate_drupal_ui
+      // Destination module can't be migrate or migrate_drupal or migrate_drupal_ui.
       $invalid_destinations = ['migrate', 'migrate_drupal', 'migrate_drupal_ui'];
       $this->assertNotContains($destination_module, $invalid_destinations, new FormattableMarkup('Invalid destination for @migration_id.', ['@migration_id' => $migration_id]));
     }
diff --git a/core/modules/migrate/tests/src/Kernel/process/DownloadTest.php b/core/modules/migrate/tests/src/Kernel/process/DownloadTest.php
index 576539eb3f..3fd9ca160b 100644
--- a/core/modules/migrate/tests/src/Kernel/process/DownloadTest.php
+++ b/core/modules/migrate/tests/src/Kernel/process/DownloadTest.php
@@ -100,7 +100,7 @@ public function testWriteProtectedDestination() {
    *   The local URI of the downloaded file.
    */
   protected function doTransform($destination_uri, $configuration = []) {
-    // The HTTP client will return a file with contents 'It worked!'
+    // The HTTP client will return a file with contents 'It worked!'.
     $body = fopen('data://text/plain;base64,SXQgd29ya2VkIQ==', 'r');
 
     // Prepare a mock HTTP client.
diff --git a/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php b/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php
index 7f3d2937db..da1a372589 100644
--- a/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php
+++ b/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php
@@ -423,7 +423,7 @@ public function testDefaultPropertiesValues() {
     $migration = $this->getMigration();
     $source = new StubSourceGeneratorPlugin([], '', [], $migration);
 
-    // Test the default value of the skipCount Value;
+    // Test the default value of the skipCount Value.
     $this->assertTrue($source->getSkipCount());
     $this->assertTrue($source->getCacheCounts());
     $this->assertTrue($source->getTrackChanges());
diff --git a/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php b/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php
index c38d04184b..b13c175878 100644
--- a/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php
+++ b/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php
@@ -71,7 +71,7 @@ public function testImport() {
     // Assert that save is called.
     $entity->save()
       ->shouldBeCalledTimes(1);
-    // Set an id for the entity
+    // Set an id for the entity.
     $entity->id()
       ->willReturn(5);
     $destination->setEntity($entity->reveal());
diff --git a/core/modules/migrate_drupal_ui/tests/src/Kernel/MigrationLabelExistTest.php b/core/modules/migrate_drupal_ui/tests/src/Kernel/MigrationLabelExistTest.php
index 148c9bee29..d69e5ae5f9 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Kernel/MigrationLabelExistTest.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Kernel/MigrationLabelExistTest.php
@@ -28,7 +28,7 @@ public function testLabelExist() {
 
     /** @var \Drupal\migrate\Plugin\MigrationPluginManager $plugin_manager */
     $plugin_manager = $this->container->get('plugin.manager.migration');
-    // Get all the migrations
+    // Get all the migrations.
     $migrations = $plugin_manager->createInstances(array_keys($plugin_manager->getDefinitions()));
     /** @var \Drupal\migrate\Plugin\Migration $migration */
     foreach ($migrations as $migration) {
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 4e76edddd2..cab6562f65 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -665,7 +665,7 @@ function node_ranking() {
   $ranking = [
     'relevance' => [
       'title' => t('Keyword relevance'),
-      // Average relevance values hover around 0.15
+      // Average relevance values hover around 0.15.
       'score' => 'i.relevance',
     ],
     'sticky' => [
@@ -1178,7 +1178,7 @@ function node_access_rebuild($batch_mode = FALSE) {
       batch_set($batch);
     }
     else {
-      // Try to allocate enough time to rebuild node grants
+      // Try to allocate enough time to rebuild node grants.
       drupal_set_time_limit(240);
 
       // Rebuild newest nodes first so that recent content becomes available
diff --git a/core/modules/node/node.views_execution.inc b/core/modules/node/node.views_execution.inc
index 4d834a11e3..8f745b3ae5 100644
--- a/core/modules/node/node.views_execution.inc
+++ b/core/modules/node/node.views_execution.inc
@@ -30,7 +30,7 @@ function node_views_analyze(ViewExecutable $view) {
   if ($view->storage->get('base_table') == 'node') {
     foreach ($view->displayHandlers as $display) {
       if (!$display->isDefaulted('access') || !$display->isDefaulted('filters')) {
-        // check for no access control
+        // check for no access control.
         $access = $display->getOption('access');
         if (empty($access['type']) || $access['type'] == 'none') {
           $anonymous_role = Role::load(RoleInterface::ANONYMOUS_ID);
diff --git a/core/modules/node/src/Plugin/views/field/Node.php b/core/modules/node/src/Plugin/views/field/Node.php
index e5cd9d7025..9a62fb54de 100644
--- a/core/modules/node/src/Plugin/views/field/Node.php
+++ b/core/modules/node/src/Plugin/views/field/Node.php
@@ -26,7 +26,7 @@ class Node extends FieldPluginBase {
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
     parent::init($view, $display, $options);
 
-    // Don't add the additional fields to groupby
+    // Don't add the additional fields to groupby.
     if (!empty($this->options['link_to_node'])) {
       $this->additional_fields['nid'] = ['table' => 'node_field_data', 'field' => 'nid'];
     }
diff --git a/core/modules/node/src/Plugin/views/wizard/Node.php b/core/modules/node/src/Plugin/views/wizard/Node.php
index 1be211fef5..302e17e9f9 100644
--- a/core/modules/node/src/Plugin/views/wizard/Node.php
+++ b/core/modules/node/src/Plugin/views/wizard/Node.php
@@ -33,7 +33,7 @@ class Node extends WizardPluginBase {
    *   corresponding values are human readable labels.
    */
   public function getAvailableSorts() {
-    // You can't execute functions in properties, so override the method
+    // You can't execute functions in properties, so override the method.
     return [
       'node_field_data-title:ASC' => $this->t('Title')
     ];
diff --git a/core/modules/node/src/Tests/NodeTypeTest.php b/core/modules/node/src/Tests/NodeTypeTest.php
index 70d3ac40b5..68a8bac88c 100644
--- a/core/modules/node/src/Tests/NodeTypeTest.php
+++ b/core/modules/node/src/Tests/NodeTypeTest.php
@@ -123,7 +123,7 @@ public function testNodeTypeEditing() {
     $this->assertRaw('Foo', 'Title field was found.');
     $this->assertRaw('Body', 'Body field was found.');
 
-    // Change the name through the API
+    // Change the name through the API.
     /** @var \Drupal\node\NodeTypeInterface $node_type */
     $node_type = NodeType::load('page');
     $node_type->set('name', 'NewBar');
@@ -246,7 +246,7 @@ public function testNodeTypeNoContentType() {
     // Delete 'page' bundle.
     $this->drupalPostForm('admin/structure/types/manage/page/delete', [], t('Delete'));
 
-    // Navigate to content type administration screen
+    // Navigate to content type administration screen.
     $this->drupalGet('admin/structure/types');
     $this->assertRaw(t('No content types available. <a href=":link">Add content type</a>.', [
         ':link' => Url::fromRoute('node.type_add')->toString()
diff --git a/core/modules/node/tests/modules/node_test/node_test.module b/core/modules/node/tests/modules/node_test/node_test.module
index 3532c37300..ca886020a7 100644
--- a/core/modules/node/tests/modules/node_test/node_test.module
+++ b/core/modules/node/tests/modules/node_test/node_test.module
@@ -126,7 +126,7 @@ function node_test_node_grants_alter(&$grants, AccountInterface $account, $op) {
  */
 function node_test_node_presave(NodeInterface $node) {
   if ($node->getTitle() == 'testing_node_presave') {
-    // Sun, 19 Nov 1978 05:00:00 GMT
+    // Sun, 19 Nov 1978 05:00:00 GMT.
     $node->setCreatedTime(280299600);
     // Drupal 1.0 release.
     $node->changed = 979534800;
diff --git a/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php b/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php
index d9e4e8b092..3a582df3a9 100644
--- a/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessBaseTableTest.php
@@ -87,7 +87,7 @@ public function testNodeAccessBasic() {
     $num_simple_users = 2;
     $simple_users = [];
 
-    // Nodes keyed by uid and nid: $nodes[$uid][$nid] = $is_private;
+    // Nodes keyed by uid and nid: $nodes[$uid][$nid] = $is_private.
     $this->nodesByUser = [];
     // Titles keyed by nid.
     $titles = [];
diff --git a/core/modules/node/tests/src/Functional/NodeAccessGrantsCacheContextTest.php b/core/modules/node/tests/src/Functional/NodeAccessGrantsCacheContextTest.php
index fa2116ab87..163876340f 100644
--- a/core/modules/node/tests/src/Functional/NodeAccessGrantsCacheContextTest.php
+++ b/core/modules/node/tests/src/Functional/NodeAccessGrantsCacheContextTest.php
@@ -124,7 +124,7 @@ public function testCacheContext() {
       3 => 'view.all',
     ]);
 
-    // Uninstall the node_access_test module
+    // Uninstall the node_access_test module.
     $this->container->get('module_installer')->uninstall(['node_access_test']);
     drupal_static_reset('node_access_view_all_nodes');
     $this->assertUserCacheContext([
diff --git a/core/modules/node/tests/src/Functional/Views/NodeFieldTokensTest.php b/core/modules/node/tests/src/Functional/Views/NodeFieldTokensTest.php
index fc547ed370..ed6f09e414 100644
--- a/core/modules/node/tests/src/Functional/Views/NodeFieldTokensTest.php
+++ b/core/modules/node/tests/src/Functional/Views/NodeFieldTokensTest.php
@@ -47,16 +47,16 @@ public function testViewsTokenReplacement() {
 
     $this->drupalGet('test_node_tokens');
 
-    // Body: {{ body }}<br />
+    // Body: {{ body }}<br />.
     $this->assertRaw("Body: <p>$body</p>");
 
-    // Raw value: {{ body__value }}<br />
+    // Raw value: {{ body__value }}<br />.
     $this->assertRaw("Raw value: $body");
 
-    // Raw summary: {{ body__summary }}<br />
+    // Raw summary: {{ body__summary }}<br />.
     $this->assertRaw("Raw summary: $summary");
 
-    // Raw format: {{ body__format }}<br />
+    // Raw format: {{ body__format }}<br />.
     $this->assertRaw("Raw format: plain_text");
   }
 
diff --git a/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php b/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php
index ae66dca020..e4719774c1 100644
--- a/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php
+++ b/core/modules/node/tests/src/Kernel/NodeFieldAccessTest.php
@@ -71,7 +71,7 @@ public function testAccessToAdministrativeFields() {
     // An unprivileged user.
     $page_unrelated_user = $this->createUser([], ['access content']);
 
-    // List of all users
+    // List of all users.
     $test_users = [
       $content_admin_user,
       $page_creator_user,
diff --git a/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php b/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php
index a2157f1f91..a243c21f25 100644
--- a/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php
+++ b/core/modules/options/tests/src/Functional/OptionsWidgetsTest.php
@@ -301,7 +301,7 @@ public function testSelectListSingle() {
     $this->card1->setSetting('allowed_values_function', 'options_test_allowed_values_callback');
     $this->card1->save();
 
-    // Display form: with no field data, nothing is selected
+    // Display form: with no field data, nothing is selected.
     $this->drupalGet('entity_test/manage/' . $entity->id() . '/edit');
     $this->assertNoOptionSelected('edit-card-1', 0);
     $this->assertNoOptionSelected('edit-card-1', 1);
diff --git a/core/modules/page_cache/src/StackMiddleware/PageCache.php b/core/modules/page_cache/src/StackMiddleware/PageCache.php
index cf4d0c1bda..20f370b82d 100644
--- a/core/modules/page_cache/src/StackMiddleware/PageCache.php
+++ b/core/modules/page_cache/src/StackMiddleware/PageCache.php
@@ -144,7 +144,7 @@ protected function lookup(Request $request, $type = self::MASTER_REQUEST, $catch
 
       if ($if_modified_since && $if_none_match
         && $if_none_match == $response->getEtag() // etag must match
-        && $if_modified_since == $last_modified->getTimestamp()) {// if-modified-since must match
+        && $if_modified_since == $last_modified->getTimestamp()) {// if-modified-since must match.
         $response->setStatusCode(304);
         $response->setContent(NULL);
 
diff --git a/core/modules/page_cache/tests/modules/page_cache_form_test.module b/core/modules/page_cache/tests/modules/page_cache_form_test.module
index eb76d4d645..eb25f96023 100644
--- a/core/modules/page_cache/tests/modules/page_cache_form_test.module
+++ b/core/modules/page_cache/tests/modules/page_cache_form_test.module
@@ -34,7 +34,7 @@ function page_cache_form_test_form_page_cache_form_test_process($form, FormState
  */
 function page_cache_form_test_module_implements_alter(&$implementations, $hook) {
   if ($hook === 'form_alter' && \Drupal::state()->get('page_cache_bypass_form_immutability', FALSE)) {
-    // Disable system_form_alter
+    // Disable system_form_alter.
     unset($implementations['system']);
   }
 }
diff --git a/core/modules/path/tests/src/Functional/PathAliasTest.php b/core/modules/path/tests/src/Functional/PathAliasTest.php
index 62997787b5..6d75210a08 100644
--- a/core/modules/path/tests/src/Functional/PathAliasTest.php
+++ b/core/modules/path/tests/src/Functional/PathAliasTest.php
@@ -125,7 +125,7 @@ public function testAdminAlias() {
 
     // Set alias to second test node.
     $edit['source'] = '/node/' . $node2->id();
-    // leave $edit['alias'] the same
+    // leave $edit['alias'] the same.
     $this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
 
     // Confirm no duplicate was created.
diff --git a/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php b/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php
index 9ca558a37b..081f328f72 100644
--- a/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php
+++ b/core/modules/quickedit/src/Tests/QuickEditLoadingTest.php
@@ -93,7 +93,7 @@ protected function setUp() {
     ]);
 
     // Create 2 users, the only difference being the ability to use in-place
-    // editing
+    // editing.
     $basic_permissions = ['access content', 'create article content', 'edit any article content', 'use text format filtered_html', 'access contextual links'];
     $this->authorUser = $this->drupalCreateUser($basic_permissions);
     $this->editorUser = $this->drupalCreateUser(array_merge($basic_permissions, ['access in-place editing']));
@@ -197,7 +197,7 @@ public function testUserWithPermission() {
 
     // Retrieving the attachments should result in a 200 response, containing:
     //  1. a settings command with useless metadata: AjaxController is dumb
-    //  2. an insert command that loads the required in-place editors
+    //  2. an insert command that loads the required in-place editors.
     $post = ['editors[0]' => 'form'] + $this->getAjaxPageStatePostData();
     $response = $this->drupalPost('quickedit/attachments', '', $post, ['query' => [MainContentViewSubscriber::WRAPPER_FORMAT => 'drupal_ajax']]);
     $ajax_commands = Json::decode($response);
@@ -351,7 +351,7 @@ public function testTitleBaseField() {
     $this->drupalLogin($this->editorUser);
     $this->drupalGet('node/1');
 
-    // Ensure that the full page title is actually in-place editable
+    // Ensure that the full page title is actually in-place editable.
     $node = Node::load(1);
     $elements = $this->xpath('//h1/span[@data-quickedit-field-id="node/1/title/en/full" and normalize-space(text())=:title]', [':title' => $node->label()]);
     $this->assertTrue(!empty($elements), 'Title with data-quickedit-field-id attribute found.');
diff --git a/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php b/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php
index 08a8fe04ad..5680e9cd7a 100644
--- a/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php
+++ b/core/modules/quickedit/tests/src/Kernel/EditorSelectionTest.php
@@ -70,7 +70,7 @@ public function testText() {
     // With cardinality 1.
     $this->assertEqual('plain_text', $this->getSelectedEditor($entity->id(), $field_name), "With cardinality 1, the 'plain_text' editor is selected.");
 
-    // With cardinality >1
+    // With cardinality >1.
     $this->fields->field_text_field_storage->setCardinality(2);
     $this->fields->field_text_field_storage->save();
     $this->assertEqual('form', $this->getSelectedEditor($entity->id(), $field_name), "With cardinality >1, the 'form' editor is selected.");
diff --git a/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php b/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php
index 546ac3af6d..2cd8734bd6 100644
--- a/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php
+++ b/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php
@@ -172,7 +172,7 @@ public function testEditorWithCustomMetadata() {
         'format' => 'full_html'
       ],
     ];
-    $this->assertEqual($expected, $metadata); // , 'The correct metadata (including custom metadata) is generated.');
+    $this->assertEqual($expected, $metadata); // , 'The correct metadata (including custom metadata) is generated.').
   }
 
 }
diff --git a/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php b/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php
index b91215db5b..ec94ea67e9 100644
--- a/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php
+++ b/core/modules/rdf/tests/src/Functional/EntityReferenceFieldAttributesTest.php
@@ -136,12 +136,12 @@ public function testNodeTeaser() {
       'type' => 'uri',
       'value' => 'http://www.w3.org/2004/02/skos/core#Concept',
     ];
-    // $this->assertTrue($graph->hasProperty($taxonomy_term_2_uri, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type', $expected_value), 'Taxonomy term type found in RDF output (skos:Concept).');
+    // $this->assertTrue($graph->hasProperty($taxonomy_term_2_uri, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type', $expected_value), 'Taxonomy term type found in RDF output (skos:Concept).').
     $expected_value = [
       'type' => 'literal',
       'value' => $term2->getName(),
     ];
-    // $this->assertTrue($graph->hasProperty($taxonomy_term_2_uri, 'http://www.w3.org/2000/01/rdf-schema#label', $expected_value), 'Taxonomy term name found in RDF output (rdfs:label).');
+    // $this->assertTrue($graph->hasProperty($taxonomy_term_2_uri, 'http://www.w3.org/2000/01/rdf-schema#label', $expected_value), 'Taxonomy term name found in RDF output (rdfs:label).').
   }
 
 }
diff --git a/core/modules/rdf/tests/src/Functional/StandardProfileTest.php b/core/modules/rdf/tests/src/Functional/StandardProfileTest.php
index 8662b9daca..9ad1d07001 100644
--- a/core/modules/rdf/tests/src/Functional/StandardProfileTest.php
+++ b/core/modules/rdf/tests/src/Functional/StandardProfileTest.php
@@ -407,7 +407,7 @@ protected function assertRdfaArticleProperties($graph, $message_prefix) {
 
     // Tag type.
     // @todo Enable with https://www.drupal.org/node/2072791.
-    // $this->assertEqual($graph->type($this->termUri), 'schema:Thing', 'Tag type was found (schema:Thing).');
+    // $this->assertEqual($graph->type($this->termUri), 'schema:Thing', 'Tag type was found (schema:Thing).').
 
     // Tag name.
     $expected_value = [
diff --git a/core/modules/responsive_image/responsive_image.module b/core/modules/responsive_image/responsive_image.module
index abfb96b780..2b8ac9ae2d 100644
--- a/core/modules/responsive_image/responsive_image.module
+++ b/core/modules/responsive_image/responsive_image.module
@@ -159,7 +159,7 @@ function template_preprocess_responsive_image_formatter(&$variables) {
  */
 function template_preprocess_responsive_image(&$variables) {
   // Make sure that width and height are proper values
-  // If they exists we'll output them
+  // If they exists we'll output them.
   // @see http://www.w3.org/community/respimg/2012/06/18/florians-compromise/
   if (isset($variables['width']) && empty($variables['width'])) {
     unset($variables['width']);
diff --git a/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php b/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php
index b50d71be65..9bbb593a58 100644
--- a/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php
+++ b/core/modules/responsive_image/src/Tests/ResponsiveImageFieldDisplayTest.php
@@ -471,7 +471,7 @@ private function assertResponsiveImageFieldFormattersLink($link_type) {
     // Ensure that preview works.
     $this->previewNodeImage($test_image, $field_name, 'article');
 
-    // Look for a picture tag in the preview output
+    // Look for a picture tag in the preview output.
     $this->assertPattern('/picture/');
 
     $nid = $this->uploadNodeImage($test_image, $field_name, 'article');
diff --git a/core/modules/rest/src/Routing/ResourceRoutes.php b/core/modules/rest/src/Routing/ResourceRoutes.php
index 5ba4c5da62..381a5dcc6e 100644
--- a/core/modules/rest/src/Routing/ResourceRoutes.php
+++ b/core/modules/rest/src/Routing/ResourceRoutes.php
@@ -118,7 +118,7 @@ protected function getRoutesForResourceConfig(RestResourceConfigInterface $rest_
         // The configuration has been validated, so we update the route to:
         // - set the allowed request body content types/formats for methods that
         //   allow request bodies to be sent
-        // - set the allowed authentication providers
+        // - set the allowed authentication providers.
         if (in_array($method, ['POST', 'PATCH', 'PUT'], TRUE)) {
           // Restrict the incoming HTTP Content-type header to the allowed
           // formats.
diff --git a/core/modules/rest/src/Tests/RESTTestBase.php b/core/modules/rest/src/Tests/RESTTestBase.php
index 3f97e46901..3529b5bec4 100644
--- a/core/modules/rest/src/Tests/RESTTestBase.php
+++ b/core/modules/rest/src/Tests/RESTTestBase.php
@@ -376,7 +376,7 @@ protected function enableService($resource_type, $method = 'GET', $format = NULL
     if ($resource_type) {
       // Enable REST API for this entity type.
       $resource_config_id = str_replace(':', '.', $resource_type);
-      // get entity by id
+      // get entity by id.
       /** @var \Drupal\rest\RestResourceConfigInterface $resource_config */
       $resource_config = $this->resourceConfigStorage->load($resource_config_id);
       if (!$resource_config) {
diff --git a/core/modules/rest/tests/src/Functional/EntityResource/Comment/CommentResourceTestBase.php b/core/modules/rest/tests/src/Functional/EntityResource/Comment/CommentResourceTestBase.php
index bade2a76c6..bf2e9c84ef 100644
--- a/core/modules/rest/tests/src/Functional/EntityResource/Comment/CommentResourceTestBase.php
+++ b/core/modules/rest/tests/src/Functional/EntityResource/Comment/CommentResourceTestBase.php
@@ -279,7 +279,7 @@ public function testPostDxWithoutCriticalBaseFields() {
     $this->assertSame(500, $response->getStatusCode());
     $this->assertSame(['text/plain; charset=UTF-8'], $response->getHeader('Content-Type'));
     $this->assertStringStartsWith('The website encountered an unexpected error. Please try again later.</br></br><em class="placeholder">Symfony\Component\HttpKernel\Exception\HttpException</em>: Internal Server Error in <em class="placeholder">Drupal\rest\Plugin\rest\resource\EntityResource-&gt;post()</em>', (string) $response->getBody());
-    // $this->assertResourceErrorResponse(422, "Unprocessable Entity: validation failed.\nentity_type: This value should not be null.\n", $response);
+    // $this->assertResourceErrorResponse(422, "Unprocessable Entity: validation failed.\nentity_type: This value should not be null.\n", $response).
 
     // DX: 422 when missing 'entity_id' field.
     $request_options[RequestOptions::BODY] = $this->serializer->encode(array_diff_key($this->getNormalizedPostEntity(), ['entity_id' => TRUE]), static::$format);
@@ -295,7 +295,7 @@ public function testPostDxWithoutCriticalBaseFields() {
       // $this->assertSame("Error: Call to a member function get() on null\nDrupal\\comment\\Plugin\\Validation\\Constraint\\CommentNameConstraintValidator->getAnonymousContactDetailsSetting()() (Line: 96)\n", $e->getMessage());
     }
     // $response = $this->request('POST', $url, $request_options);
-    // $this->assertResourceErrorResponse(422, "Unprocessable Entity: validation failed.\nentity_type: This value should not be null.\n", $response);
+    // $this->assertResourceErrorResponse(422, "Unprocessable Entity: validation failed.\nentity_type: This value should not be null.\n", $response).
 
     // DX: 422 when missing 'entity_type' field.
     $request_options[RequestOptions::BODY] = $this->serializer->encode(array_diff_key($this->getNormalizedPostEntity(), ['field_name' => TRUE]), static::$format);
@@ -303,7 +303,7 @@ public function testPostDxWithoutCriticalBaseFields() {
     // @todo Uncomment, remove next 2 lines in https://www.drupal.org/node/2820364.
     $this->assertSame(500, $response->getStatusCode());
     $this->assertSame(['text/plain; charset=UTF-8'], $response->getHeader('Content-Type'));
-    // $this->assertResourceErrorResponse(422, "Unprocessable Entity: validation failed.\nfield_name: This value should not be null.\n", $response);
+    // $this->assertResourceErrorResponse(422, "Unprocessable Entity: validation failed.\nfield_name: This value should not be null.\n", $response).
   }
 
   /**
diff --git a/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php b/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php
index fe4ebb8310..ca168d9ace 100644
--- a/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php
+++ b/core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php
@@ -1204,7 +1204,7 @@ public function testDelete() {
     // sets it to 'text/html' by default. We also cannot detect the presence of
     // Apache either here in the CLI. For now having this documented here is all
     // we can do.
-    // $this->assertSame(FALSE, $response->hasHeader('Content-Type'));
+    // $this->assertSame(FALSE, $response->hasHeader('Content-Type')).
     $this->assertSame('', (string) $response->getBody());
     $this->assertFalse($response->hasHeader('X-Drupal-Cache'));
 
diff --git a/core/modules/search/search.module b/core/modules/search/search.module
index ae99a8731e..f27d1ecbaf 100644
--- a/core/modules/search/search.module
+++ b/core/modules/search/search.module
@@ -206,7 +206,7 @@ function search_cron() {
 function search_update_totals() {
   // Update word IDF (Inverse Document Frequency) counts for new/changed words.
   foreach (search_dirty() as $word => $dummy) {
-    // Get total count
+    // Get total count.
     $total = db_query("SELECT SUM(score) FROM {search_index} WHERE word = :word", [':word' => $word], ['target' => 'replica'])->fetchField();
     // Apply Zipf's law to equalize the probability distribution.
     $total = log10(1 + 1 / (max(1, $total)));
@@ -254,10 +254,10 @@ function search_update_totals() {
  * @see hook_search_preprocess()
  */
 function search_simplify($text, $langcode = NULL) {
-  // Decode entities to UTF-8
+  // Decode entities to UTF-8.
   $text = Html::decodeEntities($text);
 
-  // Lowercase
+  // Lowercase.
   $text = Unicode::strtolower($text);
 
   // Remove diacritics.
@@ -266,7 +266,7 @@ function search_simplify($text, $langcode = NULL) {
   // Call an external processor for word handling.
   search_invoke_preprocess($text, $langcode);
 
-  // Simple CJK handling
+  // Simple CJK handling.
   if (\Drupal::config('search.settings')->get('index.overlap_cjk')) {
     $text = preg_replace_callback('/[' . PREG_CLASS_CJK . ']+/u', 'search_expand_cjk', $text);
   }
@@ -366,11 +366,11 @@ function search_index_split($text, $langcode = NULL) {
   if ($last == $text) {
     return $lastsplit;
   }
-  // Process words
+  // Process words.
   $text = search_simplify($text, $langcode);
   $words = explode(' ', $text);
 
-  // Save last keyword result
+  // Save last keyword result.
   $last = $text;
   $lastsplit = $words;
 
@@ -451,13 +451,13 @@ function search_index($type, $sid, $langcode, $text) {
   $accum = ' '; // Accumulator for cleaned up data
   $tagstack = []; // Stack with open tags
   $tagwords = 0; // Counter for consecutive words
-  $focus = 1; // Focus state
+  $focus = 1; // Focus state.
 
-  $scored_words = []; // Accumulator for words for index
+  $scored_words = []; // Accumulator for words for index.
 
   foreach ($split as $value) {
     if ($tag) {
-      // Increase or decrease score per word based on tag
+      // Increase or decrease score per word based on tag.
       list($tagname) = explode(' ', $value, 2);
       $tagname = Unicode::strtolower($tagname);
       // Closing or opening tag?
@@ -469,7 +469,7 @@ function search_index($type, $sid, $langcode, $text) {
           $score = 1;
         }
         else {
-          // Remove from tag stack and decrement score
+          // Remove from tag stack and decrement score.
           $score = max(1, $score - $tags[array_shift($tagstack)]);
         }
       }
@@ -481,7 +481,7 @@ function search_index($type, $sid, $langcode, $text) {
           $score = 1;
         }
         else {
-          // Add to open tag stack and increment score
+          // Add to open tag stack and increment score.
           array_unshift($tagstack, $tagname);
           $score += $tags[$tagname];
         }
@@ -490,13 +490,13 @@ function search_index($type, $sid, $langcode, $text) {
       $tagwords = 0;
     }
     else {
-      // Note: use of PREG_SPLIT_DELIM_CAPTURE above will introduce empty values
+      // Note: use of PREG_SPLIT_DELIM_CAPTURE above will introduce empty values.
       if ($value != '') {
         $words = search_index_split($value, $langcode);
         foreach ($words as $word) {
-          // Add word to accumulator
+          // Add word to accumulator.
           $accum .= $word . ' ';
-          // Check wordlength
+          // Check wordlength.
           if (is_numeric($word) || Unicode::strlen($word) >= $minimum_word_size) {
             if (!isset($scored_words[$word])) {
               $scored_words[$word] = 0;
@@ -522,7 +522,7 @@ function search_index($type, $sid, $langcode, $text) {
   // cache tags.
   search_index_clear($type, $sid, $langcode);
 
-  // Insert cleaned up data into dataset
+  // Insert cleaned up data into dataset.
   db_insert('search_dataset')
     ->fields([
       'sid' => $sid,
@@ -533,7 +533,7 @@ function search_index($type, $sid, $langcode, $text) {
     ])
     ->execute();
 
-  // Insert results into search index
+  // Insert results into search index.
   foreach ($scored_words as $word => $score) {
     // If a word already exists in the database, its score gets increased
     // appropriately. If not, we create a new record with the appropriate
diff --git a/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php b/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php
index b081b857d0..090f4183cc 100644
--- a/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php
+++ b/core/modules/search/src/Tests/SearchConfigSettingsFormTest.php
@@ -109,7 +109,7 @@ public function testSearchModuleSettingsPage() {
     $this->drupalGet('admin/config/search/pages');
     $this->clickLink(t('Edit'), 1);
 
-    // Ensure that the default setting was picked up from the default config
+    // Ensure that the default setting was picked up from the default config.
     $this->assertTrue($this->xpath('//select[@id="edit-extra-type-settings-boost"]//option[@value="bi" and @selected="selected"]'), 'Module specific settings are picked up from the default config');
 
     // Change extra type setting and also modify a common search setting.
diff --git a/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php b/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php
index c19814e026..8fb2761055 100644
--- a/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php
+++ b/core/modules/search/src/Tests/SearchNodeUpdateAndDeletionTest.php
@@ -47,16 +47,16 @@ public function testSearchIndexUpdateOnNodeChange() {
     $node_search_plugin->updateIndex();
     search_update_totals();
 
-    // Search the node to verify it appears in search results
+    // Search the node to verify it appears in search results.
     $edit = ['keys' => 'knights'];
     $this->drupalPostForm('search/node', $edit, t('Search'));
     $this->assertText($node->label());
 
-    // Update the node
+    // Update the node.
     $node->body->value = "We want a shrubbery!";
     $node->save();
 
-    // Run indexer again
+    // Run indexer again.
     $node_search_plugin->updateIndex();
     search_update_totals();
 
@@ -82,7 +82,7 @@ public function testSearchIndexUpdateOnNodeDeletion() {
     $node_search_plugin->updateIndex();
     search_update_totals();
 
-    // Search the node to verify it appears in search results
+    // Search the node to verify it appears in search results.
     $edit = ['keys' => 'dragons'];
     $this->drupalPostForm('search/node', $edit, t('Search'));
     $this->assertText($node->label());
diff --git a/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php b/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php
index 7cd9f8562d..14f0652c77 100644
--- a/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php
+++ b/core/modules/search/tests/src/Functional/SearchCommentCountToggleTest.php
@@ -59,12 +59,12 @@ protected function setUp() {
     $this->searchableNodes['1 comment'] = $this->drupalCreateNode($node_params);
     $this->searchableNodes['0 comments'] = $this->drupalCreateNode($node_params);
 
-    // Create a comment array
+    // Create a comment array.
     $edit_comment = [];
     $edit_comment['subject[0][value]'] = $this->randomMachineName();
     $edit_comment['comment_body[0][value]'] = $this->randomMachineName();
 
-    // Post comment to the test node with comment
+    // Post comment to the test node with comment.
     $this->drupalPostForm('comment/reply/node/' . $this->searchableNodes['1 comment']->id() . '/comment', $edit_comment, t('Save'));
 
     // First update the index. This does the initial processing.
@@ -86,12 +86,12 @@ public function testSearchCommentCountToggle() {
     ];
     $this->drupalGet('search/node');
 
-    // Test comment count display for nodes with comment status set to Open
+    // Test comment count display for nodes with comment status set to Open.
     $this->drupalPostForm(NULL, $edit, t('Search'));
     $this->assertText(t('0 comments'), 'Empty comment count displays for nodes with comment status set to Open');
     $this->assertText(t('1 comment'), 'Non-empty comment count displays for nodes with comment status set to Open');
 
-    // Test comment count display for nodes with comment status set to Closed
+    // Test comment count display for nodes with comment status set to Closed.
     $this->searchableNodes['0 comments']->set('comment', CommentItemInterface::CLOSED);
     $this->searchableNodes['0 comments']->save();
     $this->searchableNodes['1 comment']->set('comment', CommentItemInterface::CLOSED);
@@ -101,7 +101,7 @@ public function testSearchCommentCountToggle() {
     $this->assertNoText(t('0 comments'), 'Empty comment count does not display for nodes with comment status set to Closed');
     $this->assertText(t('1 comment'), 'Non-empty comment count displays for nodes with comment status set to Closed');
 
-    // Test comment count display for nodes with comment status set to Hidden
+    // Test comment count display for nodes with comment status set to Hidden.
     $this->searchableNodes['0 comments']->set('comment', CommentItemInterface::HIDDEN);
     $this->searchableNodes['0 comments']->save();
     $this->searchableNodes['1 comment']->set('comment', CommentItemInterface::HIDDEN);
diff --git a/core/modules/search/tests/src/Kernel/SearchExcerptTest.php b/core/modules/search/tests/src/Kernel/SearchExcerptTest.php
index e10075d09a..b59ac5dd5a 100644
--- a/core/modules/search/tests/src/Kernel/SearchExcerptTest.php
+++ b/core/modules/search/tests/src/Kernel/SearchExcerptTest.php
@@ -61,7 +61,7 @@ public function testSearchExcerpt() {
     $this->assertTrue(strpos($result, 'í') > 0, 'Entities are converted in excerpt');
 
     // The node body that will produce this rendered $text is:
-    // 123456789 HTMLTest +123456789+&lsquo;  +&lsquo;  +&lsquo;  +&lsquo;  +12345678  &nbsp;&nbsp;  +&lsquo;  +&lsquo;  +&lsquo;   &lsquo;
+    // 123456789 HTMLTest +123456789+&lsquo;  +&lsquo;  +&lsquo;  +&lsquo;  +12345678  &nbsp;&nbsp;  +&lsquo;  +&lsquo;  +&lsquo;   &lsquo;.
     $text = "<div class=\"field field--name-body field--type-text-with-summary field--label-hidden\"><div class=\"field__items\"><div class=\"field__item even\" property=\"content:encoded\"><p>123456789 HTMLTest +123456789+‘  +‘  +‘  +‘  +12345678      +‘  +‘  +‘   ‘</p>\n</div></div></div> ";
     $result = $this->doSearchExcerpt('HTMLTest', $text);
     $this->assertFalse(empty($result), 'Rendered Multi-byte HTML encodings are not corrupted in search excerpts');
diff --git a/core/modules/shortcut/src/Plugin/migrate/destination/EntityShortcutSet.php b/core/modules/shortcut/src/Plugin/migrate/destination/EntityShortcutSet.php
index fddf08a712..cdffd26f44 100644
--- a/core/modules/shortcut/src/Plugin/migrate/destination/EntityShortcutSet.php
+++ b/core/modules/shortcut/src/Plugin/migrate/destination/EntityShortcutSet.php
@@ -18,7 +18,7 @@ class EntityShortcutSet extends EntityConfigBase {
   protected function getEntity(Row $row, array $old_destination_id_values) {
     $entity = parent::getEntity($row, $old_destination_id_values);
     // Set the "syncing" flag to TRUE, to avoid duplication of default
-    // shortcut links
+    // shortcut links.
     $entity->setSyncing(TRUE);
     return $entity;
   }
diff --git a/core/modules/simpletest/simpletest.module b/core/modules/simpletest/simpletest.module
index 2213e9347d..7636ce26c9 100644
--- a/core/modules/simpletest/simpletest.module
+++ b/core/modules/simpletest/simpletest.module
@@ -540,7 +540,7 @@ function simpletest_log_read($test_id, $database_prefix, $test_class) {
     foreach (file($log) as $line) {
       if (preg_match('/\[.*?\] (.*?): (.*?) in (.*) on line (\d+)/', $line, $match)) {
         // Parse PHP fatal errors for example: PHP Fatal error: Call to
-        // undefined function break_me() in /path/to/file.php on line 17
+        // undefined function break_me() in /path/to/file.php on line 17.
         $caller = [
           'line' => $match[4],
           'file' => $match[3],
diff --git a/core/modules/simpletest/src/KernelTestBase.php b/core/modules/simpletest/src/KernelTestBase.php
index b133bfb2fb..25faa5ffbf 100644
--- a/core/modules/simpletest/src/KernelTestBase.php
+++ b/core/modules/simpletest/src/KernelTestBase.php
@@ -155,7 +155,7 @@ protected function setUp() {
 
     if (file_exists($directory . '/settings.testing.php')) {
       // Add the name of the testing class to settings.php and include the
-      // testing specific overrides
+      // testing specific overrides.
       $hash_salt = Settings::getHashSalt();
       $test_class = get_class($this);
       $container_yamls_export = Variable::export($container_yamls);
diff --git a/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php b/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php
index ef5d8c305d..f13d61811c 100644
--- a/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php
+++ b/core/modules/syslog/tests/src/Kernel/Migrate/d7/MigrateSyslogConfigsTest.php
@@ -35,7 +35,7 @@ protected function setUp() {
    */
   public function testSyslogSettings() {
     $config = $this->config('syslog.settings');
-    // 8 == LOG_USER
+    // 8 == LOG_USER.
     $this->assertIdentical(8, $config->get('facility'));
     $this->assertIdentical('!base_url|!timestamp|!type|!ip|!request_uri|!referer|!uid|!link|!message', $config->get('format'));
     $this->assertIdentical('drupal', $config->get('identity'));
diff --git a/core/modules/system/src/CronController.php b/core/modules/system/src/CronController.php
index ec1156955f..c3e8bc814f 100644
--- a/core/modules/system/src/CronController.php
+++ b/core/modules/system/src/CronController.php
@@ -46,7 +46,7 @@ public static function create(ContainerInterface $container) {
   public function run() {
     $this->cron->run();
 
-    // HTTP 204 is "No content", meaning "I did what you asked and we're done."
+    // HTTP 204 is "No content", meaning "I did what you asked and we're done.".
     return new Response('', 204);
   }
 
diff --git a/core/modules/system/src/Form/ModulesListForm.php b/core/modules/system/src/Form/ModulesListForm.php
index 28ff7ef4cc..0fb669a99c 100644
--- a/core/modules/system/src/Form/ModulesListForm.php
+++ b/core/modules/system/src/Form/ModulesListForm.php
@@ -258,7 +258,7 @@ protected function buildRow(array $modules, Extension $module, $distribution) {
 
     // Disable the checkbox for required modules.
     if (!empty($module->info['required'])) {
-      // Used when displaying modules that are required by the installation profile
+      // Used when displaying modules that are required by the installation profile.
       $row['enable']['#disabled'] = TRUE;
       $row['#required_by'][] = $distribution . (!empty($module->info['explanation']) ? ' (' . $module->info['explanation'] . ')' : '');
     }
diff --git a/core/modules/system/src/Form/ModulesUninstallForm.php b/core/modules/system/src/Form/ModulesUninstallForm.php
index 80348c59f1..fb63ccbb20 100644
--- a/core/modules/system/src/Form/ModulesUninstallForm.php
+++ b/core/modules/system/src/Form/ModulesUninstallForm.php
@@ -109,7 +109,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     $form['modules'] = [];
 
     // Only build the rest of the form if there are any modules available to
-    // uninstall;
+    // uninstall.
     if (empty($uninstallable)) {
       return $form;
     }
diff --git a/core/modules/system/src/Form/ThemeSettingsForm.php b/core/modules/system/src/Form/ThemeSettingsForm.php
index 2ad98931a3..3acb494614 100644
--- a/core/modules/system/src/Form/ThemeSettingsForm.php
+++ b/core/modules/system/src/Form/ThemeSettingsForm.php
@@ -113,7 +113,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $theme =
 
     $themes = $this->themeHandler->listInfo();
 
-    // Default settings are defined in theme_get_setting() in includes/theme.inc
+    // Default settings are defined in theme_get_setting() in includes/theme.inc.
     if ($theme) {
       if (!$this->themeHandler->hasUi($theme)) {
         throw new NotFoundHttpException();
@@ -141,7 +141,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $theme =
       '#value' => $config_key
     ];
 
-    // Toggle settings
+    // Toggle settings.
     $toggles = [
       'node_user_picture' => t('User pictures in posts'),
       'comment_user_picture' => t('User pictures in comments'),
@@ -149,7 +149,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $theme =
       'favicon' => t('Shortcut icon'),
     ];
 
-    // Some features are not always available
+    // Some features are not always available.
     $disabled = [];
     if (!user_picture_enabled()) {
       $disabled['toggle_node_user_picture'] = TRUE;
diff --git a/core/modules/system/src/SystemManager.php b/core/modules/system/src/SystemManager.php
index d2e03443db..24eb7fc421 100644
--- a/core/modules/system/src/SystemManager.php
+++ b/core/modules/system/src/SystemManager.php
@@ -104,7 +104,7 @@ public function checkRequirements() {
    *   An array of system requirements.
    */
   public function listRequirements() {
-    // Load .install files
+    // Load .install files.
     include_once DRUPAL_ROOT . '/core/includes/install.inc';
     drupal_load_updates();
 
diff --git a/core/modules/system/src/Tests/Image/ToolkitTestBase.php b/core/modules/system/src/Tests/Image/ToolkitTestBase.php
index 6c5ce54f24..9ba830a846 100644
--- a/core/modules/system/src/Tests/Image/ToolkitTestBase.php
+++ b/core/modules/system/src/Tests/Image/ToolkitTestBase.php
@@ -128,7 +128,7 @@ public function assertToolkitOperationsCalled(array $expected) {
    * Resets/initializes the history of calls to the test toolkit functions.
    */
   public function imageTestReset() {
-    // Keep track of calls to these operations
+    // Keep track of calls to these operations.
     $results = [
       'parseFile' => [],
       'save' => [],
diff --git a/core/modules/system/src/Tests/Module/DependencyTest.php b/core/modules/system/src/Tests/Module/DependencyTest.php
index c68e9fab71..228c61e123 100644
--- a/core/modules/system/src/Tests/Module/DependencyTest.php
+++ b/core/modules/system/src/Tests/Module/DependencyTest.php
@@ -137,7 +137,7 @@ public function testModuleEnableOrder() {
     \Drupal::state()->set('module_test.dependency', 'dependency');
     // module_test creates a dependency chain:
     // - color depends on config
-    // - config depends on help
+    // - config depends on help.
     $expected_order = ['help', 'config', 'color'];
 
     // Enable the modules through the UI, verifying that the dependency chain
diff --git a/core/modules/system/src/Tests/Pager/PagerTest.php b/core/modules/system/src/Tests/Pager/PagerTest.php
index 71413f283e..f8b8790b1a 100644
--- a/core/modules/system/src/Tests/Pager/PagerTest.php
+++ b/core/modules/system/src/Tests/Pager/PagerTest.php
@@ -161,7 +161,7 @@ public function testMultiplePagers() {
 
     // We loop through the page with the test data query parameters, and check
     // that the active page for each pager element has the expected page
-    // (1-indexed) and resulting query parameter
+    // (1-indexed) and resulting query parameter.
     foreach ($test_data as $data) {
       $input_query = str_replace(' ', '%20', $data['input_query']);
       $this->drupalGet($GLOBALS['base_root'] . parse_url($this->getUrl())['path'] . $input_query, ['external' => TRUE]);
diff --git a/core/modules/system/src/Tests/System/AccessDeniedTest.php b/core/modules/system/src/Tests/System/AccessDeniedTest.php
index ba1d599671..d5325d5400 100644
--- a/core/modules/system/src/Tests/System/AccessDeniedTest.php
+++ b/core/modules/system/src/Tests/System/AccessDeniedTest.php
@@ -87,7 +87,7 @@ public function testAccessDenied() {
     $this->assertResponse(403);
     $this->assertText(t('Username'), 'Blocks are shown on the default 403 page');
 
-    // Log back in, set the custom 403 page to /user/login and remove the block
+    // Log back in, set the custom 403 page to /user/login and remove the block.
     $this->drupalLogin($this->adminUser);
     $this->config('system.site')->set('page.403', '/user/login')->save();
     $block->disable()->save();
diff --git a/core/modules/system/src/Tests/System/PageTitleTest.php b/core/modules/system/src/Tests/System/PageTitleTest.php
index 44e33cb6e4..46ec8d57d9 100644
--- a/core/modules/system/src/Tests/System/PageTitleTest.php
+++ b/core/modules/system/src/Tests/System/PageTitleTest.php
@@ -105,7 +105,7 @@ public function testRoutingTitle() {
     $result = $this->xpath('//h1[@class="page-title"]');
     $this->assertEqual('Foo', (string) $result[0]);
 
-    // Test forms
+    // Test forms.
     $this->drupalGet('form-test/object-builder');
 
     $this->assertTitle('Test dynamic title | Drupal');
diff --git a/core/modules/system/src/Tests/System/ResponseGeneratorTest.php b/core/modules/system/src/Tests/System/ResponseGeneratorTest.php
index a535b66c42..c7d16b0438 100644
--- a/core/modules/system/src/Tests/System/ResponseGeneratorTest.php
+++ b/core/modules/system/src/Tests/System/ResponseGeneratorTest.php
@@ -40,13 +40,13 @@ public function testGeneratorHeaderAdded() {
     list($version) = explode('.', \Drupal::VERSION, 2);
     $expectedGeneratorHeader = 'Drupal ' . $version . ' (https://www.drupal.org)';
 
-    // Check to see if the header is added when viewing a normal content page
+    // Check to see if the header is added when viewing a normal content page.
     $this->drupalGet($node->urlInfo());
     $this->assertResponse(200);
     $this->assertEqual('text/html; charset=UTF-8', $this->drupalGetHeader('Content-Type'));
     $this->assertEqual($expectedGeneratorHeader, $this->drupalGetHeader('X-Generator'));
 
-    // Check to see if the header is also added for a non-successful response
+    // Check to see if the header is also added for a non-successful response.
     $this->drupalGet('llama');
     $this->assertResponse(404);
     $this->assertEqual('text/html; charset=UTF-8', $this->drupalGetHeader('Content-Type'));
@@ -60,7 +60,7 @@ public function testGeneratorHeaderAdded() {
     $resource_config->set('configuration', $configuration)->save();
     $this->rebuildCache();
 
-    // Tests to see if this also works for a non-html request
+    // Tests to see if this also works for a non-html request.
     $this->httpRequest($node->urlInfo()->setOption('query', ['_format' => 'hal_json']), 'GET');
     $this->assertResponse(200);
     $this->assertEqual('application/hal+json', $this->drupalGetHeader('Content-Type'));
diff --git a/core/modules/system/src/Tests/System/UncaughtExceptionTest.php b/core/modules/system/src/Tests/System/UncaughtExceptionTest.php
index b66837e1c7..fc8c82eb40 100644
--- a/core/modules/system/src/Tests/System/UncaughtExceptionTest.php
+++ b/core/modules/system/src/Tests/System/UncaughtExceptionTest.php
@@ -256,7 +256,7 @@ public function testLoggerException() {
     $this->assertText('The website encountered an unexpected error. Please try again later.');
     $this->assertRaw($this->expectedExceptionMessage);
 
-    // Find fatal error logged to the simpletest error.log
+    // Find fatal error logged to the simpletest error.log.
     $errors = file(\Drupal::root() . '/' . $this->siteDirectory . '/error.log');
     $this->assertIdentical(count($errors), 8, 'The error + the error that the logging service is broken has been written to the error log.');
     $this->assertTrue(strpos($errors[0], 'Failed to log error') !== FALSE, 'The error handling logs when an error could not be logged to the logger.');
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index db361f3971..bcc050f3a5 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -32,7 +32,7 @@ function system_requirements($phase) {
   global $install_state;
   $requirements = [];
 
-  // Report Drupal version
+  // Report Drupal version.
   if ($phase == 'runtime') {
     $requirements['drupal'] = [
       'title' => t('Drupal'),
@@ -104,7 +104,7 @@ function system_requirements($phase) {
     if (preg_match('/Apache\/(\d+)\.?(\d+)?\.?(\d+)?/', $software, $matches)) {
       $apache_version_string = $matches[0];
 
-      // Major version number
+      // Major version number.
       if ($matches[1] < 2) {
         $rewrite_error = TRUE;
       }
@@ -157,7 +157,7 @@ function system_requirements($phase) {
     }
   }
 
-  // Test PHP version and show link to phpinfo() if it's available
+  // Test PHP version and show link to phpinfo() if it's available.
   $phpversion = $phpversion_label = phpversion();
   if (function_exists('phpinfo')) {
     if ($phase === 'runtime') {
@@ -356,7 +356,7 @@ function system_requirements($phase) {
     ];
   }
 
-  // Test PHP memory_limit
+  // Test PHP memory_limit.
   $memory_limit = ini_get('memory_limit');
   $requirements['php_memory_limit'] = [
     'title' => t('PHP memory limit'),
@@ -746,7 +746,7 @@ function system_requirements($phase) {
     }
   }
 
-  // Verify the update.php access setting
+  // Verify the update.php access setting.
   if ($phase == 'runtime') {
     if (Settings::get('update_free_access')) {
       $requirements['update access'] = [
@@ -920,7 +920,7 @@ function system_requirements($phase) {
     }
   }
 
-  // Warning for httpoxy on IIS with affected PHP versions
+  // Warning for httpoxy on IIS with affected PHP versions.
   // @see https://www.drupal.org/node/2783079
   if (strpos($software, 'Microsoft-IIS') !== FALSE
     && (
diff --git a/core/modules/system/tests/fixtures/update/drupal-8.entity-data-revision-metadata-fields-2248983.php b/core/modules/system/tests/fixtures/update/drupal-8.entity-data-revision-metadata-fields-2248983.php
index 0c537f5345..83686b24e9 100644
--- a/core/modules/system/tests/fixtures/update/drupal-8.entity-data-revision-metadata-fields-2248983.php
+++ b/core/modules/system/tests/fixtures/update/drupal-8.entity-data-revision-metadata-fields-2248983.php
@@ -11,7 +11,7 @@
 
 $connection = Database::getConnection();
 
-// Data for entity type "entity_test_revlog"
+// Data for entity type "entity_test_revlog".
 $connection->insert('entity_test_revlog')
   ->fields([
     'id',
@@ -67,7 +67,7 @@
   ])
   ->execute();
 
-// Data for entity type "entity_test_mul_revlog"
+// Data for entity type "entity_test_mul_revlog".
 $connection->insert('entity_test_mul_revlog')
   ->fields([
     'id',
diff --git a/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc b/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc
index 9116c85fed..8af8c46c0c 100644
--- a/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc
+++ b/core/modules/system/tests/modules/batch_test/batch_test.callbacks.inc
@@ -70,7 +70,7 @@ function _batch_test_callback_5($id, $sleep, &$context) {
   // 'finished' callback.
   batch_test_stack("op 5 id $id");
   $context['results'][5][] = $id;
-  // This test is to test finished > 1
+  // This test is to test finished > 1.
   $context['finished'] = 3.14;
 }
 
diff --git a/core/modules/system/tests/modules/form_test/src/Form/FormTestOptionalContainerForm.php b/core/modules/system/tests/modules/form_test/src/Form/FormTestOptionalContainerForm.php
index 7cacf2e20c..b9c0f74da2 100644
--- a/core/modules/system/tests/modules/form_test/src/Form/FormTestOptionalContainerForm.php
+++ b/core/modules/system/tests/modules/form_test/src/Form/FormTestOptionalContainerForm.php
@@ -33,7 +33,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       '#optional' => FALSE,
     ];
 
-    // Non-empty containers
+    // Non-empty containers.
     $form['nonempty_optional'] = [
       '#type' => 'container',
       '#attributes' => ['class' => ['nonempty_optional']],
diff --git a/core/modules/system/tests/modules/form_test/src/Form/FormTestStorageForm.php b/core/modules/system/tests/modules/form_test/src/Form/FormTestStorageForm.php
index 9187012977..8b639317e8 100644
--- a/core/modules/system/tests/modules/form_test/src/Form/FormTestStorageForm.php
+++ b/core/modules/system/tests/modules/form_test/src/Form/FormTestStorageForm.php
@@ -30,14 +30,14 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     if ($form_state->isRebuilding()) {
       $form_state->setUserInput([]);
     }
-    // Initialize
+    // Initialize.
     $storage = $form_state->getStorage();
     if (empty($storage)) {
       $user_input = $form_state->getUserInput();
       if (empty($user_input)) {
         $_SESSION['constructions'] = 0;
       }
-      // Put the initial thing into the storage
+      // Put the initial thing into the storage.
       $storage = [
         'thing' => [
           'title' => 'none',
diff --git a/core/modules/system/tests/src/Functional/Database/SelectTableSortDefaultTest.php b/core/modules/system/tests/src/Functional/Database/SelectTableSortDefaultTest.php
index 2904d31fa6..b9ac1c0ebb 100644
--- a/core/modules/system/tests/src/Functional/Database/SelectTableSortDefaultTest.php
+++ b/core/modules/system/tests/src/Functional/Database/SelectTableSortDefaultTest.php
@@ -21,7 +21,7 @@ public function testTableSortQuery() {
       ['field' => t('Task ID'), 'sort' => 'asc', 'first' => 'eat', 'last' => 'perform at superbowl'],
       ['field' => t('Task'), 'sort' => 'asc', 'first' => 'code', 'last' => 'sleep'],
       ['field' => t('Task'), 'sort' => 'desc', 'first' => 'sleep', 'last' => 'code'],
-      // more elements here
+      // more elements here.
 
     ];
 
@@ -49,7 +49,7 @@ public function testTableSortQueryFirst() {
       ['field' => t('Task ID'), 'sort' => 'asc', 'first' => 'eat', 'last' => 'perform at superbowl'],
       ['field' => t('Task'), 'sort' => 'asc', 'first' => 'code', 'last' => 'sleep'],
       ['field' => t('Task'), 'sort' => 'desc', 'first' => 'sleep', 'last' => 'code'],
-      // more elements here
+      // more elements here.
 
     ];
 
diff --git a/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php b/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php
index d2114fdf8e..c00b7cc98b 100644
--- a/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php
+++ b/core/modules/system/tests/src/Functional/Datetime/DrupalDateTimeTest.php
@@ -102,7 +102,7 @@ public function testDateTimezone() {
    * Tests the ability to override the time zone in the format method.
    */
   public function testTimezoneFormat() {
-    // Create a date in UTC
+    // Create a date in UTC.
     $date = DrupalDateTime::createFromTimestamp(87654321, 'UTC');
 
     // Verify that the date format method displays the default time zone.
diff --git a/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php b/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php
index 04b1f66361..09d33096de 100644
--- a/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php
+++ b/core/modules/system/tests/src/Functional/FileTransfer/FileTransferTest.php
@@ -60,7 +60,7 @@ public function _writeDirectory($base, $files = []) {
         $this->_writeDirectory($base . DIRECTORY_SEPARATOR . $key, $file);
       }
       else {
-        // just write the filename into the file
+        // just write the filename into the file.
         file_put_contents($base . DIRECTORY_SEPARATOR . $file, $file);
       }
     }
diff --git a/core/modules/system/tests/src/Functional/Form/FormTest.php b/core/modules/system/tests/src/Functional/Form/FormTest.php
index 87c7632457..9b17027226 100644
--- a/core/modules/system/tests/src/Functional/Form/FormTest.php
+++ b/core/modules/system/tests/src/Functional/Form/FormTest.php
@@ -288,7 +288,7 @@ public function testInputWithInvalidToken() {
     $this->assertText('The form has become outdated. Copy any unsaved work in the form below');
     $this->assertFieldByName('integer_step', $edit['integer_step']);
 
-    // Check a form with a Url field
+    // Check a form with a Url field.
     $this->drupalGet(Url::fromRoute('form_test.url'));
     $this->assertSession()
       ->elementExists('css', 'input[name="form_token"]')
diff --git a/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php b/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php
index 12a157d587..032a7d54ac 100644
--- a/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php
+++ b/core/modules/system/tests/src/Functional/Menu/LocalTasksTest.php
@@ -165,7 +165,7 @@ public function testPluginLocalTask() {
     $this->assertEqual('Settings(active tab)', $result[0]->getText(), 'The settings tab is active.');
     $this->assertEqual('Derive 1(active tab)', $result[1]->getText(), 'The derive1 tab is active.');
 
-    // Ensures that the local tasks contains the proper 'provider key'
+    // Ensures that the local tasks contains the proper 'provider key'.
     $definitions = $this->container->get('plugin.manager.menu.local_task')->getDefinitions();
     $this->assertEqual($definitions['menu_test.local_task_test_tasks_view']['provider'], 'menu_test');
     $this->assertEqual($definitions['menu_test.local_task_test_tasks_edit']['provider'], 'menu_test');
diff --git a/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php b/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php
index faafe84600..a83601cf06 100644
--- a/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php
+++ b/core/modules/system/tests/src/Functional/ParamConverter/UpcastingTest.php
@@ -29,17 +29,17 @@ public function testUpcasting() {
     $user = $this->drupalCreateUser(['access content']);
     $foo = 'bar';
 
-    // paramconverter_test/test_user_node_foo/{user}/{node}/{foo}
+    // paramconverter_test/test_user_node_foo/{user}/{node}/{foo}.
     $this->drupalGet("paramconverter_test/test_user_node_foo/" . $user->id() . '/' . $node->id() . "/$foo");
     $this->assertRaw("user: {$user->label()}, node: {$node->label()}, foo: $foo", 'user and node upcast by entity name');
 
     // paramconverter_test/test_node_user_user/{node}/{foo}/{user}
-    // options.parameters.foo.type = entity:user
+    // options.parameters.foo.type = entity:user.
     $this->drupalGet("paramconverter_test/test_node_user_user/" . $node->id() . "/" . $user->id() . "/" . $user->id());
     $this->assertRaw("user: {$user->label()}, node: {$node->label()}, foo: {$user->label()}", 'foo converted to user as well');
 
     // paramconverter_test/test_node_node_foo/{user}/{node}/{foo}
-    // options.parameters.user.type = entity:node
+    // options.parameters.user.type = entity:node.
     $this->drupalGet("paramconverter_test/test_node_node_foo/" . $node->id() . "/" . $node->id() . "/$foo");
     $this->assertRaw("user: {$node->label()}, node: {$node->label()}, foo: $foo", 'user is upcast to node (rather than to user)');
   }
@@ -51,7 +51,7 @@ public function testSameTypes() {
     $node = $this->drupalCreateNode(['title' => $this->randomMachineName(8)]);
     $parent = $this->drupalCreateNode(['title' => $this->randomMachineName(8)]);
     // paramconverter_test/node/{node}/set/parent/{parent}
-    // options.parameters.parent.type = entity:node
+    // options.parameters.parent.type = entity:node.
     $this->drupalGet("paramconverter_test/node/" . $node->id() . "/set/parent/" . $parent->id());
     $this->assertRaw("Setting '" . $parent->getTitle() . "' as parent of '" . $node->getTitle() . "'.");
   }
diff --git a/core/modules/system/tests/src/Functional/System/StatusTest.php b/core/modules/system/tests/src/Functional/System/StatusTest.php
index 1ec4fb5aab..4388f41e1b 100644
--- a/core/modules/system/tests/src/Functional/System/StatusTest.php
+++ b/core/modules/system/tests/src/Functional/System/StatusTest.php
@@ -91,7 +91,7 @@ public function testStatusPage() {
     $this->drupalGet('admin/reports/status/php');
     $this->assertResponse(200, 'The phpinfo page is reachable.');
 
-    // Check if cron error is displayed in errors section
+    // Check if cron error is displayed in errors section.
     $cron_last_run = \Drupal::state()->get('system.cron_last');
     \Drupal::state()->set('system.cron_last', 0);
     $this->drupalGet('admin/reports/status');
diff --git a/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
index 0216e2dd31..c4a0bdb36c 100644
--- a/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
+++ b/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
@@ -20,7 +20,7 @@ class MigrateSystemConfigurationTest extends MigrateDrupal7TestBase {
     'system.cron' => [
       'threshold' => [
         // autorun is not handled by the migration.
-        // 'autorun' => 0,
+        // 'autorun' => 0.
         'requirements_warning' => 172800,
         'requirements_error' => 1209600,
       ],
diff --git a/core/modules/taxonomy/src/Plugin/views/argument/IndexTidDepth.php b/core/modules/taxonomy/src/Plugin/views/argument/IndexTidDepth.php
index 37abdd565e..825cc89887 100644
--- a/core/modules/taxonomy/src/Plugin/views/argument/IndexTidDepth.php
+++ b/core/modules/taxonomy/src/Plugin/views/argument/IndexTidDepth.php
@@ -136,7 +136,7 @@ public function title() {
     if (!empty($term)) {
       return $term->getName();
     }
-    // TODO review text
+    // TODO review text.
     return $this->t('No name');
   }
 
diff --git a/core/modules/taxonomy/src/Plugin/views/argument/Taxonomy.php b/core/modules/taxonomy/src/Plugin/views/argument/Taxonomy.php
index 25efbf35cc..71a3b2c9a2 100644
--- a/core/modules/taxonomy/src/Plugin/views/argument/Taxonomy.php
+++ b/core/modules/taxonomy/src/Plugin/views/argument/Taxonomy.php
@@ -53,7 +53,7 @@ public function title() {
         return $term->getName();
       }
     }
-    // TODO review text
+    // TODO review text.
     return $this->t('No name');
   }
 
diff --git a/core/modules/taxonomy/src/Plugin/views/argument_default/Tid.php b/core/modules/taxonomy/src/Plugin/views/argument_default/Tid.php
index ee5a2602d8..48928f9e3a 100644
--- a/core/modules/taxonomy/src/Plugin/views/argument_default/Tid.php
+++ b/core/modules/taxonomy/src/Plugin/views/argument_default/Tid.php
@@ -200,7 +200,7 @@ public function getArgument() {
         }
         if (!empty($this->options['limit'])) {
           $tids = [];
-          // filter by vocabulary
+          // filter by vocabulary.
           foreach ($taxonomy as $tid => $vocab) {
             if (!empty($this->options['vids'][$vocab])) {
               $tids[] = $tid;
diff --git a/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php b/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php
index efadf83126..d5d4847faf 100644
--- a/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php
+++ b/core/modules/taxonomy/src/Plugin/views/filter/TaxonomyIndexTid.php
@@ -253,7 +253,7 @@ protected function valueForm(&$form, FormStateInterface $form_state) {
     }
 
     if (!$form_state->get('exposed')) {
-      // Retain the helper option
+      // Retain the helper option.
       $this->helper->buildOptionsForm($form, $form_state);
 
       // Show help text if not exposed to end users.
@@ -288,7 +288,7 @@ public function acceptExposedInput($input) {
     }
 
     // If view is an attachment and is inheriting exposed filters, then assume
-    // exposed input has already been validated
+    // exposed input has already been validated.
     if (!empty($this->view->is_attachment) && $this->view->display_handler->usesExposed()) {
       $this->validated_exposed_input = (array) $this->view->exposed_raw_input[$this->options['expose']['identifier']];
     }
@@ -358,7 +358,7 @@ public function buildExposeForm(&$form, FormStateInterface $form_state) {
   }
 
   public function adminSummary() {
-    // set up $this->valueOptions for the parent summary
+    // set up $this->valueOptions for the parent summary.
     $this->valueOptions = [];
 
     if ($this->value) {
diff --git a/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php b/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php
index 13fd056aba..4faf07eb12 100644
--- a/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php
+++ b/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php
@@ -122,7 +122,7 @@ public function query() {
       $def['type'] = empty($this->options['required']) ? 'LEFT' : 'INNER';
     }
     else {
-      // If vocabularies are supplied join a subselect instead
+      // If vocabularies are supplied join a subselect instead.
       $def['left_table'] = $this->tableAlias;
       $def['left_field'] = 'nid';
       $def['field'] = 'nid';
diff --git a/core/modules/taxonomy/src/TermViewsData.php b/core/modules/taxonomy/src/TermViewsData.php
index 5e98bfe9b2..b5cc878122 100644
--- a/core/modules/taxonomy/src/TermViewsData.php
+++ b/core/modules/taxonomy/src/TermViewsData.php
@@ -137,12 +137,12 @@ public function getViewsData() {
 
     $data['taxonomy_index']['table']['join'] = [
       'taxonomy_term_field_data' => [
-        // links directly to taxonomy_term_field_data via tid
+        // links directly to taxonomy_term_field_data via tid.
         'left_field' => 'tid',
         'field' => 'tid',
       ],
       'node_field_data' => [
-        // links directly to node via nid
+        // links directly to node via nid.
         'left_field' => 'nid',
         'field' => 'nid',
       ],
diff --git a/core/modules/taxonomy/taxonomy.tokens.inc b/core/modules/taxonomy/taxonomy.tokens.inc
index 211a121445..48615dd665 100644
--- a/core/modules/taxonomy/taxonomy.tokens.inc
+++ b/core/modules/taxonomy/taxonomy.tokens.inc
@@ -67,7 +67,7 @@ function taxonomy_token_info() {
     'description' => t("The number of terms belonging to the taxonomy vocabulary."),
   ];
 
-  // Chained tokens for taxonomies
+  // Chained tokens for taxonomies.
   $term['vocabulary'] = [
     'name' => t("Vocabulary"),
     'description' => t("The vocabulary the taxonomy term belongs to."),
diff --git a/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php b/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php
index f60e77e534..4c2ba7cfd2 100644
--- a/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/TermLanguageTest.php
@@ -135,7 +135,7 @@ public function testTermTranslatedOnOverviewPage() {
     ]);
     $term->save();
 
-    // Overview page in the other language shows the translated term
+    // Overview page in the other language shows the translated term.
     $this->drupalGet('bb/admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/overview');
     $this->assertPattern('|<a[^>]*>' . $translated_title . '</a>|', 'The term language is correct');
   }
diff --git a/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldAllTermsTest.php b/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldAllTermsTest.php
index ad1d67d6bc..b6c090c352 100644
--- a/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldAllTermsTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyFieldAllTermsTest.php
@@ -47,19 +47,19 @@ public function testViewsHandlerAllTermsWithTokens() {
     $view = Views::getView('taxonomy_all_terms_test');
     $this->drupalGet('taxonomy_all_terms_token_test');
 
-    // Term itself: {{ term_node_tid }}
+    // Term itself: {{ term_node_tid }}.
     $this->assertText('Term: ' . $this->term1->getName());
 
-    // The taxonomy term ID for the term: {{ term_node_tid__tid }}
+    // The taxonomy term ID for the term: {{ term_node_tid__tid }}.
     $this->assertText('The taxonomy term ID for the term: ' . $this->term1->id());
 
-    // The taxonomy term name for the term: {{ term_node_tid__name }}
+    // The taxonomy term name for the term: {{ term_node_tid__name }}.
     $this->assertText('The taxonomy term name for the term: ' . $this->term1->getName());
 
-    // The machine name for the vocabulary the term belongs to: {{ term_node_tid__vocabulary_vid }}
+    // The machine name for the vocabulary the term belongs to: {{ term_node_tid__vocabulary_vid }}.
     $this->assertText('The machine name for the vocabulary the term belongs to: ' . $this->term1->bundle());
 
-    // The name for the vocabulary the term belongs to: {{ term_node_tid__vocabulary }}
+    // The name for the vocabulary the term belongs to: {{ term_node_tid__vocabulary }}.
     $vocabulary = Vocabulary::load($this->term1->bundle());
     $this->assertText('The name for the vocabulary the term belongs to: ' . $vocabulary->label());
   }
diff --git a/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyIndexTidUiTest.php b/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyIndexTidUiTest.php
index 4de73705d9..4a9356312b 100644
--- a/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyIndexTidUiTest.php
+++ b/core/modules/taxonomy/tests/src/Functional/Views/TaxonomyIndexTidUiTest.php
@@ -60,7 +60,7 @@ protected function setUp($import_test_views = TRUE) {
     // - term 1.1
     // term 2.0
     // - term 2.1
-    // - term 2.2
+    // - term 2.2.
     for ($i = 0; $i < 3; $i++) {
       for ($j = 0; $j <= $i; $j++) {
         $this->terms[$i][$j] = $term = Term::create([
diff --git a/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php b/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php
index 6dd4339299..a65b86001b 100644
--- a/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php
+++ b/core/modules/text/src/Plugin/Field/FieldType/TextItemBase.php
@@ -74,7 +74,7 @@ public static function generateSampleValue(FieldDefinitionInterface $field_defin
     $settings = $field_definition->getSettings();
 
     if (empty($settings['max_length'])) {
-      // Textarea handling
+      // Textarea handling.
       $value = $random->paragraphs();
     }
     else {
diff --git a/core/modules/text/tests/src/Kernel/TextSummaryTest.php b/core/modules/text/tests/src/Kernel/TextSummaryTest.php
index 15d4549472..128e4d83b0 100644
--- a/core/modules/text/tests/src/Kernel/TextSummaryTest.php
+++ b/core/modules/text/tests/src/Kernel/TextSummaryTest.php
@@ -38,7 +38,7 @@ public function testLongSentence() {
     $text = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ' . // 125
             'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ' . // 108
             'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. ' . // 103
-            'Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'; // 110
+            'Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'; // 110.
     $expected = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ' .
                 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ' .
                 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.';
diff --git a/core/modules/text/text.module b/core/modules/text/text.module
index 1932e61649..6cf3acf769 100644
--- a/core/modules/text/text.module
+++ b/core/modules/text/text.module
@@ -66,7 +66,7 @@ function text_summary($text, $format = NULL, $size = NULL) {
     $size = \Drupal::config('text.settings')->get('default_summary_length');
   }
 
-  // Find where the delimiter is in the body
+  // Find where the delimiter is in the body.
   $delimiter = strpos($text, '<!--break-->');
 
   // If the size is zero, and there is no delimiter, the entire body is the summary.
diff --git a/core/modules/tracker/tracker.views.inc b/core/modules/tracker/tracker.views.inc
index 54402879dd..2f38511532 100644
--- a/core/modules/tracker/tracker.views.inc
+++ b/core/modules/tracker/tracker.views.inc
@@ -157,7 +157,7 @@ function tracker_views_data() {
  * Implements hook_views_data_alter().
  */
 function tracker_views_data_alter(&$data) {
-  // Provide additional uid_touch handlers which are handled by tracker
+  // Provide additional uid_touch handlers which are handled by tracker.
   $data['node_field_data']['uid_touch_tracker'] = [
     'group' => t('Tracker - User'),
     'title' => t('User posted or commented'),
diff --git a/core/modules/update/tests/src/Functional/UpdateContribTest.php b/core/modules/update/tests/src/Functional/UpdateContribTest.php
index 20d397cd48..d0180fd490 100644
--- a/core/modules/update/tests/src/Functional/UpdateContribTest.php
+++ b/core/modules/update/tests/src/Functional/UpdateContribTest.php
@@ -196,13 +196,13 @@ public function testUpdateBaseThemeSecurityUpdate() {
       '#all' => [
         'version' => '8.0.0',
       ],
-      // Show the update_test_basetheme
+      // Show the update_test_basetheme.
       'update_test_basetheme' => [
         'project' => 'update_test_basetheme',
         'version' => '8.x-1.0',
         'hidden' => FALSE,
       ],
-      // Show the update_test_subtheme
+      // Show the update_test_subtheme.
       'update_test_subtheme' => [
         'project' => 'update_test_subtheme',
         'version' => '8.x-1.0',
diff --git a/core/modules/update/update.compare.inc b/core/modules/update/update.compare.inc
index 2ba5fdce75..728bdf5976 100644
--- a/core/modules/update/update.compare.inc
+++ b/core/modules/update/update.compare.inc
@@ -24,7 +24,7 @@ function update_process_project_info(&$projects) {
     $info = $project['info'];
 
     if (isset($info['version'])) {
-      // Check for development snapshots
+      // Check for development snapshots.
       if (preg_match('@(dev|HEAD)@', $info['version'])) {
         $install_type = 'dev';
       }
diff --git a/core/modules/user/src/Form/UserLoginForm.php b/core/modules/user/src/Form/UserLoginForm.php
index 25a54ec4b7..5e016e1dc3 100644
--- a/core/modules/user/src/Form/UserLoginForm.php
+++ b/core/modules/user/src/Form/UserLoginForm.php
@@ -129,7 +129,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
   public function submitForm(array &$form, FormStateInterface $form_state) {
     $account = $this->userStorage->load($form_state->get('uid'));
 
-    // A destination was set, probably on an exception controller,
+    // A destination was set, probably on an exception controller.
     if (!$this->getRequest()->request->has('destination')) {
       $form_state->setRedirect(
         'entity.user.canonical',
diff --git a/core/modules/user/src/Plugin/Validation/Constraint/UserNameConstraintValidator.php b/core/modules/user/src/Plugin/Validation/Constraint/UserNameConstraintValidator.php
index 9e4776bdca..a6fc4126fc 100644
--- a/core/modules/user/src/Plugin/Validation/Constraint/UserNameConstraintValidator.php
+++ b/core/modules/user/src/Plugin/Validation/Constraint/UserNameConstraintValidator.php
@@ -31,23 +31,23 @@ public function validate($items, Constraint $constraint) {
     }
     if (preg_match('/[^\x{80}-\x{F7} a-z0-9@+_.\'-]/i', $name)
       || preg_match(
-        // Non-printable ISO-8859-1 + NBSP
+        // Non-printable ISO-8859-1 + NBSP.
         '/[\x{80}-\x{A0}' .
-        // Soft-hyphen
+        // Soft-hyphen.
         '\x{AD}' .
-        // Various space characters
+        // Various space characters.
         '\x{2000}-\x{200F}' .
-        // Bidirectional text overrides
+        // Bidirectional text overrides.
         '\x{2028}-\x{202F}' .
-        // Various text hinting characters
+        // Various text hinting characters.
         '\x{205F}-\x{206F}' .
-        // Byte order mark
+        // Byte order mark.
         '\x{FEFF}' .
-        // Full-width latin
+        // Full-width latin.
         '\x{FF01}-\x{FF60}' .
-        // Replacement characters
+        // Replacement characters.
         '\x{FFF9}-\x{FFFD}' .
-        // NULL byte and control characters
+        // NULL byte and control characters.
         '\x{0}-\x{1F}]/u',
         $name)
     ) {
diff --git a/core/modules/user/src/Plugin/views/access/Permission.php b/core/modules/user/src/Plugin/views/access/Permission.php
index 8d0c43dfce..d91aef0c01 100644
--- a/core/modules/user/src/Plugin/views/access/Permission.php
+++ b/core/modules/user/src/Plugin/views/access/Permission.php
@@ -110,7 +110,7 @@ protected function defineOptions() {
 
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
-    // Get list of permissions
+    // Get list of permissions.
     $perms = [];
     $permissions = $this->permissionHandler->getPermissions();
     foreach ($permissions as $perm => $perm_item) {
diff --git a/core/modules/user/src/Plugin/views/argument_validator/User.php b/core/modules/user/src/Plugin/views/argument_validator/User.php
index e7d213917b..9c05e25533 100644
--- a/core/modules/user/src/Plugin/views/argument_validator/User.php
+++ b/core/modules/user/src/Plugin/views/argument_validator/User.php
@@ -75,7 +75,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    * {@inheritdoc}
    */
   public function submitOptionsForm(&$form, FormStateInterface $form_state, &$options = []) {
-    // filter trash out of the options so we don't store giant unnecessary arrays
+    // filter trash out of the options so we don't store giant unnecessary arrays.
     $options['roles'] = array_filter($options['roles']);
   }
 
diff --git a/core/modules/user/src/Plugin/views/filter/Name.php b/core/modules/user/src/Plugin/views/filter/Name.php
index f4260c5c0b..5c8219e2fd 100644
--- a/core/modules/user/src/Plugin/views/filter/Name.php
+++ b/core/modules/user/src/Plugin/views/filter/Name.php
@@ -104,7 +104,7 @@ public function getValueOptions() {
   }
 
   public function adminSummary() {
-    // set up $this->valueOptions for the parent summary
+    // set up $this->valueOptions for the parent summary.
     $this->valueOptions = [];
 
     if ($this->value) {
diff --git a/core/modules/user/src/Tests/UserAdminTest.php b/core/modules/user/src/Tests/UserAdminTest.php
index f3ee85a97b..845a309766 100644
--- a/core/modules/user/src/Tests/UserAdminTest.php
+++ b/core/modules/user/src/Tests/UserAdminTest.php
@@ -111,13 +111,13 @@ public function testUserAdmin() {
     $account = $user_storage->load($user_c->id());
     $this->assertTrue($account->isBlocked(), 'User C blocked');
 
-    // Test filtering on admin page for blocked users
+    // Test filtering on admin page for blocked users.
     $this->drupalGet('admin/people', ['query' => ['status' => 2]]);
     $this->assertNoText($user_a->getUsername(), 'User A not on filtered by status on admin users page');
     $this->assertNoText($user_b->getUsername(), 'User B not on filtered by status on admin users page');
     $this->assertText($user_c->getUsername(), 'User C on filtered by status on admin users page');
 
-    // Test unblocking of a user from /admin/people page and sending of activation mail
+    // Test unblocking of a user from /admin/people page and sending of activation mail.
     $editunblock = [];
     $editunblock['action'] = 'user_unblock_user_action';
     $editunblock['user_bulk_form[4]'] = TRUE;
@@ -131,7 +131,7 @@ public function testUserAdmin() {
     $this->assertTrue($account->isActive(), 'User C unblocked');
     $this->assertMail("to", $account->getEmail(), "Activation mail sent to user C");
 
-    // Test blocking and unblocking another user from /user/[uid]/edit form and sending of activation mail
+    // Test blocking and unblocking another user from /user/[uid]/edit form and sending of activation mail.
     $user_d = $this->drupalCreateUser([]);
     $user_storage->resetCache([$user_d->id()]);
     $account1 = $user_storage->load($user_d->id());
diff --git a/core/modules/user/src/Tests/UserLoginTest.php b/core/modules/user/src/Tests/UserLoginTest.php
index d92c1c7ae6..10826cea47 100644
--- a/core/modules/user/src/Tests/UserLoginTest.php
+++ b/core/modules/user/src/Tests/UserLoginTest.php
@@ -109,10 +109,10 @@ public function testPerUserLoginFloodControl() {
    * Test that user password is re-hashed upon login after changing $count_log2.
    */
   public function testPasswordRehashOnLogin() {
-    // Determine default log2 for phpass hashing algorithm
+    // Determine default log2 for phpass hashing algorithm.
     $default_count_log2 = 16;
 
-    // Retrieve instance of password hashing algorithm
+    // Retrieve instance of password hashing algorithm.
     $password_hasher = $this->container->get('password');
 
     // Create a new user and authenticate.
diff --git a/core/modules/user/src/Tests/Views/ArgumentValidateTest.php b/core/modules/user/src/Tests/Views/ArgumentValidateTest.php
index 3365bd8919..f86e06430e 100644
--- a/core/modules/user/src/Tests/Views/ArgumentValidateTest.php
+++ b/core/modules/user/src/Tests/Views/ArgumentValidateTest.php
@@ -45,7 +45,7 @@ public function testArgumentValidateUserUid() {
     $this->assertTrue($view->argument['null']->validateArgument($account->id()));
     // Reset argument validation.
     $view->argument['null']->argument_validated = NULL;
-    // Fail for a valid numeric, but for a user that doesn't exist
+    // Fail for a valid numeric, but for a user that doesn't exist.
     $this->assertFalse($view->argument['null']->validateArgument(32));
 
     $form = [];
@@ -67,7 +67,7 @@ public function testArgumentValidateUserName() {
     $this->assertTrue($view->argument['null']->validateArgument($account->getUsername()));
     // Reset argument validation.
     $view->argument['null']->argument_validated = NULL;
-    // Fail for a valid string, but for a user that doesn't exist
+    // Fail for a valid string, but for a user that doesn't exist.
     $this->assertFalse($view->argument['null']->validateArgument($this->randomMachineName()));
   }
 
diff --git a/core/modules/user/src/Tests/Views/BulkFormAccessTest.php b/core/modules/user/src/Tests/Views/BulkFormAccessTest.php
index 2b36240442..c478c72390 100644
--- a/core/modules/user/src/Tests/Views/BulkFormAccessTest.php
+++ b/core/modules/user/src/Tests/Views/BulkFormAccessTest.php
@@ -63,7 +63,7 @@ public function testUserEditAccess() {
     $no_edit_user = User::load($no_edit_user->id());
     $this->assertFalse($no_edit_user->isBlocked(), 'The user is not blocked.');
 
-    // Create a normal user which can be edited by the admin user
+    // Create a normal user which can be edited by the admin user.
     $normal_user = $this->drupalCreateUser();
     $this->assertTrue($normal_user->access('update', $admin_user));
 
diff --git a/core/modules/user/tests/src/Functional/UserDeleteTest.php b/core/modules/user/tests/src/Functional/UserDeleteTest.php
index 5803a049aa..b82df321cd 100644
--- a/core/modules/user/tests/src/Functional/UserDeleteTest.php
+++ b/core/modules/user/tests/src/Functional/UserDeleteTest.php
@@ -23,7 +23,7 @@ public function testUserDeleteMultiple() {
 
     $uids = [$user_a->id(), $user_b->id(), $user_c->id()];
 
-    // These users should have a role
+    // These users should have a role.
     $query = db_select('user__roles', 'r');
     $roles_created = $query
       ->fields('r', ['entity_id'])
diff --git a/core/modules/user/tests/src/Functional/UserSearchTest.php b/core/modules/user/tests/src/Functional/UserSearchTest.php
index 8ce0319bf6..d11ef83f55 100644
--- a/core/modules/user/tests/src/Functional/UserSearchTest.php
+++ b/core/modules/user/tests/src/Functional/UserSearchTest.php
@@ -72,7 +72,7 @@ public function testUserSearch() {
     $this->assertText($keys, 'Search by email substring works for administrative user');
     $this->assertText($user2->getUsername(), 'Search by email substring resulted in username on page for administrative user');
 
-    // Verify that wildcard search works for email
+    // Verify that wildcard search works for email.
     $subkey = substr($keys, 0, 2) . '*' . substr($keys, 4, 2);
     $edit = ['keys' => $subkey];
     $this->drupalPostForm('search/user', $edit, t('Search'));
diff --git a/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTest.php b/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTest.php
index eed2be8e79..f36d836d96 100644
--- a/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTest.php
+++ b/core/modules/user/tests/src/Kernel/Migrate/d6/MigrateUserConfigsTest.php
@@ -61,7 +61,7 @@ public function testUserSettings() {
 
     // Tests migration of user_register using the AccountSettingsForm.
 
-    // Map D6 value to D8 value
+    // Map D6 value to D8 value.
     $user_register_map = [
       [0, USER_REGISTER_ADMINISTRATORS_ONLY],
       [1, USER_REGISTER_VISITORS],
@@ -69,7 +69,7 @@ public function testUserSettings() {
     ];
 
     foreach ($user_register_map as $map) {
-      // Tests migration of user_register = 1
+      // Tests migration of user_register = 1.
       Database::getConnection('default', 'migrate')
         ->update('variable')
         ->fields(['value' => serialize($map[0])])
diff --git a/core/modules/user/tests/src/Kernel/Plugin/migrate/source/ProfileFieldTest.php b/core/modules/user/tests/src/Kernel/Plugin/migrate/source/ProfileFieldTest.php
index c321185713..ddd74388f1 100644
--- a/core/modules/user/tests/src/Kernel/Plugin/migrate/source/ProfileFieldTest.php
+++ b/core/modules/user/tests/src/Kernel/Plugin/migrate/source/ProfileFieldTest.php
@@ -104,7 +104,7 @@ public function providerSource() {
 
     // Expected options are:
     //  for "checkbox" fields - array with NULL options
-    //  for "selection" fields - options in both keys and values
+    //  for "selection" fields - options in both keys and values.
     $expected_field_options = [
       '',
       '',
diff --git a/core/modules/user/tests/src/Kernel/UserValidationTest.php b/core/modules/user/tests/src/Kernel/UserValidationTest.php
index ef3a6f5cbd..898fcb6757 100644
--- a/core/modules/user/tests/src/Kernel/UserValidationTest.php
+++ b/core/modules/user/tests/src/Kernel/UserValidationTest.php
@@ -40,23 +40,23 @@ protected function setUp() {
    * Tests user name validation.
    */
   public function testUsernames() {
-    $test_cases = [// '<username>' => array('<description>', 'assert<testName>'),
+    $test_cases = [// '<username>' => array('<description>', 'assert<testName>').
       'foo'                    => ['Valid username', 'assertNull'],
       'FOO'                    => ['Valid username', 'assertNull'],
       'Foo O\'Bar'             => ['Valid username', 'assertNull'],
       'foo@bar'                => ['Valid username', 'assertNull'],
       'foo@example.com'        => ['Valid username', 'assertNull'],
-      'foo@-example.com'       => ['Valid username', 'assertNull'], // invalid domains are allowed in usernames
+      'foo@-example.com'       => ['Valid username', 'assertNull'], // invalid domains are allowed in usernames.
       'þòøÇßªř€'               => ['Valid username', 'assertNull'],
       'foo+bar'                => ['Valid username', 'assertNull'], // '+' symbol is allowed
-      'ᚠᛇᚻ᛫ᛒᛦᚦ'                => ['Valid UTF8 username', 'assertNull'], // runes
+      'ᚠᛇᚻ᛫ᛒᛦᚦ'                => ['Valid UTF8 username', 'assertNull'], // runes.
       ' foo'                   => ['Invalid username that starts with a space', 'assertNotNull'],
       'foo '                   => ['Invalid username that ends with a space', 'assertNotNull'],
       'foo  bar'               => ['Invalid username that contains 2 spaces \'&nbsp;&nbsp;\'', 'assertNotNull'],
       ''                       => ['Invalid empty username', 'assertNotNull'],
       'foo/'                   => ['Invalid username containing invalid chars', 'assertNotNull'],
       'foo' . chr(0) . 'bar'   => ['Invalid username containing chr(0)', 'assertNotNull'], // NULL
-      'foo' . chr(13) . 'bar'  => ['Invalid username containing chr(13)', 'assertNotNull'], // CR
+      'foo' . chr(13) . 'bar'  => ['Invalid username containing chr(13)', 'assertNotNull'], // CR.
       str_repeat('x', USERNAME_MAX_LENGTH + 1) => ['Invalid excessively long username', 'assertNotNull'],
     ];
     foreach ($test_cases as $name => $test_case) {
diff --git a/core/modules/user/tests/src/Kernel/Views/UserViewsFieldAccessTest.php b/core/modules/user/tests/src/Kernel/Views/UserViewsFieldAccessTest.php
index f14779e26b..9f5397dbc0 100644
--- a/core/modules/user/tests/src/Kernel/Views/UserViewsFieldAccessTest.php
+++ b/core/modules/user/tests/src/Kernel/Views/UserViewsFieldAccessTest.php
@@ -57,7 +57,7 @@ public function testUserFields() {
     $this->assertFieldAccess('user', 'preferred_langcode', 'Spanish');
     $this->assertFieldAccess('user', 'preferred_admin_langcode', 'French');
     $this->assertFieldAccess('user', 'name', 'test user');
-    // $this->assertFieldAccess('user', 'mail', 'druplicon@drop.org');
+    // $this->assertFieldAccess('user', 'mail', 'druplicon@drop.org').
     $this->assertFieldAccess('user', 'timezone', 'ut1');
     $this->assertFieldAccess('user', 'status', 'On');
     // $this->assertFieldAccess('user', 'created', \Drupal::service('date.formatter')->format(123456));
diff --git a/core/modules/user/tests/src/Unit/Views/Argument/RolesRidTest.php b/core/modules/user/tests/src/Unit/Views/Argument/RolesRidTest.php
index 4e48fba030..8552133244 100644
--- a/core/modules/user/tests/src/Unit/Views/Argument/RolesRidTest.php
+++ b/core/modules/user/tests/src/Unit/Views/Argument/RolesRidTest.php
@@ -30,7 +30,7 @@ public function testTitleQuery() {
       'label' => 'test <strong>rid 2</strong>',
     ], 'user_role');
 
-    // Creates a stub entity storage;
+    // Creates a stub entity storage.
     $role_storage = $this->getMockForAbstractClass('Drupal\Core\Entity\EntityStorageInterface');
     $role_storage->expects($this->any())
       ->method('loadMultiple')
diff --git a/core/modules/views/src/EventSubscriber/RouteSubscriber.php b/core/modules/views/src/EventSubscriber/RouteSubscriber.php
index c2b9ea8913..6765cc5b3d 100644
--- a/core/modules/views/src/EventSubscriber/RouteSubscriber.php
+++ b/core/modules/views/src/EventSubscriber/RouteSubscriber.php
@@ -77,7 +77,7 @@ public function reset() {
   public static function getSubscribedEvents() {
     $events = parent::getSubscribedEvents();
     $events[RoutingEvents::FINISHED] = ['routeRebuildFinished'];
-    // Ensure to run after the entity resolver subscriber
+    // Ensure to run after the entity resolver subscriber.
     // @see \Drupal\Core\EventSubscriber\EntityRouteAlterSubscriber
     $events[RoutingEvents::ALTER] = ['onAlterRoutes', -175];
 
diff --git a/core/modules/views/src/Form/ViewsExposedForm.php b/core/modules/views/src/Form/ViewsExposedForm.php
index 44e7ec4b0f..e626e27251 100644
--- a/core/modules/views/src/Form/ViewsExposedForm.php
+++ b/core/modules/views/src/Form/ViewsExposedForm.php
@@ -69,7 +69,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
 
     // Let form plugins know this is for exposed widgets.
     $form_state->set('exposed', TRUE);
-    // Check if the form was already created
+    // Check if the form was already created.
     if ($cache = $this->exposedFormCache->getForm($view->storage->id(), $view->current_display)) {
       return $cache;
     }
diff --git a/core/modules/views/src/ManyToOneHelper.php b/core/modules/views/src/ManyToOneHelper.php
index cb2e5754a8..dbe5b3c43c 100644
--- a/core/modules/views/src/ManyToOneHelper.php
+++ b/core/modules/views/src/ManyToOneHelper.php
@@ -73,7 +73,7 @@ public function addTable($join = NULL, $alias = NULL) {
     // to create a new relationship to use.
     $relationship = $this->handler->relationship;
 
-    // Determine the primary table to seek
+    // Determine the primary table to seek.
     if (empty($this->handler->query->relationships[$relationship])) {
       $base_table = $this->handler->view->storage->get('base_table');
     }
@@ -119,7 +119,7 @@ public function summaryJoin() {
     $field = $this->handler->relationship . '_' . $this->handler->table . '.' . $this->handler->field;
     $join = $this->getJoin();
 
-    // shortcuts
+    // shortcuts.
     $options = $this->handler->options;
     $view = $this->handler->view;
     $query = $this->handler->query;
diff --git a/core/modules/views/src/Plugin/views/HandlerBase.php b/core/modules/views/src/Plugin/views/HandlerBase.php
index 4cc4e4bb16..4781553ce1 100644
--- a/core/modules/views/src/Plugin/views/HandlerBase.php
+++ b/core/modules/views/src/Plugin/views/HandlerBase.php
@@ -582,7 +582,7 @@ public function storeExposedInput($input, $status) {
    */
   public function getJoin() {
     // get the join from this table that links back to the base table.
-    // Determine the primary table to seek
+    // Determine the primary table to seek.
     if (empty($this->query->relationships[$this->relationship])) {
       $base_table = $this->view->storage->get('base_table');
     }
@@ -748,7 +748,7 @@ public static function breakString($str, $force_int = FALSE) {
    */
   public function displayExposedForm($form, FormStateInterface $form_state) {
     $item = &$this->options;
-    // flip
+    // flip.
     $item['exposed'] = empty($item['exposed']);
 
     // If necessary, set new defaults:
@@ -826,7 +826,7 @@ public function submitTemporaryForm($form, FormStateInterface $form_state) {
 
     $form_state->get('rerender', TRUE);
     $form_state->setRebuild();
-    // Write to cache
+    // Write to cache.
     $view->cacheSet();
   }
 
diff --git a/core/modules/views/src/Plugin/views/area/View.php b/core/modules/views/src/Plugin/views/area/View.php
index 832e23185d..6f924f8e7d 100644
--- a/core/modules/views/src/Plugin/views/area/View.php
+++ b/core/modules/views/src/Plugin/views/area/View.php
@@ -111,11 +111,11 @@ public function render($empty = FALSE) {
       }
       $view->setDisplay($display_id);
 
-      // Avoid recursion
+      // Avoid recursion.
       $view->parent_views += $this->view->parent_views;
       $view->parent_views[] = "$view_name:$display_id";
 
-      // Check if the view is part of the parent views of this view
+      // Check if the view is part of the parent views of this view.
       $search = "$view_name:$display_id";
       if (in_array($search, $this->view->parent_views)) {
         drupal_set_message(t("Recursion detected in view @view display @display.", ['@view' => $view_name, '@display' => $display_id]), 'error');
diff --git a/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php b/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
index 3f145195a3..5f61eec453 100644
--- a/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
+++ b/core/modules/views/src/Plugin/views/argument/ArgumentPluginBase.php
@@ -325,7 +325,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
               '#suffix' => '</div>',
               '#type' => 'item',
               // Even if the plugin has no options add the key to the form_state.
-              '#input' => TRUE, // trick it into checking input to make #process run
+              '#input' => TRUE, // trick it into checking input to make #process run.
               '#states' => [
                 'visible' => [
                   ':input[name="options[specify_validation]"]' => ['checked' => TRUE],
@@ -411,7 +411,7 @@ public function validateOptionsForm(&$form, FormStateInterface $form_state) {
       $plugin->validateOptionsForm($form['argument_default'][$default_id], $form_state, $option_values['argument_default'][$default_id]);
     }
 
-    // summary plugin
+    // summary plugin.
     $summary_id = $option_values['summary']['format'];
     $plugin = $this->getPlugin('style', $summary_id);
     if ($plugin) {
@@ -444,7 +444,7 @@ public function submitOptionsForm(&$form, FormStateInterface $form_state) {
       $option_values['default_argument_options'] = $options;
     }
 
-    // summary plugin
+    // summary plugin.
     $summary_id = $option_values['summary']['format'];
     $plugin = $this->getPlugin('style', $summary_id);
     if ($plugin) {
@@ -498,12 +498,12 @@ protected function defaultActions($which = NULL) {
         'method' => 'defaultDefault',
         'form method' => 'defaultArgumentForm',
         'has default argument' => TRUE,
-        'default only' => TRUE, // this can only be used for missing argument, not validation failure
+        'default only' => TRUE, // this can only be used for missing argument, not validation failure.
       ],
       'not found' => [
         'title' => $this->t('Hide view'),
         'method' => 'defaultNotFound',
-        'hard fail' => TRUE, // This is a hard fail condition
+        'hard fail' => TRUE, // This is a hard fail condition.
       ],
       'summary' => [
         'title' => $this->t('Display a summary'),
@@ -669,7 +669,7 @@ public function defaultSummaryForm(&$form, FormStateInterface $form_state) {
           '#suffix' => '</div>',
           '#id' => 'edit-options-summary-options-' . $id,
           '#type' => 'item',
-          '#input' => TRUE, // trick it into checking input to make #process run
+          '#input' => TRUE, // trick it into checking input to make #process run.
           '#states' => [
             'visible' => [
               ':input[name="options[default_action]"]' => ['value' => 'summary'],
@@ -894,7 +894,7 @@ protected function summaryNameField() {
    * code that goes into summaryQuery()
    */
   public function summaryBasics($count_field = TRUE) {
-    // Add the number of nodes counter
+    // Add the number of nodes counter.
     $distinct = ($this->view->display_handler->getOption('distinct') && empty($this->query->no_distinct));
 
     $count_alias = $this->query->addField($this->view->storage->get('base_table'), $this->view->storage->get('base_field'), 'num_records', ['count' => TRUE, 'distinct' => $distinct]);
diff --git a/core/modules/views/src/Plugin/views/argument/DayDate.php b/core/modules/views/src/Plugin/views/argument/DayDate.php
index 42bd81743c..91887bad08 100644
--- a/core/modules/views/src/Plugin/views/argument/DayDate.php
+++ b/core/modules/views/src/Plugin/views/argument/DayDate.php
@@ -24,7 +24,7 @@ class DayDate extends Date {
    */
   public function summaryName($data) {
     $day = str_pad($data->{$this->name_alias}, 2, '0', STR_PAD_LEFT);
-    // strtotime respects server timezone, so we need to set the time fixed as utc time
+    // strtotime respects server timezone, so we need to set the time fixed as utc time.
     return format_date(strtotime("2005" . "05" . $day . " 00:00:00 UTC"), 'custom', $this->format, 'UTC');
   }
 
diff --git a/core/modules/views/src/Plugin/views/argument/ManyToOne.php b/core/modules/views/src/Plugin/views/argument/ManyToOne.php
index 680c19f2aa..100585de3f 100644
--- a/core/modules/views/src/Plugin/views/argument/ManyToOne.php
+++ b/core/modules/views/src/Plugin/views/argument/ManyToOne.php
@@ -61,7 +61,7 @@ protected function defineOptions() {
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
 
-    // allow + for or, , for and
+    // allow + for or, , for and.
     $form['break_phrase'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Allow multiple values'),
diff --git a/core/modules/views/src/Plugin/views/argument/NumericArgument.php b/core/modules/views/src/Plugin/views/argument/NumericArgument.php
index 954171a64a..ed3c62fbc6 100644
--- a/core/modules/views/src/Plugin/views/argument/NumericArgument.php
+++ b/core/modules/views/src/Plugin/views/argument/NumericArgument.php
@@ -39,7 +39,7 @@ protected function defineOptions() {
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
 
-    // allow + for or, , for and
+    // allow + for or, , for and.
     $form['break_phrase'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Allow multiple values'),
diff --git a/core/modules/views/src/Plugin/views/argument/StringArgument.php b/core/modules/views/src/Plugin/views/argument/StringArgument.php
index 6058d6618b..33efd897ca 100644
--- a/core/modules/views/src/Plugin/views/argument/StringArgument.php
+++ b/core/modules/views/src/Plugin/views/argument/StringArgument.php
@@ -131,7 +131,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
       ];
     }
 
-    // allow + for or, , for and
+    // allow + for or, , for and.
     $form['break_phrase'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Allow multiple values'),
diff --git a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
index a2e19a29d8..6f9681e7ae 100644
--- a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
@@ -754,7 +754,7 @@ public function getRoutedDisplay() {
       return $this->view->displayHandlers->get($display_id)->getRoutedDisplay();
     }
 
-    // No routed display exists, so return NULL
+    // No routed display exists, so return NULL.
     return NULL;
   }
 
diff --git a/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php b/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
index 13d6b1122c..42263015c4 100644
--- a/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
+++ b/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
@@ -204,7 +204,7 @@ public function exposedFormAlter(&$form, FormStateInterface $form_state) {
       $form['actions']['submit']['#value'] = $this->options['submit_button'];
     }
 
-    // Check if there is exposed sorts for this view
+    // Check if there is exposed sorts for this view.
     $exposed_sorts = [];
     foreach ($this->view->sort as $id => $handler) {
       if ($handler->canExpose() && $handler->isExposed()) {
diff --git a/core/modules/views/src/Plugin/views/field/Custom.php b/core/modules/views/src/Plugin/views/field/Custom.php
index 6dfa8ac15e..f0a67e32d9 100644
--- a/core/modules/views/src/Plugin/views/field/Custom.php
+++ b/core/modules/views/src/Plugin/views/field/Custom.php
@@ -48,7 +48,7 @@ protected function defineOptions() {
   public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
 
-    // Remove the checkbox
+    // Remove the checkbox.
     unset($form['alter']['alter_text']);
     unset($form['alter']['text']['#states']);
     unset($form['alter']['help']['#states']);
diff --git a/core/modules/views/src/Plugin/views/field/EntityField.php b/core/modules/views/src/Plugin/views/field/EntityField.php
index ee2882c3b5..6a839d2e16 100644
--- a/core/modules/views/src/Plugin/views/field/EntityField.php
+++ b/core/modules/views/src/Plugin/views/field/EntityField.php
@@ -189,7 +189,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
         $this->limit_values = TRUE;
       }
 
-      // If "First and last only" is chosen, limit the values
+      // If "First and last only" is chosen, limit the values.
       if (!empty($this->options['delta_first_last'])) {
         $this->limit_values = TRUE;
       }
diff --git a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
index 3c663f5f2e..4ed146a5fa 100644
--- a/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
+++ b/core/modules/views/src/Plugin/views/field/FieldPluginBase.php
@@ -158,7 +158,7 @@ public function query() {
    */
   protected function addAdditionalFields($fields = NULL) {
     if (!isset($fields)) {
-      // notice check
+      // notice check.
       if (empty($this->additional_fields)) {
         return;
       }
@@ -1497,7 +1497,7 @@ protected function renderAsLink($alter, $text, $tokens) {
     }
 
     $alt = $this->viewsTokenReplace($alter['alt'], $tokens);
-    // Set the title attribute of the link only if it improves accessibility
+    // Set the title attribute of the link only if it improves accessibility.
     if ($alt && $alt != $text) {
       $options['attributes']['title'] = Html::decodeEntities($alt);
     }
@@ -1561,7 +1561,7 @@ protected function renderAsLink($alter, $text, $tokens) {
     $final_url = CoreUrl::fromUri($path, $options);
 
     // Build the link based on our altered Url object, adding on the optional
-    // prefix and suffix
+    // prefix and suffix.
     $render = [
       '#type' => 'link',
       '#title' => $text,
@@ -1805,7 +1805,7 @@ public static function trimText($alter, $value) {
           $value = $matches[1];
         }
       }
-      // Remove scraps of HTML entities from the end of a strings
+      // Remove scraps of HTML entities from the end of a strings.
       $value = rtrim(preg_replace('/(?:<(?!.+>)|&(?!.+;)).*$/us', '', $value));
 
       if (!empty($alter['ellipsis'])) {
diff --git a/core/modules/views/src/Plugin/views/filter/BooleanOperator.php b/core/modules/views/src/Plugin/views/filter/BooleanOperator.php
index fa0d730f83..3572330d7d 100644
--- a/core/modules/views/src/Plugin/views/filter/BooleanOperator.php
+++ b/core/modules/views/src/Plugin/views/filter/BooleanOperator.php
@@ -41,11 +41,11 @@ class BooleanOperator extends FilterPluginBase {
    */
   const NOT_EQUAL = '<>';
 
-  // exposed filter options
+  // exposed filter options.
   protected $alwaysMultiple = TRUE;
   // Don't display empty space where the operator would be.
   public $no_operator = TRUE;
-  // Whether to accept NULL as a false value or not
+  // Whether to accept NULL as a false value or not.
   public $accept_null = FALSE;
 
 
diff --git a/core/modules/views/src/Plugin/views/filter/Combine.php b/core/modules/views/src/Plugin/views/filter/Combine.php
index f8ea624e1e..d886ef2ea1 100644
--- a/core/modules/views/src/Plugin/views/filter/Combine.php
+++ b/core/modules/views/src/Plugin/views/filter/Combine.php
@@ -30,7 +30,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
     parent::buildOptionsForm($form, $form_state);
     $this->view->initStyle();
 
-    // Allow to choose all fields as possible
+    // Allow to choose all fields as possible.
     if ($this->view->style_plugin->usesFields()) {
       $options = [];
       foreach ($this->view->display_handler->getHandlers('field') as $name => $field) {
diff --git a/core/modules/views/src/Plugin/views/filter/Date.php b/core/modules/views/src/Plugin/views/filter/Date.php
index dbb573fcd4..fc86393066 100644
--- a/core/modules/views/src/Plugin/views/filter/Date.php
+++ b/core/modules/views/src/Plugin/views/filter/Date.php
@@ -167,7 +167,7 @@ protected function opBetween($field) {
 
     if ($this->value['type'] == 'offset') {
       $a = '***CURRENT_TIME***' . sprintf('%+d', $a); // keep sign
-      $b = '***CURRENT_TIME***' . sprintf('%+d', $b); // keep sign
+      $b = '***CURRENT_TIME***' . sprintf('%+d', $b); // keep sign.
     }
     // This is safe because we are manually scrubbing the values.
     // It is necessary to do it this way because $a and $b are formulas when using an offset.
@@ -178,7 +178,7 @@ protected function opBetween($field) {
   protected function opSimple($field) {
     $value = intval(strtotime($this->value['value'], 0));
     if (!empty($this->value['type']) && $this->value['type'] == 'offset') {
-      $value = '***CURRENT_TIME***' . sprintf('%+d', $value); // keep sign
+      $value = '***CURRENT_TIME***' . sprintf('%+d', $value); // keep sign.
     }
     // This is safe because we are manually scrubbing the value.
     // It is necessary to do it this way because $value is a formula when using an offset.
diff --git a/core/modules/views/src/Plugin/views/filter/Equality.php b/core/modules/views/src/Plugin/views/filter/Equality.php
index e1d2aeb1e8..06a3041465 100644
--- a/core/modules/views/src/Plugin/views/filter/Equality.php
+++ b/core/modules/views/src/Plugin/views/filter/Equality.php
@@ -13,7 +13,7 @@
  */
 class Equality extends FilterPluginBase {
 
-  // exposed filter options
+  // exposed filter options.
   protected $alwaysMultiple = TRUE;
 
   /**
diff --git a/core/modules/views/src/Plugin/views/filter/FilterPluginBase.php b/core/modules/views/src/Plugin/views/filter/FilterPluginBase.php
index fdc2dea6dc..99788d20d0 100644
--- a/core/modules/views/src/Plugin/views/filter/FilterPluginBase.php
+++ b/core/modules/views/src/Plugin/views/filter/FilterPluginBase.php
@@ -1011,7 +1011,7 @@ protected function buildExposedFiltersGroupForm(&$form, FormStateInterface $form
       // Each rows contains three widgets:
       // a) The title, where users define how they identify a pair of operator | value
       // b) The operator
-      // c) The value (or values) to use in the filter with the selected operator
+      // c) The value (or values) to use in the filter with the selected operator.
 
       // In each row, we have to display the operator form and the value from
       // $row acts as a fake form to render each widget in a row.
diff --git a/core/modules/views/src/Plugin/views/filter/InOperator.php b/core/modules/views/src/Plugin/views/filter/InOperator.php
index c2d5bef2db..0fb714cbbd 100644
--- a/core/modules/views/src/Plugin/views/filter/InOperator.php
+++ b/core/modules/views/src/Plugin/views/filter/InOperator.php
@@ -88,7 +88,7 @@ public function buildExposeForm(&$form, FormStateInterface $form_state) {
       '#type' => 'checkbox',
       '#title' => $this->t('Limit list to selected items'),
       '#description' => $this->t('If checked, the only items presented to the user will be the ones selected here.'),
-      '#default_value' => !empty($this->options['expose']['reduce']), // safety
+      '#default_value' => !empty($this->options['expose']['reduce']), // safety.
     ];
   }
 
diff --git a/core/modules/views/src/Plugin/views/filter/StringFilter.php b/core/modules/views/src/Plugin/views/filter/StringFilter.php
index a9ab5a1861..eb2bc38754 100644
--- a/core/modules/views/src/Plugin/views/filter/StringFilter.php
+++ b/core/modules/views/src/Plugin/views/filter/StringFilter.php
@@ -20,7 +20,7 @@ class StringFilter extends FilterPluginBase {
    */
   const WORDS_PATTERN = '/ (-?)("[^"]+"|[^" ]+)/i';
 
-  // exposed filter options
+  // exposed filter options.
   protected $alwaysMultiple = TRUE;
 
   protected function defineOptions() {
@@ -276,7 +276,7 @@ protected function opContainsWord($field) {
     preg_match_all(static::WORDS_PATTERN, ' ' . $this->value, $matches, PREG_SET_ORDER);
     foreach ($matches as $match) {
       $phrase = FALSE;
-      // Strip off phrase quotes
+      // Strip off phrase quotes.
       if ($match[2]{0} == '"') {
         $match[2] = substr($match[2], 1, -1);
         $phrase = TRUE;
diff --git a/core/modules/views/src/Plugin/views/join/JoinPluginBase.php b/core/modules/views/src/Plugin/views/join/JoinPluginBase.php
index ccf40f64e9..e55706f1a8 100644
--- a/core/modules/views/src/Plugin/views/join/JoinPluginBase.php
+++ b/core/modules/views/src/Plugin/views/join/JoinPluginBase.php
@@ -356,7 +356,7 @@ protected function buildExtra($info, &$arguments, $table, SelectInterface $selec
     }
 
     // Convert a single-valued array of values to the single-value case,
-    // and transform from IN() notation to = notation
+    // and transform from IN() notation to = notation.
     if (is_array($info['value']) && count($info['value']) == 1) {
       $info['value'] = array_shift($info['value']);
     }
diff --git a/core/modules/views/src/Plugin/views/pager/Mini.php b/core/modules/views/src/Plugin/views/pager/Mini.php
index f92f193b15..37779afe67 100644
--- a/core/modules/views/src/Plugin/views/pager/Mini.php
+++ b/core/modules/views/src/Plugin/views/pager/Mini.php
@@ -47,7 +47,7 @@ public function summaryTitle() {
   public function query() {
     parent::query();
 
-    // Only modify the query if we don't want to do a total row count
+    // Only modify the query if we don't want to do a total row count.
     if (!$this->view->get_total_rows) {
       // Don't query for the next page if we have a pager that has a limited
       // amount of pages.
@@ -72,7 +72,7 @@ public function useCountQuery() {
    * {@inheritdoc}
    */
   public function postExecute(&$result) {
-    // Only modify the result if we didn't do a total row count
+    // Only modify the result if we didn't do a total row count.
     if (!$this->view->get_total_rows) {
       $this->total_items = $this->getCurrentPage() * $this->getItemsPerPage() + count($result);
       // query() checks if we need a next link by setting limit 1 record past
diff --git a/core/modules/views/src/Plugin/views/query/QueryPluginBase.php b/core/modules/views/src/Plugin/views/query/QueryPluginBase.php
index 35453c1172..c954f38ad7 100644
--- a/core/modules/views/src/Plugin/views/query/QueryPluginBase.php
+++ b/core/modules/views/src/Plugin/views/query/QueryPluginBase.php
@@ -171,7 +171,7 @@ public function setWhereGroup($type = 'AND', $group = NULL, $where = 'where') {
       $group = empty($groups) ? 1 : max(array_keys($groups)) + 1;
     }
 
-    // Create an empty group
+    // Create an empty group.
     if (empty($groups[$group])) {
       $groups[$group] = ['conditions' => [], 'args' => []];
     }
diff --git a/core/modules/views/src/Plugin/views/query/Sql.php b/core/modules/views/src/Plugin/views/query/Sql.php
index ab056f59a7..19a0548994 100644
--- a/core/modules/views/src/Plugin/views/query/Sql.php
+++ b/core/modules/views/src/Plugin/views/query/Sql.php
@@ -166,7 +166,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
       'join' => NULL,
     ];
 
-    // init the tables with our primary table
+    // init the tables with our primary table.
     $this->tables[$base_table][$base_table] = [
       'count' => 1,
       'alias' => $base_table,
@@ -525,7 +525,7 @@ protected function markTable($table, $relationship, $alias) {
    *   cannot be ensured.
    */
   public function ensureTable($table, $relationship = NULL, JoinPluginBase $join = NULL) {
-    // ensure a relationship
+    // ensure a relationship.
     if (empty($relationship)) {
       $relationship = $this->view->storage->get('base_table');
     }
@@ -679,7 +679,7 @@ protected function adjustJoin($join, $relationship) {
         $this->ensureTable($join->leftTable, $relationship);
       }
 
-      // First, if this is our link point/anchor table, just use the relationship
+      // First, if this is our link point/anchor table, just use the relationship.
       if ($join->leftTable == $this->relationships[$relationship]['table']) {
         $join->leftTable = $relationship;
       }
@@ -777,14 +777,14 @@ public function addField($table, $field, $alias = '', $params = []) {
       $alias = $table . '_' . $field;
     }
 
-    // Make sure an alias is assigned
+    // Make sure an alias is assigned.
     $alias = $alias ? $alias : $field;
 
     // PostgreSQL truncates aliases to 63 characters:
     //   https://www.drupal.org/node/571548.
 
     // We limit the length of the original alias up to 60 characters
-    // to get a unique alias later if its have duplicates
+    // to get a unique alias later if its have duplicates.
     $alias = strtolower(substr($alias, 0, 60));
 
     // Create a field info array.
@@ -1231,12 +1231,12 @@ public function query($get_count = FALSE) {
     $options = [];
     $target = 'default';
     $key = 'default';
-    // Detect an external database and set the
+    // Detect an external database and set the.
     if (isset($this->view->base_database)) {
       $key = $this->view->base_database;
     }
 
-    // Set the replica target if the replica option is set
+    // Set the replica target if the replica option is set.
     if (!empty($this->options['replica'])) {
       $target = 'replica';
     }
@@ -1444,7 +1444,7 @@ public function execute(ViewExecutable $view) {
       // are used on the query. TODO: Find a better way to do this.
       if (!empty($additional_arguments)) {
         // $query->where('1 = 1', $additional_arguments);
-        // $count_query->where('1 = 1', $additional_arguments);
+        // $count_query->where('1 = 1', $additional_arguments);.
       }
 
       $start = microtime(TRUE);
@@ -1793,7 +1793,7 @@ public function getDateField($field) {
   public function setupTimezone() {
     $timezone = drupal_get_user_timezone();
 
-    // set up the database timezone
+    // set up the database timezone.
     $db_type = Database::getConnection()->databaseType();
     if (in_array($db_type, ['mysql', 'pgsql'])) {
       $offset = '+00:00';
diff --git a/core/modules/views/src/Plugin/views/relationship/GroupwiseMax.php b/core/modules/views/src/Plugin/views/relationship/GroupwiseMax.php
index 6238914018..7e40b622d2 100644
--- a/core/modules/views/src/Plugin/views/relationship/GroupwiseMax.php
+++ b/core/modules/views/src/Plugin/views/relationship/GroupwiseMax.php
@@ -184,7 +184,7 @@ protected function leftQuery($options) {
     // Either load another view, or create one on the fly.
     if ($options['subquery_view']) {
       $temp_view = Views::getView($options['subquery_view']);
-      // Remove all fields from default display
+      // Remove all fields from default display.
       unset($temp_view->display['default']['display_options']['fields']);
     }
     else {
diff --git a/core/modules/views/src/Plugin/views/sort/SortPluginBase.php b/core/modules/views/src/Plugin/views/sort/SortPluginBase.php
index 3cc82bf8df..c42af4df39 100644
--- a/core/modules/views/src/Plugin/views/sort/SortPluginBase.php
+++ b/core/modules/views/src/Plugin/views/sort/SortPluginBase.php
@@ -96,7 +96,7 @@ public function showExposeButton(&$form, FormStateInterface $form_state) {
     $form['expose_button'] = [
       '#prefix' => '<div class="views-expose clearfix">',
       '#suffix' => '</div>',
-      // Should always come first
+      // Should always come first.
       '#weight' => -1000,
     ];
 
diff --git a/core/modules/views/src/Plugin/views/style/StylePluginBase.php b/core/modules/views/src/Plugin/views/style/StylePluginBase.php
index 1d6b49179b..e56ecf291b 100644
--- a/core/modules/views/src/Plugin/views/style/StylePluginBase.php
+++ b/core/modules/views/src/Plugin/views/style/StylePluginBase.php
@@ -572,7 +572,7 @@ public function renderGrouping($records, $groupings = [], $group_rendered = NULL
       $groupings = [['field' => $groupings, 'rendered' => $rendered]];
     }
 
-    // Make sure fields are rendered
+    // Make sure fields are rendered.
     $this->renderFields($this->view->result);
     $sets = [];
     if ($groupings) {
@@ -704,7 +704,7 @@ protected function renderFields(array $result) {
           // - HTML views are rendered inside a render context: then we want to
           //   use ::render(), so that attachments and cacheability are bubbled.
           // - non-HTML views are rendered outside a render context: then we
-          //   want to use ::renderPlain(), so that no bubbling happens
+          //   want to use ::renderPlain(), so that no bubbling happens.
           if ($renderer->hasRenderContext()) {
             $renderer->render($data);
           }
diff --git a/core/modules/views/src/Plugin/views/style/Table.php b/core/modules/views/src/Plugin/views/style/Table.php
index bbc9a1ea3d..d7066bf6a2 100644
--- a/core/modules/views/src/Plugin/views/style/Table.php
+++ b/core/modules/views/src/Plugin/views/style/Table.php
@@ -181,7 +181,7 @@ public function sanitizeColumns($columns, $fields = NULL) {
       }
 
       // If the field is the column, mark it so, or the column
-      // it's set to is a column, that's ok
+      // it's set to is a column, that's ok.
       if ($field == $column || $columns[$column] == $column && !empty($sanitized[$column])) {
         $sanitized[$field] = $column;
       }
@@ -315,7 +315,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
           '#return_value' => $field,
           '#parents' => ['style_options', 'default'],
           '#id' => $radio_id,
-          // because 'radio' doesn't fully support '#id' =(
+          // because 'radio' doesn't fully support '#id' =(.
           '#attributes' => ['id' => $radio_id],
           '#default_value' => $default,
           '#states' => [
@@ -378,13 +378,13 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
         ],
       ];
 
-      // markup for the field name
+      // markup for the field name.
       $form['info'][$field]['name'] = [
         '#markup' => $field_names[$field],
       ];
     }
 
-    // Provide a radio for no default sort
+    // Provide a radio for no default sort.
     $form['default'][-1] = [
       '#title' => $this->t('No default sort'),
       '#title_display' => 'invisible',
diff --git a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
index 0b3dcc9a10..83ada916a7 100644
--- a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
+++ b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
@@ -716,7 +716,7 @@ protected function instantiateView($form, FormStateInterface $form_state) {
    *   arrays of options for that display.
    */
   protected function buildDisplayOptions($form, FormStateInterface $form_state) {
-    // Display: Master
+    // Display: Master.
     $display_options['default'] = $this->defaultDisplayOptions();
     $display_options['default'] += [
       'filters' => [],
@@ -725,7 +725,7 @@ protected function buildDisplayOptions($form, FormStateInterface $form_state) {
     $display_options['default']['filters'] += $this->defaultDisplayFilters($form, $form_state);
     $display_options['default']['sorts'] += $this->defaultDisplaySorts($form, $form_state);
 
-    // Display: Page
+    // Display: Page.
     if (!$form_state->isValueEmpty(['page', 'create'])) {
       $display_options['page'] = $this->pageDisplayOptions($form, $form_state);
 
@@ -735,7 +735,7 @@ protected function buildDisplayOptions($form, FormStateInterface $form_state) {
       }
     }
 
-    // Display: Block
+    // Display: Block.
     if (!$form_state->isValueEmpty(['block', 'create'])) {
       $display_options['block'] = $this->blockDisplayOptions($form, $form_state);
     }
@@ -767,13 +767,13 @@ protected function addDisplays(View $view, $display_options, $form, FormStateInt
     // instances.
     $executable = $view->getExecutable();
 
-    // Display: Master
+    // Display: Master.
     $default_display = $executable->newDisplay('default', 'Master', 'default');
     foreach ($display_options['default'] as $option => $value) {
       $default_display->setOption($option, $value);
     }
 
-    // Display: Page
+    // Display: Page.
     if (isset($display_options['page'])) {
       $display = $executable->newDisplay('page', 'Page', 'page_1');
       // The page display is usually the main one (from the user's point of
diff --git a/core/modules/views/src/ViewExecutable.php b/core/modules/views/src/ViewExecutable.php
index 82c1cb9832..12205159e9 100644
--- a/core/modules/views/src/ViewExecutable.php
+++ b/core/modules/views/src/ViewExecutable.php
@@ -132,7 +132,7 @@ class ViewExecutable {
    */
   public $feedIcons = [];
 
-  // Exposed widget input
+  // Exposed widget input.
 
   /**
    * All the form data from $form_state->getValues().
@@ -1111,11 +1111,11 @@ protected function _buildArguments() {
           $argument->query($this->display_handler->useGroupBy());
         }
 
-        // Add this argument's substitution
+        // Add this argument's substitution.
         $substitutions["{{ arguments.$id }}"] = $arg_title;
         $substitutions["{{ raw_arguments.$id }}"] = strip_tags(Html::decodeEntities($arg));
 
-        // Test to see if we should use this argument's title
+        // Test to see if we should use this argument's title.
         if (!empty($argument->options['title_enable']) && !empty($argument->options['title'])) {
           $title = $argument->options['title'];
         }
@@ -1322,7 +1322,7 @@ public function build($display_id = NULL) {
     $this->built = TRUE;
     $this->build_time = microtime(TRUE) - $start;
 
-    // Attach displays
+    // Attach displays.
     $this->attachDisplays();
 
     // Let modules modify the view just after building it.
@@ -1624,7 +1624,7 @@ public function executeDisplay($display_id = NULL, $args = []) {
 
     $this->preExecute($args);
 
-    // Execute the view
+    // Execute the view.
     $output = $this->display_handler->execute();
 
     $this->postExecute();
@@ -1686,7 +1686,7 @@ public function preExecute($args = []) {
     // Allow hook_views_pre_view() to set the dom_id, then ensure it is set.
     $this->dom_id = !empty($this->dom_id) ? $this->dom_id : hash('sha256', $this->storage->id() . REQUEST_TIME . mt_rand());
 
-    // Allow the display handler to set up for execution
+    // Allow the display handler to set up for execution.
     $this->display_handler->preExecute();
   }
 
@@ -2283,10 +2283,10 @@ public function getHandlers($type, $display_id = NULL) {
   public function getHandler($display_id, $type, $id) {
     // Get info about the types so we can get the right data.
     $types = static::getHandlerTypes();
-    // Initialize the display
+    // Initialize the display.
     $this->setDisplay($display_id);
 
-    // Get the existing configuration
+    // Get the existing configuration.
     $fields = $this->displayHandlers->get($display_id)->getOption($types[$type]['plural']);
 
     return isset($fields[$id]) ? $fields[$id] : NULL;
diff --git a/core/modules/views/src/Views.php b/core/modules/views/src/Views.php
index 014beaefe1..925194b323 100644
--- a/core/modules/views/src/Views.php
+++ b/core/modules/views/src/Views.php
@@ -425,13 +425,13 @@ public static function getHandlerTypes() {
     if (!isset(static::$handlerTypes)) {
       static::$handlerTypes = [
         'field' => [
-          // title
+          // title.
           'title' => static::t('Fields'),
           // Lowercase title for mid-sentence.
           'ltitle' => static::t('fields'),
           // Singular title.
           'stitle' => static::t('Field'),
-          // Singular lowercase title for mid sentence
+          // Singular lowercase title for mid sentence.
           'lstitle' => static::t('field'),
           'plural' => 'fields',
         ],
diff --git a/core/modules/views/src/ViewsDataHelper.php b/core/modules/views/src/ViewsDataHelper.php
index 32e6adae8f..0561b2984a 100644
--- a/core/modules/views/src/ViewsDataHelper.php
+++ b/core/modules/views/src/ViewsDataHelper.php
@@ -68,7 +68,7 @@ public function fetchFields($base, $type, $grouping = FALSE, $sub_type = NULL) {
         $strings = [];
         $skip_bases = [];
         foreach ($table_data as $field => $info) {
-          // Collect table data from this table
+          // Collect table data from this table.
           if ($field == 'table') {
             // calculate what tables this table can join to.
             if (!empty($info['join'])) {
@@ -97,15 +97,15 @@ public function fetchFields($base, $type, $grouping = FALSE, $sub_type = NULL) {
                 }
               }
               foreach (['title', 'group', 'help', 'base', 'aliases'] as $string) {
-                // First, try the lowest possible level
+                // First, try the lowest possible level.
                 if (!empty($info[$key][$string])) {
                   $strings[$field][$key][$string] = $info[$key][$string];
                 }
-                // Then try the field level
+                // Then try the field level.
                 elseif (!empty($info[$string])) {
                   $strings[$field][$key][$string] = $info[$string];
                 }
-                // Finally, try the table level
+                // Finally, try the table level.
                 elseif (!empty($table_data['table'][$string])) {
                   $strings[$field][$key][$string] = $table_data['table'][$string];
                 }
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 cf430af25c..0da04ab72e 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
@@ -106,7 +106,7 @@ public function execute(ViewExecutable $view) {
       }
       if ($match) {
         // If the query explicit defines fields to use, filter all others out.
-        // Filter out fields
+        // Filter out fields.
         if ($this->fields) {
           $element = array_intersect_key($element, $this->fields);
         }
diff --git a/core/modules/views/tests/src/Functional/DefaultViewsTest.php b/core/modules/views/tests/src/Functional/DefaultViewsTest.php
index 3e7d0b48b2..e78d567951 100644
--- a/core/modules/views/tests/src/Functional/DefaultViewsTest.php
+++ b/core/modules/views/tests/src/Functional/DefaultViewsTest.php
@@ -174,16 +174,16 @@ public function testArchiveView() {
     // Create additional nodes compared to the one in the setup method.
     // Create two nodes in the same month, and one in each following month.
     $node = [
-      'created' => 280299600, // Sun, 19 Nov 1978 05:00:00 GMT
+      'created' => 280299600, // Sun, 19 Nov 1978 05:00:00 GMT.
     ];
     $this->drupalCreateNode($node);
     $this->drupalCreateNode($node);
     $node = [
-      'created' => 282891600, // Tue, 19 Dec 1978 05:00:00 GMT
+      'created' => 282891600, // Tue, 19 Dec 1978 05:00:00 GMT.
     ];
     $this->drupalCreateNode($node);
     $node = [
-      'created' => 285570000, // Fri, 19 Jan 1979 05:00:00 GMT
+      'created' => 285570000, // Fri, 19 Jan 1979 05:00:00 GMT.
     ];
     $this->drupalCreateNode($node);
 
diff --git a/core/modules/views/tests/src/Functional/GlossaryTest.php b/core/modules/views/tests/src/Functional/GlossaryTest.php
index d67f70dfd7..c3c65c31b7 100644
--- a/core/modules/views/tests/src/Functional/GlossaryTest.php
+++ b/core/modules/views/tests/src/Functional/GlossaryTest.php
@@ -51,7 +51,7 @@ public function testGlossaryView() {
       }
     }
 
-    // Execute glossary view
+    // Execute glossary view.
     $view = Views::getView('glossary');
     $view->setDisplay('attachment_1');
     $view->executeDisplay('attachment_1');
@@ -81,7 +81,7 @@ public function testGlossaryView() {
       ],
       [
         'config:views.view.glossary',
-        // Listed for letter 'a'
+        // Listed for letter 'a'.
         'node:' . $nodes_by_char['a'][0]->id(), 'node:' . $nodes_by_char['a'][1]->id(), 'node:' . $nodes_by_char['a'][2]->id(),
         // Link for letter 'd'.
         'node:1',
diff --git a/core/modules/views/tests/src/Functional/Handler/HandlerTest.php b/core/modules/views/tests/src/Functional/Handler/HandlerTest.php
index cffe6d1402..0f10410b92 100644
--- a/core/modules/views/tests/src/Functional/Handler/HandlerTest.php
+++ b/core/modules/views/tests/src/Functional/Handler/HandlerTest.php
@@ -70,7 +70,7 @@ public function testBreakString() {
     // Check defaults.
     $this->assertEqual((object) ['value' => [], 'operator' => NULL], HandlerBase::breakString(''));
 
-    // Test ors
+    // Test ors.
     $handler = HandlerBase::breakString('word1 word2+word');
     $this->assertEqualValue(['word1', 'word2', 'word'], $handler);
     $this->assertEqual('or', $handler->operator);
@@ -104,13 +104,13 @@ public function testBreakString() {
     $this->assertEqualValue(['wõrd1', 'wõrd2', 'wõrd'], $handler);
     $this->assertEqual('and', $handler->operator);
 
-    // Test a single word
+    // Test a single word.
     $handler = HandlerBase::breakString('word');
     $this->assertEqualValue(['word'], $handler);
     $this->assertEqual('and', $handler->operator);
 
     $s1 = $this->randomMachineName();
-    // Generate three random numbers which can be used below;
+    // Generate three random numbers which can be used below.
     $n1 = rand(0, 100);
     $n2 = rand(0, 100);
     $n3 = rand(0, 100);
@@ -158,7 +158,7 @@ public function testBreakString() {
     $this->assertEqualValue([(int) $s1, $n2, $n3], $handlerBase);
     $this->assertEqual('or', $handlerBase->operator);
 
-    // Generate three random decimals which can be used below;
+    // Generate three random decimals which can be used below.
     $d1 = rand(0, 10) / 10;
     $d2 = rand(0, 10) / 10;
     $d3 = rand(0, 10) / 10;
diff --git a/core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php b/core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php
index ea2f5b2373..b0593092f5 100644
--- a/core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php
+++ b/core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php
@@ -121,7 +121,7 @@ public function testArgumentDefaultFixed() {
 
     $this->assertEqual($view->argument['null']->getDefaultArgument(), $random, 'Fixed argument should be used by default.');
 
-    // Make sure that a normal argument provided is used
+    // Make sure that a normal argument provided is used.
     $random_string = $this->randomMachineName();
     $view->executeDisplay('default', [$random_string]);
 
@@ -131,7 +131,7 @@ public function testArgumentDefaultFixed() {
   /**
    * @todo Test php default argument.
    */
-  // function testArgumentDefaultPhp() {}
+  // function testArgumentDefaultPhp() {}.
 
   /**
    * Test node default argument.
diff --git a/core/modules/views/tests/src/Functional/Plugin/DisplayTest.php b/core/modules/views/tests/src/Functional/Plugin/DisplayTest.php
index 6748152987..87d36ef4c4 100644
--- a/core/modules/views/tests/src/Functional/Plugin/DisplayTest.php
+++ b/core/modules/views/tests/src/Functional/Plugin/DisplayTest.php
@@ -261,7 +261,7 @@ public function testMissingRelationship() {
 
     // Remove the relationship used by other handlers.
     $view->removeHandler('default', 'relationship', 'uid');
-    // Validate display
+    // Validate display.
     $errors = $view->validate();
     // Check that the error messages are shown.
     $this->assertTrue(count($errors['default']) == 2, 'Error messages found for required relationship');
diff --git a/core/modules/views/tests/src/Functional/Plugin/MiniPagerTest.php b/core/modules/views/tests/src/Functional/Plugin/MiniPagerTest.php
index 492d22f987..7aa063f602 100644
--- a/core/modules/views/tests/src/Functional/Plugin/MiniPagerTest.php
+++ b/core/modules/views/tests/src/Functional/Plugin/MiniPagerTest.php
@@ -71,7 +71,7 @@ public function testMiniPagerRender() {
     $this->assertText($this->nodes[18]->label());
     $this->assertText($this->nodes[19]->label());
 
-    // Test @total value in result summary
+    // Test @total value in result summary.
     $view = Views::getView('test_mini_pager');
     $view->setDisplay('page_4');
     $this->executeView($view);
diff --git a/core/modules/views/tests/src/Functional/Plugin/PagerTest.php b/core/modules/views/tests/src/Functional/Plugin/PagerTest.php
index c80fa09bfc..198b5e3ff6 100644
--- a/core/modules/views/tests/src/Functional/Plugin/PagerTest.php
+++ b/core/modules/views/tests/src/Functional/Plugin/PagerTest.php
@@ -233,7 +233,7 @@ public function testNormalPager() {
     $this->executeView($view);
     $this->assertEqual(count($view->result), 3, 'Make sure that only a certain count of items is returned');
 
-    // Test items per page = 0
+    // Test items per page = 0.
     $view = Views::getView('test_view_pager_full_zero_items_per_page');
     $this->executeView($view);
 
diff --git a/core/modules/views/tests/src/Kernel/BasicTest.php b/core/modules/views/tests/src/Kernel/BasicTest.php
index 4ef22b1408..6a980ade36 100644
--- a/core/modules/views/tests/src/Kernel/BasicTest.php
+++ b/core/modules/views/tests/src/Kernel/BasicTest.php
@@ -99,7 +99,7 @@ public function testSimpleFiltering() {
    * Tests simple argument.
    */
   public function testSimpleArgument() {
-    // Execute with a view
+    // Execute with a view.
     $view = Views::getView('test_simple_argument');
     $view->setArguments([27]);
     $this->executeView($view);
diff --git a/core/modules/views/tests/src/Kernel/EventSubscriber/ViewsEntitySchemaSubscriberIntegrationTest.php b/core/modules/views/tests/src/Kernel/EventSubscriber/ViewsEntitySchemaSubscriberIntegrationTest.php
index 2319a7064a..a53c0bde7b 100644
--- a/core/modules/views/tests/src/Kernel/EventSubscriber/ViewsEntitySchemaSubscriberIntegrationTest.php
+++ b/core/modules/views/tests/src/Kernel/EventSubscriber/ViewsEntitySchemaSubscriberIntegrationTest.php
@@ -294,9 +294,9 @@ public function testVariousTableUpdates() {
     // base + translation <-> base + translation + revision
     // base + revision <-> base + translation + revision
     // base <-> base + revision
-    // base <-> base + translation + revision
+    // base <-> base + translation + revision.
 
-    // base <-> base + translation
+    // base <-> base + translation.
     $this->updateEntityTypeToTranslatable();
     $this->entityDefinitionUpdateManager->applyUpdates();
     list($view, $display) = $this->getUpdatedViewAndDisplay();
@@ -315,7 +315,7 @@ public function testVariousTableUpdates() {
 
     $this->resetEntityType();
 
-    // base + translation <-> base + translation + revision
+    // base + translation <-> base + translation + revision.
     $this->updateEntityTypeToTranslatable();
     $this->entityDefinitionUpdateManager->applyUpdates();
     list($view, $display) = $this->getUpdatedViewAndDisplay();
@@ -342,7 +342,7 @@ public function testVariousTableUpdates() {
 
     $this->resetEntityType();
 
-    // base + revision <-> base + translation + revision
+    // base + revision <-> base + translation + revision.
     $this->updateEntityTypeToRevisionable();
     list($view, $display) = $this->getUpdatedViewAndDisplay();
 
@@ -368,7 +368,7 @@ public function testVariousTableUpdates() {
 
     $this->resetEntityType();
 
-    // base <-> base + revision
+    // base <-> base + revision.
     $this->updateEntityTypeToRevisionable();
     $this->entityDefinitionUpdateManager->applyUpdates();
     list($view, $display) = $this->getUpdatedViewAndDisplay();
@@ -387,7 +387,7 @@ public function testVariousTableUpdates() {
 
     $this->resetEntityType();
 
-    // base <-> base + translation + revision
+    // base <-> base + translation + revision.
     $this->updateEntityTypeToRevisionable();
     $this->updateEntityTypeToTranslatable();
     $this->entityDefinitionUpdateManager->applyUpdates();
@@ -411,7 +411,7 @@ public function testVariousTableUpdates() {
    * Tests some possible entity table updates for a revision view.
    */
   public function testVariousTableUpdatesForRevisionView() {
-    // base + revision <-> base + translation + revision
+    // base + revision <-> base + translation + revision.
     $this->updateEntityTypeToRevisionable();
     // Multiple changes, so we have to invalidate the caches, otherwise
     // the second update will revert the first.
diff --git a/core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php b/core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php
index 2feaaf144e..99045f2488 100644
--- a/core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/AreaTextTest.php
@@ -35,7 +35,7 @@ public function testAreaText() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // add a text header
+    // add a text header.
     $string = $this->randomMachineName();
     $view->displayHandlers->get('default')->overrideOption('header', [
       'area' => [
diff --git a/core/modules/views/tests/src/Kernel/Handler/ArgumentNullTest.php b/core/modules/views/tests/src/Kernel/Handler/ArgumentNullTest.php
index 933a00099f..b1e1d8b0e4 100644
--- a/core/modules/views/tests/src/Kernel/Handler/ArgumentNullTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/ArgumentNullTest.php
@@ -27,7 +27,7 @@ public function viewsData() {
   }
 
   public function testAreaText() {
-    // Test validation
+    // Test validation.
     $view = Views::getView('test_view');
     $view->setDisplay();
 
diff --git a/core/modules/views/tests/src/Kernel/Handler/FieldBooleanTest.php b/core/modules/views/tests/src/Kernel/Handler/FieldBooleanTest.php
index 0690fc12ca..17e169d31c 100644
--- a/core/modules/views/tests/src/Kernel/Handler/FieldBooleanTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/FieldBooleanTest.php
@@ -20,7 +20,7 @@ class FieldBooleanTest extends ViewsKernelTestBase {
   public static $testViews = ['test_view'];
 
   public function dataSet() {
-    // Use default dataset but remove the age from john and paul
+    // Use default dataset but remove the age from john and paul.
     $data = parent::dataSet();
     $data[0]['age'] = 0;
     $data[3]['age'] = 0;
diff --git a/core/modules/views/tests/src/Kernel/Handler/FieldKernelTest.php b/core/modules/views/tests/src/Kernel/Handler/FieldKernelTest.php
index 677a3f5e40..8fb1e6f695 100644
--- a/core/modules/views/tests/src/Kernel/Handler/FieldKernelTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/FieldKernelTest.php
@@ -831,7 +831,7 @@ public function testTrimText() {
       $this->assertEqual($result_text, $expect[$key]);
     }
 
-    // Test also word_boundary
+    // Test also word_boundary.
     $alter['word_boundary'] = TRUE;
     $expect = [
       'Tuy nhiên',
diff --git a/core/modules/views/tests/src/Kernel/Handler/FilterEqualityTest.php b/core/modules/views/tests/src/Kernel/Handler/FilterEqualityTest.php
index d78f7c92e2..73f6faa95f 100644
--- a/core/modules/views/tests/src/Kernel/Handler/FilterEqualityTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/FilterEqualityTest.php
@@ -40,7 +40,7 @@ public function testEqual() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'name' => [
         'id' => 'name',
@@ -66,7 +66,7 @@ public function testEqualGroupedExposed() {
     $view = Views::getView('test_view');
     $view->newDisplay('page', 'Page', 'page_1');
 
-    // Filter: Name, Operator: =, Value: Ringo
+    // Filter: Name, Operator: =, Value: Ringo.
     $filters['name']['group_info']['default_group'] = 1;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -86,7 +86,7 @@ public function testNotEqual() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'name' => [
         'id' => 'name',
@@ -121,7 +121,7 @@ public function testEqualGroupedNotExposed() {
     $view = Views::getView('test_view');
     $view->newDisplay('page', 'Page', 'page_1');
 
-    // Filter: Name, Operator: !=, Value: Ringo
+    // Filter: Name, Operator: !=, Value: Ringo.
     $filters['name']['group_info']['default_group'] = 2;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
diff --git a/core/modules/views/tests/src/Kernel/Handler/FilterInOperatorTest.php b/core/modules/views/tests/src/Kernel/Handler/FilterInOperatorTest.php
index e02a8430c7..912ff186be 100644
--- a/core/modules/views/tests/src/Kernel/Handler/FilterInOperatorTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/FilterInOperatorTest.php
@@ -107,7 +107,7 @@ public function testFilterInOperatorGroupedExposedSimple() {
     $filters = $this->getGroupedExposedFilters();
     $view = Views::getView('test_view');
 
-    // Filter: Age, Operator: in, Value: 26, 30
+    // Filter: Age, Operator: in, Value: 26, 30.
     $filters['age']['group_info']['default_group'] = 1;
     $view->setDisplay();
     $view->displayHandlers->get('default')->overrideOption('filters', $filters);
@@ -133,7 +133,7 @@ public function testFilterNotInOperatorGroupedExposedSimple() {
     $filters = $this->getGroupedExposedFilters();
     $view = Views::getView('test_view');
 
-    // Filter: Age, Operator: in, Value: 26, 30
+    // Filter: Age, Operator: in, Value: 26, 30.
     $filters['age']['group_info']['default_group'] = 2;
     $view->setDisplay();
     $view->displayHandlers->get('default')->overrideOption('filters', $filters);
diff --git a/core/modules/views/tests/src/Kernel/Handler/FilterNumericTest.php b/core/modules/views/tests/src/Kernel/Handler/FilterNumericTest.php
index e1093e47f7..6ea4efcca3 100644
--- a/core/modules/views/tests/src/Kernel/Handler/FilterNumericTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/FilterNumericTest.php
@@ -43,7 +43,7 @@ public function testFilterNumericSimple() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'age' => [
         'id' => 'age',
@@ -70,7 +70,7 @@ public function testFilterNumericExposedGroupedSimple() {
     $view = Views::getView('test_view');
     $view->newDisplay('page', 'Page', 'page_1');
 
-    // Filter: Age, Operator: =, Value: 28
+    // Filter: Age, Operator: =, Value: 28.
     $filters['age']['group_info']['default_group'] = 1;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -91,7 +91,7 @@ public function testFilterNumericBetween() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'age' => [
         'id' => 'age',
@@ -123,11 +123,11 @@ public function testFilterNumericBetween() {
     ];
     $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
 
-    // test not between
+    // test not between.
     $view->destroy();
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'age' => [
         'id' => 'age',
@@ -161,7 +161,7 @@ public function testFilterNumericExposedGroupedBetween() {
     $view = Views::getView('test_view');
     $view->newDisplay('page', 'Page', 'page_1');
 
-    // Filter: Age, Operator: between, Value: 26 and 29
+    // Filter: Age, Operator: between, Value: 26 and 29.
     $filters['age']['group_info']['default_group'] = 2;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -191,7 +191,7 @@ public function testFilterNumericExposedGroupedNotBetween() {
     $view = Views::getView('test_view');
     $view->newDisplay('page', 'Page', 'page_1');
 
-    // Filter: Age, Operator: between, Value: 26 and 29
+    // Filter: Age, Operator: between, Value: 26 and 29.
     $filters['age']['group_info']['default_group'] = 3;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -252,7 +252,7 @@ public function testFilterNumericExposedGroupedRegularExpression() {
     $view = Views::getView('test_view');
     $view->newDisplay('page', 'Page', 'page_1');
 
-    // Filter: Age, Operator: regular_expression, Value: 2[7-8]
+    // Filter: Age, Operator: regular_expression, Value: 2[7-8].
     $filters['age']['group_info']['default_group'] = 6;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -276,7 +276,7 @@ public function testFilterNumericEmpty() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'age' => [
         'id' => 'age',
@@ -294,7 +294,7 @@ public function testFilterNumericEmpty() {
     $view->destroy();
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'age' => [
         'id' => 'age',
diff --git a/core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php b/core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php
index 03c1b878a5..d9ba05c69a 100644
--- a/core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/FilterStringTest.php
@@ -88,7 +88,7 @@ public function testFilterStringEqual() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'name' => [
         'id' => 'name',
@@ -113,7 +113,7 @@ public function testFilterStringGroupedExposedEqual() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: =, Value: Ringo
+    // Filter: Name, Operator: =, Value: Ringo.
     $filters['name']['group_info']['default_group'] = 1;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -135,7 +135,7 @@ public function testFilterStringNotEqual() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'name' => [
         'id' => 'name',
@@ -169,7 +169,7 @@ public function testFilterStringGroupedExposedNotEqual() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: !=, Value: Ringo
+    // Filter: Name, Operator: !=, Value: Ringo.
     $filters['name']['group_info']['default_group'] = '2';
 
     $view->setDisplay('page_1');
@@ -201,7 +201,7 @@ public function testFilterStringContains() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'name' => [
         'id' => 'name',
@@ -227,7 +227,7 @@ public function testFilterStringGroupedExposedContains() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: contains, Value: ing
+    // Filter: Name, Operator: contains, Value: ing.
     $filters['name']['group_info']['default_group'] = '3';
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -250,7 +250,7 @@ public function testFilterStringWord() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
@@ -277,7 +277,7 @@ public function testFilterStringWord() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
@@ -339,7 +339,7 @@ public function testFilterStringGroupedExposedWord() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: contains, Value: ing
+    // Filter: Name, Operator: contains, Value: ing.
     $filters['name']['group_info']['default_group'] = '3';
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -360,7 +360,7 @@ public function testFilterStringGroupedExposedWord() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Description, Operator: contains, Value: actor
+    // Filter: Description, Operator: contains, Value: actor.
     $filters['description']['group_info']['default_group'] = '1';
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -381,7 +381,7 @@ public function testFilterStringStarts() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
@@ -406,7 +406,7 @@ public function testFilterStringGroupedExposedStarts() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: starts, Value: George
+    // Filter: Name, Operator: starts, Value: George.
     $filters['description']['group_info']['default_group'] = 2;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -427,7 +427,7 @@ public function testFilterStringNotStarts() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
@@ -450,7 +450,7 @@ public function testFilterStringNotStarts() {
       [
         'name' => 'Paul',
       ],
-      // There is no Meredith returned because his description is empty
+      // There is no Meredith returned because his description is empty.
     ];
     $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
   }
@@ -459,7 +459,7 @@ public function testFilterStringGroupedExposedNotStarts() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: not_starts, Value: George
+    // Filter: Name, Operator: not_starts, Value: George.
     $filters['description']['group_info']['default_group'] = 3;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -478,7 +478,7 @@ public function testFilterStringGroupedExposedNotStarts() {
       [
         'name' => 'Paul',
       ],
-      // There is no Meredith returned because his description is empty
+      // There is no Meredith returned because his description is empty.
     ];
     $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
   }
@@ -487,7 +487,7 @@ public function testFilterStringEnds() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
@@ -515,7 +515,7 @@ public function testFilterStringGroupedExposedEnds() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Description, Operator: ends, Value: Beatles
+    // Filter: Description, Operator: ends, Value: Beatles.
     $filters['description']['group_info']['default_group'] = 4;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -539,7 +539,7 @@ public function testFilterStringNotEnds() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
@@ -559,7 +559,7 @@ public function testFilterStringNotEnds() {
       [
         'name' => 'Paul',
       ],
-      // There is no Meredith returned because his description is empty
+      // There is no Meredith returned because his description is empty.
     ];
     $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
   }
@@ -568,7 +568,7 @@ public function testFilterStringGroupedExposedNotEnds() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Description, Operator: not_ends, Value: Beatles
+    // Filter: Description, Operator: not_ends, Value: Beatles.
     $filters['description']['group_info']['default_group'] = 5;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -584,7 +584,7 @@ public function testFilterStringGroupedExposedNotEnds() {
       [
         'name' => 'Paul',
       ],
-      // There is no Meredith returned because his description is empty
+      // There is no Meredith returned because his description is empty.
     ];
     $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
   }
@@ -593,7 +593,7 @@ public function testFilterStringNot() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
@@ -613,7 +613,7 @@ public function testFilterStringNot() {
       [
         'name' => 'Paul',
       ],
-      // There is no Meredith returned because his description is empty
+      // There is no Meredith returned because his description is empty.
     ];
     $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
   }
@@ -623,7 +623,7 @@ public function testFilterStringGroupedExposedNot() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Description, Operator: not (does not contains), Value: Beatles
+    // Filter: Description, Operator: not (does not contains), Value: Beatles.
     $filters['description']['group_info']['default_group'] = 6;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -639,7 +639,7 @@ public function testFilterStringGroupedExposedNot() {
       [
         'name' => 'Paul',
       ],
-      // There is no Meredith returned because his description is empty
+      // There is no Meredith returned because his description is empty.
     ];
     $this->assertIdenticalResultset($view, $resultset, $this->columnMap);
 
@@ -649,7 +649,7 @@ public function testFilterStringShorter() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'name' => [
         'id' => 'name',
@@ -677,7 +677,7 @@ public function testFilterStringGroupedExposedShorter() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: shorterthan, Value: 5
+    // Filter: Name, Operator: shorterthan, Value: 5.
     $filters['name']['group_info']['default_group'] = 4;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -700,7 +700,7 @@ public function testFilterStringLonger() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'name' => [
         'id' => 'name',
@@ -725,7 +725,7 @@ public function testFilterStringGroupedExposedLonger() {
     $filters = $this->getGroupedExposedFilters();
     $view = $this->getBasicPageView();
 
-    // Filter: Name, Operator: longerthan, Value: 4
+    // Filter: Name, Operator: longerthan, Value: 4.
     $filters['name']['group_info']['default_group'] = 5;
     $view->setDisplay('page_1');
     $view->displayHandlers->get('page_1')->overrideOption('filters', $filters);
@@ -746,7 +746,7 @@ public function testFilterStringEmpty() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the filtering
+    // Change the filtering.
     $view->displayHandlers->get('default')->overrideOption('filters', [
       'description' => [
         'id' => 'description',
diff --git a/core/modules/views/tests/src/Kernel/Handler/SortDateTest.php b/core/modules/views/tests/src/Kernel/Handler/SortDateTest.php
index 2d1a2fcc2f..5cec5ade86 100644
--- a/core/modules/views/tests/src/Kernel/Handler/SortDateTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/SortDateTest.php
@@ -167,7 +167,7 @@ public function testDateOrdering() {
           ],
         ]);
 
-        // Change the ordering
+        // Change the ordering.
         $view->displayHandlers->get('default')->overrideOption('sorts', [
           'created' => [
             'id' => 'created',
diff --git a/core/modules/views/tests/src/Kernel/Handler/SortTest.php b/core/modules/views/tests/src/Kernel/Handler/SortTest.php
index 91560495fb..47405462d5 100644
--- a/core/modules/views/tests/src/Kernel/Handler/SortTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/SortTest.php
@@ -26,7 +26,7 @@ public function testNumericOrdering() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the ordering
+    // Change the ordering.
     $view->displayHandlers->get('default')->overrideOption('sorts', [
       'age' => [
         'order' => 'ASC',
@@ -50,7 +50,7 @@ public function testNumericOrdering() {
     $view->destroy();
     $view->setDisplay();
 
-    // Reverse the ordering
+    // Reverse the ordering.
     $view->displayHandlers->get('default')->overrideOption('sorts', [
       'age' => [
         'order' => 'DESC',
@@ -79,7 +79,7 @@ public function testStringOrdering() {
     $view = Views::getView('test_view');
     $view->setDisplay();
 
-    // Change the ordering
+    // Change the ordering.
     $view->displayHandlers->get('default')->overrideOption('sorts', [
       'name' => [
         'order' => 'ASC',
@@ -103,7 +103,7 @@ public function testStringOrdering() {
     $view->destroy();
     $view->setDisplay();
 
-    // Reverse the ordering
+    // Reverse the ordering.
     $view->displayHandlers->get('default')->overrideOption('sorts', [
       'name' => [
         'order' => 'DESC',
diff --git a/core/modules/views/tests/src/Kernel/Handler/SortTranslationTest.php b/core/modules/views/tests/src/Kernel/Handler/SortTranslationTest.php
index e49ef7a2c7..7f9281700f 100644
--- a/core/modules/views/tests/src/Kernel/Handler/SortTranslationTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/SortTranslationTest.php
@@ -42,7 +42,6 @@ protected function setUp($import_test_views = TRUE) {
     $this->installEntitySchema('node');
     $this->installEntitySchema('user');
 
-    // $this->installConfig('node');
     $this->container->get('kernel')->rebuildContainer();
 
     $node_type = NodeType::create(['type' => 'article']);
diff --git a/core/modules/views/tests/src/Kernel/ViewStorageTest.php b/core/modules/views/tests/src/Kernel/ViewStorageTest.php
index 7cf953af74..b535daf581 100644
--- a/core/modules/views/tests/src/Kernel/ViewStorageTest.php
+++ b/core/modules/views/tests/src/Kernel/ViewStorageTest.php
@@ -70,7 +70,7 @@ public function testConfigurationEntityCRUD() {
     $this->createTests();
     $this->displayTests();
 
-    // Helper method tests
+    // Helper method tests.
     $this->displayMethodTests();
   }
 
diff --git a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
index eefc541180..7e93919f0c 100644
--- a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
+++ b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
@@ -166,7 +166,7 @@ protected function setupBaseFields(array $base_fields) {
       ->setTranslatable(TRUE)
       ->setSetting('max_length', 255);
 
-    // A base field with cardinality > 1
+    // A base field with cardinality > 1.
     $base_fields['string']  = BaseFieldDefinition::create('string')
       ->setLabel('Strong')
       ->setTranslatable(TRUE)
diff --git a/core/modules/views/tests/src/Unit/Plugin/Block/ViewsBlockTest.php b/core/modules/views/tests/src/Unit/Plugin/Block/ViewsBlockTest.php
index cbe6adef86..f74ce7de60 100644
--- a/core/modules/views/tests/src/Unit/Plugin/Block/ViewsBlockTest.php
+++ b/core/modules/views/tests/src/Unit/Plugin/Block/ViewsBlockTest.php
@@ -58,7 +58,7 @@ class ViewsBlockTest extends UnitTestCase {
    * {@inheritdoc}
    */
   protected function setUp() {
-    parent::setUp(); // TODO: Change the autogenerated stub
+    parent::setUp(); // TODO: Change the autogenerated stub.
     $condition_plugin_manager = $this->getMock('Drupal\Core\Executable\ExecutableManagerInterface');
     $condition_plugin_manager->expects($this->any())
       ->method('getDefinitions')
diff --git a/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php b/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php
index e8ff8d7d96..1a5e80d439 100644
--- a/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php
+++ b/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php
@@ -181,7 +181,7 @@ protected function setUpUrlIntegrationServices() {
       ->willReturnCallback(
         // Pretend to do a render.
         function (&$elements, $is_root_call = FALSE) {
-          // Mock the ability to theme links
+          // Mock the ability to theme links.
           $link = $this->linkGenerator->generate($elements['#title'], $elements['#url']);
           if (isset($elements['#prefix'])) {
             $link = $elements['#prefix'] . $link;
@@ -370,7 +370,7 @@ public function providerTestRenderAsLinkWithPathAndOptions() {
     // entity_type flag.
     $entity_type_id = 'node';
     $data[] = ['test-path', ['entity_type' => $entity_type_id], '<a href="/test-path">value</a>'];
-    // prefix
+    // prefix.
     $data[] = ['test-path', ['prefix' => 'test_prefix'], '<a href="/test-path">value</a>', 'test_prefix<a href="/test-path">value</a>'];
     // suffix.
     $data[] = ['test-path', ['suffix' => 'test_suffix'], '<a href="/test-path">value</a>', '<a href="/test-path">value</a>test_suffix'];
diff --git a/core/modules/views/views.module b/core/modules/views/views.module
index f484f1833a..c6bb5b7d5c 100644
--- a/core/modules/views/views.module
+++ b/core/modules/views/views.module
@@ -89,7 +89,7 @@ function views_theme($existing, $type, $theme, $path) {
     'file' => 'views.theme.inc',
   ];
 
-  // Our extra version of pager from pager.inc
+  // Our extra version of pager from pager.inc.
   $hooks['views_mini_pager'] = $base + [
     'variables' => ['tags' => [], 'quantity' => 9, 'element' => 0, 'parameters' => []],
   ];
@@ -126,7 +126,7 @@ function views_theme($existing, $type, $theme, $path) {
     ],
   ];
 
-  // Default view themes
+  // Default view themes.
   $hooks['views_view_field'] = $base + [
     'variables' => ['view' => NULL, 'field' => NULL, 'row' => NULL],
   ];
diff --git a/core/modules/views/views.theme.inc b/core/modules/views/views.theme.inc
index 39e741420a..2b06fcff1f 100644
--- a/core/modules/views/views.theme.inc
+++ b/core/modules/views/views.theme.inc
@@ -123,7 +123,7 @@ function template_preprocess_views_view_fields(&$variables) {
         $object->raw = $row->{$view->field[$id]->field_alias};
       }
       else {
-        $object->raw = NULL; // make sure it exists to reduce NOTICE
+        $object->raw = NULL; // make sure it exists to reduce NOTICE.
       }
 
       if (!empty($variables['options']['separator']) && $previous_inline && $object->inline && $object->content) {
@@ -153,7 +153,7 @@ function template_preprocess_views_view_fields(&$variables) {
         $object->wrapper_attributes = new Attribute($attributes);
       }
 
-      // Set up field label
+      // Set up field label.
       $object->label = $view->field[$id]->label();
 
       // Set up field label wrapper and its attributes.
@@ -297,7 +297,7 @@ function template_preprocess_views_view_summary(&$variables) {
         $url->setRouteParameters($parameters);
       }
       catch (Exception $e) {
-        // If the given route doesn't exist, default to <front>
+        // If the given route doesn't exist, default to <front>.
         $url = Url::fromRoute('<front>');
       }
     }
@@ -383,7 +383,7 @@ function template_preprocess_views_view_summary_unformatted(&$variables) {
         $url->setRouteParameters($parameters);
       }
       catch (Exception $e) {
-        // If the given route doesn't exist, default to <front>
+        // If the given route doesn't exist, default to <front>.
         $url = Url::fromRoute('<front>');
       }
     }
@@ -856,7 +856,7 @@ function template_preprocess_views_view_rss(&$variables) {
   $variables['title'] = $title;
 
   // Figure out which display which has a path we're using for this feed. If
-  // there isn't one, use the global $base_url
+  // there isn't one, use the global $base_url.
   $link_display_id = $view->display_handler->getLinkDisplay();
   /** @var \Drupal\views\Plugin\views\display\DisplayPluginBase $display */
   if ($link_display_id && ($display = $view->displayHandlers->get($link_display_id)) && $display->isEnabled()) {
diff --git a/core/modules/views_ui/src/Form/Ajax/AddHandler.php b/core/modules/views_ui/src/Form/Ajax/AddHandler.php
index 0a04000a6a..ecce544da6 100644
--- a/core/modules/views_ui/src/Form/Ajax/AddHandler.php
+++ b/core/modules/views_ui/src/Form/Ajax/AddHandler.php
@@ -163,7 +163,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
         '#markup' => '<div class="js-form-item form-item">' . $this->t('There are no @types available to add.', ['@types' => $ltitle]) . '</div>',
       ];
     }
-    // Add a div to show the selected items
+    // Add a div to show the selected items.
     $form['selected'] = [
       '#type' => 'item',
       '#markup' => '<span class="views-ui-view-title">' . $this->t('Selected:') . '</span> ' . '<div class="views-selected-options"></div>',
diff --git a/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php b/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
index 972b4b940f..c228e228eb 100644
--- a/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
+++ b/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
@@ -243,7 +243,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     // extra stuff on the form is not sent through.
     $handler->unpackOptions($handler->options, $options, NULL, FALSE);
 
-    // Store the item back on the view
+    // Store the item back on the view.
     $executable->setHandler($display_id, $type, $id, $handler->options);
 
     // Ensure any temporary options are removed.
@@ -251,7 +251,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
       unset($view->temporary_options[$type][$id]);
     }
 
-    // Write to cache
+    // Write to cache.
     $view->cacheSet();
   }
 
@@ -263,7 +263,7 @@ public function remove(&$form, FormStateInterface $form_state) {
     $display_id = $form_state->get('display_id');
     $type = $form_state->get('type');
     $id = $form_state->get('id');
-    // Store the item back on the view
+    // Store the item back on the view.
     list($was_defaulted, $is_defaulted) = $view->getOverrideValues($form, $form_state);
     $executable = $view->getExecutable();
     // If the display selection was changed toggle the override value.
@@ -273,7 +273,7 @@ public function remove(&$form, FormStateInterface $form_state) {
     }
     $executable->removeHandler($display_id, $type, $id);
 
-    // Write to cache
+    // Write to cache.
     $view->cacheSet();
   }
 
diff --git a/core/modules/views_ui/src/Form/Ajax/ConfigHandlerExtra.php b/core/modules/views_ui/src/Form/Ajax/ConfigHandlerExtra.php
index a79d03142e..edb032567f 100644
--- a/core/modules/views_ui/src/Form/Ajax/ConfigHandlerExtra.php
+++ b/core/modules/views_ui/src/Form/Ajax/ConfigHandlerExtra.php
@@ -110,10 +110,10 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
       $item[$key] = $value;
     }
 
-    // Store the item back on the view
+    // Store the item back on the view.
     $view->getExecutable()->setHandler($form_state->get('display_id'), $form_state->get('type'), $form_state->get('id'), $item);
 
-    // Write to cache
+    // Write to cache.
     $view->cacheSet();
   }
 
diff --git a/core/modules/views_ui/src/Form/Ajax/ConfigHandlerGroup.php b/core/modules/views_ui/src/Form/Ajax/ConfigHandlerGroup.php
index b4d0f136b8..55e595856f 100644
--- a/core/modules/views_ui/src/Form/Ajax/ConfigHandlerGroup.php
+++ b/core/modules/views_ui/src/Form/Ajax/ConfigHandlerGroup.php
@@ -103,10 +103,10 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
 
     $handler->submitGroupByForm($form, $form_state);
 
-    // Store the item back on the view
+    // Store the item back on the view.
     $executable->setHandler($form_state->get('display_id'), $form_state->get('type'), $form_state->get('id'), $item);
 
-    // Write to cache
+    // Write to cache.
     $view->cacheSet();
   }
 
diff --git a/core/modules/views_ui/src/Form/Ajax/Rearrange.php b/core/modules/views_ui/src/Form/Ajax/Rearrange.php
index 1ffb710ca1..e95db6aa9b 100644
--- a/core/modules/views_ui/src/Form/Ajax/Rearrange.php
+++ b/core/modules/views_ui/src/Form/Ajax/Rearrange.php
@@ -68,7 +68,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
 
     $count = 0;
 
-    // Get relationship labels
+    // Get relationship labels.
     $relationships = [];
     foreach ($display->getHandlers('relationship') as $id => $handler) {
       $relationships[$id] = $handler->adminLabel();
@@ -156,7 +156,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     $old_fields = $display->getOption($types[$type]['plural']);
     $new_fields = $order = [];
 
-    // Make an array with the weights
+    // Make an array with the weights.
     foreach ($form_state->getValue('fields') as $field => $info) {
       // add each value that is a field with a weight to our list, but only if
       // it has had its 'removed' checkbox checked.
@@ -165,7 +165,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
       }
     }
 
-    // Sort the array
+    // Sort the array.
     asort($order);
 
     // Create a new list of fields in the new order.
@@ -174,7 +174,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     }
     $display->setOption($types[$type]['plural'], $new_fields);
 
-    // Store in cache
+    // Store in cache.
     $view->cacheSet();
   }
 
diff --git a/core/modules/views_ui/src/Form/Ajax/RearrangeFilter.php b/core/modules/views_ui/src/Form/Ajax/RearrangeFilter.php
index 3298681051..ae95d581c4 100644
--- a/core/modules/views_ui/src/Form/Ajax/RearrangeFilter.php
+++ b/core/modules/views_ui/src/Form/Ajax/RearrangeFilter.php
@@ -67,7 +67,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     }
     $count = 0;
 
-    // Get relationship labels
+    // Get relationship labels.
     $relationships = [];
     foreach ($display->getHandlers('relationship') as $id => $handler) {
       $relationships[$id] = $handler->adminLabel();
@@ -119,7 +119,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
         ],
       ];
 
-      $form['remove_groups'][$id] = []; // to prevent a notice
+      $form['remove_groups'][$id] = []; // to prevent a notice.
       if ($id != 1) {
         $form['remove_groups'][$id] = [
           '#type' => 'submit',
@@ -239,7 +239,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     // Whatever button was clicked, re-calculate field information.
     $new_fields = $order = [];
 
-    // Make an array with the weights
+    // Make an array with the weights.
     foreach ($form_state->getValue('filters') as $field => $info) {
       // add each value that is a field with a weight to our list, but only if
       // it has had its 'removed' checkbox checked.
@@ -255,7 +255,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
       }
     }
 
-    // Sort the array
+    // Sort the array.
     asort($order);
 
     // Create a new list of fields in the new order.
@@ -268,7 +268,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     $triggering_element = $form_state->getTriggeringElement();
     if (!empty($triggering_element['#group'])) {
       if ($triggering_element['#group'] == 'add') {
-        // Add a new group
+        // Add a new group.
         $groups['groups'][] = 'AND';
       }
       else {
diff --git a/core/modules/views_ui/src/Tests/ViewEditTest.php b/core/modules/views_ui/src/Tests/ViewEditTest.php
index a939f97ae6..1d41d1d769 100644
--- a/core/modules/views_ui/src/Tests/ViewEditTest.php
+++ b/core/modules/views_ui/src/Tests/ViewEditTest.php
@@ -74,7 +74,7 @@ public function testOtherOptions() {
     $machine_name_edit_url = 'admin/structure/views/nojs/display/test_view/test_1/display_id';
     $error_text = t('Display name must be letters, numbers, or underscores only.');
 
-    // Test that potential invalid display ID requests are detected
+    // Test that potential invalid display ID requests are detected.
     try {
       $this->drupalGet('admin/structure/views/ajax/handler/test_view/fake_display_name/filter/title');
       $this->fail('Expected error, when setDisplay() called with invalid display ID');
diff --git a/core/modules/views_ui/src/ViewEditForm.php b/core/modules/views_ui/src/ViewEditForm.php
index 7066476c54..05a9b2fd4f 100644
--- a/core/modules/views_ui/src/ViewEditForm.php
+++ b/core/modules/views_ui/src/ViewEditForm.php
@@ -185,7 +185,7 @@ public function form(array $form, FormStateInterface $form_state) {
         }
       }
 
-      // Add the edit display content
+      // Add the edit display content.
       $tab_content = $this->getDisplayTab($view);
       $tab_content['#theme_wrappers'] = ['container'];
       $tab_content['#attributes'] = ['class' => ['views-display-tab']];
@@ -582,13 +582,13 @@ public function getDisplayDetails($view, $display) {
    */
   public function submitDisplayUndoDelete($form, FormStateInterface $form_state) {
     $view = $this->entity;
-    // Create the new display
+    // Create the new display.
     $id = $form_state->get('display_id');
     $displays = $view->get('display');
     $displays[$id]['deleted'] = FALSE;
     $view->set('display', $displays);
 
-    // Store in cache
+    // Store in cache.
     $view->cacheSet();
 
     // Redirect to the top-level edit page.
@@ -604,10 +604,10 @@ public function submitDisplayUndoDelete($form, FormStateInterface $form_state) {
   public function submitDisplayEnable($form, FormStateInterface $form_state) {
     $view = $this->entity;
     $id = $form_state->get('display_id');
-    // setOption doesn't work because this would might affect upper displays
+    // setOption doesn't work because this would might affect upper displays.
     $view->getExecutable()->displayHandlers->get($id)->setOption('enabled', TRUE);
 
-    // Store in cache
+    // Store in cache.
     $view->cacheSet();
 
     // Redirect to the top-level edit page.
@@ -625,7 +625,7 @@ public function submitDisplayDisable($form, FormStateInterface $form_state) {
     $id = $form_state->get('display_id');
     $view->getExecutable()->displayHandlers->get($id)->setOption('enabled', FALSE);
 
-    // Store in cache
+    // Store in cache.
     $view->cacheSet();
 
     // Redirect to the top-level edit page.
@@ -687,7 +687,7 @@ public function renderDisplayTop(ViewUI $view) {
     $element['#attributes']['class'] = ['views-display-top', 'clearfix'];
     $element['#attributes']['id'] = ['views-display-top'];
 
-    // Extra actions for the display
+    // Extra actions for the display.
     $element['extra_actions'] = [
       '#type' => 'dropbutton',
       '#attributes' => [
@@ -1001,7 +1001,7 @@ public function getFormBucket(ViewUI $view, $type, $display) {
       ];
     }
 
-    // Render the array of links
+    // Render the array of links.
     $build['#actions'] = [
       '#type' => 'dropbutton',
       '#links' => $actions,
diff --git a/core/modules/views_ui/src/ViewPreviewForm.php b/core/modules/views_ui/src/ViewPreviewForm.php
index 2cc25332ef..cc0294b060 100644
--- a/core/modules/views_ui/src/ViewPreviewForm.php
+++ b/core/modules/views_ui/src/ViewPreviewForm.php
@@ -38,7 +38,7 @@ public function form(array $form, FormStateInterface $form_state) {
       '#default_value' => \Drupal::config('views.settings')->get('ui.always_live_preview'),
     ];
 
-    // Add the arguments textfield
+    // Add the arguments textfield.
     $form['controls']['view_args'] = [
       '#type' => 'textfield',
       '#title' => $this->t('Preview with contextual filters:'),
diff --git a/core/modules/views_ui/src/ViewUI.php b/core/modules/views_ui/src/ViewUI.php
index 2e7fabd62b..5305483be2 100644
--- a/core/modules/views_ui/src/ViewUI.php
+++ b/core/modules/views_ui/src/ViewUI.php
@@ -456,7 +456,7 @@ public function submitItemAdd($form, FormStateInterface $form_state) {
         }
         $id = $this->getExecutable()->addHandler($display_id, $type, $table, $field);
 
-        // check to see if we have group by settings
+        // check to see if we have group by settings.
         $key = $type;
         // Footer,header and empty text have a different internal handler type(area).
         if (isset($types[$type]['type'])) {
@@ -471,11 +471,11 @@ public function submitItemAdd($form, FormStateInterface $form_state) {
           $this->addFormToStack('handler-group', $display_id, $type, $id);
         }
 
-        // check to see if this type has settings, if so add the settings form first
+        // check to see if this type has settings, if so add the settings form first.
         if ($handler && $handler->hasExtraOptions()) {
           $this->addFormToStack('handler-extra', $display_id, $type, $id);
         }
-        // Then add the form to the stack
+        // Then add the form to the stack.
         $this->addFormToStack('handler', $display_id, $type, $id);
       }
     }
@@ -484,7 +484,7 @@ public function submitItemAdd($form, FormStateInterface $form_state) {
       unset($this->form_cache);
     }
 
-    // Store in cache
+    // Store in cache.
     $this->cacheSet();
   }
 
diff --git a/core/modules/views_ui/tests/src/Functional/DisplayTest.php b/core/modules/views_ui/tests/src/Functional/DisplayTest.php
index 44724b4211..28f6bb3980 100644
--- a/core/modules/views_ui/tests/src/Functional/DisplayTest.php
+++ b/core/modules/views_ui/tests/src/Functional/DisplayTest.php
@@ -148,7 +148,7 @@ public function testLinkDisplay() {
     $path = 'admin/structure/views/view/test_display/edit/block_1';
     $link_display_path = 'admin/structure/views/nojs/display/test_display/block_1/link_display';
 
-    // Test the link text displays 'None' and not 'Block 1'
+    // Test the link text displays 'None' and not 'Block 1'.
     $this->drupalGet($path);
     $result = $this->xpath("//a[contains(@href, :path)]", [':path' => $link_display_path]);
     $this->assertEqual($result[0]->getHtml(), t('None'), 'Make sure that the link option summary shows "None" by default.');
@@ -170,7 +170,7 @@ public function testLinkDisplay() {
 
     $this->assertLink(t('Custom URL'), 0, 'The link option has custom URL as summary.');
 
-    // Test the default link_url value for new display
+    // Test the default link_url value for new display.
     $this->drupalPostForm(NULL, [], t('Add Block'));
     $this->assertUrl('admin/structure/views/view/test_display/edit/block_2');
     $this->clickLink(t('Custom URL'));
diff --git a/core/modules/views_ui/tests/src/Functional/HandlerTest.php b/core/modules/views_ui/tests/src/Functional/HandlerTest.php
index 31829941fc..58d0571f52 100644
--- a/core/modules/views_ui/tests/src/Functional/HandlerTest.php
+++ b/core/modules/views_ui/tests/src/Functional/HandlerTest.php
@@ -129,7 +129,7 @@ public function testUICRUD() {
       $display = $view->getDisplay('default');
       $this->assertTrue(isset($display['display_options'][$type_info['plural']][$id]), 'Ensure the field was added to the view itself.');
 
-      // Remove the item and check that it's removed
+      // Remove the item and check that it's removed.
       $this->drupalPostForm($edit_handler_url, [], t('Remove'));
       $this->assertNoLinkByHref($edit_handler_url, 0, 'The handler edit link does not appears in the UI after removing.');
 
diff --git a/core/modules/views_ui/views_ui.module b/core/modules/views_ui/views_ui.module
index 15f85e3a02..02ccd5d5b0 100644
--- a/core/modules/views_ui/views_ui.module
+++ b/core/modules/views_ui/views_ui.module
@@ -62,7 +62,7 @@ function views_ui_entity_type_build(array &$entity_types) {
  */
 function views_ui_theme() {
   return [
-    // edit a view
+    // edit a view.
     'views_ui_display_tab_setting' => [
       'variables' => ['description' => '', 'link' => '', 'settings_links' => [], 'overridden' => FALSE, 'defaulted' => FALSE, 'description_separator' => TRUE, 'class' => []],
       'file' => 'views_ui.theme.inc',
@@ -105,7 +105,7 @@ function views_ui_theme() {
       'file' => 'views_ui.theme.inc',
     ],
 
-    // On behalf of a plugin
+    // On behalf of a plugin.
     'views_ui_style_plugin_table' => [
       'render element' => 'form',
       'file' => 'views_ui.theme.inc',
diff --git a/core/modules/workflows/tests/src/Unit/WorkflowTest.php b/core/modules/workflows/tests/src/Unit/WorkflowTest.php
index 8cf449367c..56e20796c2 100644
--- a/core/modules/workflows/tests/src/Unit/WorkflowTest.php
+++ b/core/modules/workflows/tests/src/Unit/WorkflowTest.php
@@ -161,7 +161,7 @@ public function testGetState() {
       ->addTransition('create_new_draft', 'Create new draft', ['draft'], 'draft')
       ->addTransition('publish', 'Publish', ['draft'], 'published');
 
-    // Ensure we're returning state objects and they are set up correctly
+    // Ensure we're returning state objects and they are set up correctly.
     $this->assertInstanceOf(State::class, $workflow->getTypePlugin()->getState('draft'));
     $this->assertEquals('archived', $workflow->getTypePlugin()->getState('archived')->id());
     $this->assertEquals('Archived', $workflow->getTypePlugin()->getState('archived')->label());
@@ -422,7 +422,7 @@ public function testGetTransition() {
       ->addTransition('create_new_draft', 'Create new draft', ['draft'], 'draft')
       ->addTransition('publish', 'Publish', ['draft'], 'published');
 
-    // Ensure we're returning state objects and they are set up correctly
+    // Ensure we're returning state objects and they are set up correctly.
     $this->assertInstanceOf(Transition::class, $workflow->getTypePlugin()->getTransition('create_new_draft'));
     $this->assertEquals('publish', $workflow->getTypePlugin()->getTransition('publish')->id());
     $this->assertEquals('Publish', $workflow->getTypePlugin()->getTransition('publish')->label());
diff --git a/core/phpcs.xml.dist b/core/phpcs.xml.dist
index 5b07e1e868..313557513d 100644
--- a/core/phpcs.xml.dist
+++ b/core/phpcs.xml.dist
@@ -66,7 +66,6 @@
   <rule ref="../vendor/drupal/coder/coder_sniffer/Drupal/Sniffs/Commenting/InlineCommentSniff.php">
     <!-- Sniff for: NoSpaceBefore -->
     <exclude name="Drupal.Commenting.InlineComment.DocBlock"/>
-    <exclude name="Drupal.Commenting.InlineComment.InvalidEndChar"/>
     <exclude name="Drupal.Commenting.InlineComment.NotCapital"/>
     <exclude name="Drupal.Commenting.InlineComment.SpacingAfter"/>
     <exclude name="Drupal.Commenting.InlineComment.SpacingBefore"/>
diff --git a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormPageCacheTest.php b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormPageCacheTest.php
index 3d174b04df..6674172acc 100644
--- a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormPageCacheTest.php
+++ b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormPageCacheTest.php
@@ -49,7 +49,7 @@ public function testSimpleAJAXFormValue() {
     // commands:
     // - UpdateBuildIdCommand
     // - HtmlCommand
-    // - DataCommand
+    // - DataCommand.
     $session = $this->getSession();
     $session->getPage()->selectFieldOption('select', 'green');
 
diff --git a/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php b/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php
index 882e6edcd7..57163623a2 100644
--- a/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php
+++ b/core/tests/Drupal/FunctionalTests/BrowserTestBaseTest.php
@@ -605,7 +605,7 @@ public function testInstall() {
    * Tests the assumption that local time is in 'Australia/Sydney'.
    */
   public function testLocalTimeZone() {
-    // The 'Australia/Sydney' time zone is set in core/tests/bootstrap.php
+    // The 'Australia/Sydney' time zone is set in core/tests/bootstrap.php.
     $this->assertEquals('Australia/Sydney', date_default_timezone_get());
 
     // The 'Australia/Sydney' time zone is also set in
diff --git a/core/tests/Drupal/FunctionalTests/Image/ToolkitTestBase.php b/core/tests/Drupal/FunctionalTests/Image/ToolkitTestBase.php
index cf024e26ef..cfc40e5680 100644
--- a/core/tests/Drupal/FunctionalTests/Image/ToolkitTestBase.php
+++ b/core/tests/Drupal/FunctionalTests/Image/ToolkitTestBase.php
@@ -126,7 +126,7 @@ public function assertToolkitOperationsCalled(array $expected) {
    * Resets/initializes the history of calls to the test toolkit functions.
    */
   protected function imageTestReset() {
-    // Keep track of calls to these operations
+    // Keep track of calls to these operations.
     $results = [
       'parseFile' => [],
       'save' => [],
diff --git a/core/tests/Drupal/KernelTests/AssertLegacyTrait.php b/core/tests/Drupal/KernelTests/AssertLegacyTrait.php
index f63c4bf0b6..b61f29f1ca 100644
--- a/core/tests/Drupal/KernelTests/AssertLegacyTrait.php
+++ b/core/tests/Drupal/KernelTests/AssertLegacyTrait.php
@@ -95,7 +95,7 @@ protected function assertNotIdentical($actual, $expected, $message = '') {
    */
   protected function assertIdenticalObject($actual, $expected, $message = '') {
     // Note: ::assertSame checks whether its the same object. ::assertEquals
-    // though compares
+    // though compares.
 
     $this->assertEquals($expected, $actual, $message);
   }
diff --git a/core/tests/Drupal/KernelTests/Core/Common/SizeTest.php b/core/tests/Drupal/KernelTests/Core/Common/SizeTest.php
index 9829b266d3..aa6b9e9fd8 100644
--- a/core/tests/Drupal/KernelTests/Core/Common/SizeTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Common/SizeTest.php
@@ -34,7 +34,7 @@ protected function setUp() {
       '1 MB' => ($kb * $kb) - 1, // rounded to 1 MB (not 1000 or 1024 kilobyte!)
       round(3623651 / ($this->exactTestCases['1 MB']), 2) . ' MB' => 3623651, // megabytes
       round(67234178751368124 / ($this->exactTestCases['1 PB']), 2) . ' PB' => 67234178751368124, // petabytes
-      round(235346823821125814962843827 / ($this->exactTestCases['1 YB']), 2) . ' YB' => 235346823821125814962843827, // yottabytes
+      round(235346823821125814962843827 / ($this->exactTestCases['1 YB']), 2) . ' YB' => 235346823821125814962843827, // yottabytes.
     ];
   }
 
diff --git a/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php b/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php
index b69735ea91..a2f4fd0a4f 100644
--- a/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php
@@ -48,7 +48,7 @@ public function testDiff() {
       [$change_key . ': ' . $original_data[$change_key]],
       [$change_key . ': ' . $change_data]);
 
-    // Reset data back to original, and remove a key
+    // Reset data back to original, and remove a key.
     $sync_data = $original_data;
     unset($sync_data[$remove_key]);
     $sync->write($config_name, $sync_data);
@@ -62,7 +62,7 @@ public function testDiff() {
       FALSE
     );
 
-    // Reset data back to original and add a key
+    // Reset data back to original and add a key.
     $sync_data = $original_data;
     $sync_data[$add_key] = $add_data;
     $sync->write($config_name, $sync_data);
diff --git a/core/tests/Drupal/KernelTests/Core/Database/InsertTest.php b/core/tests/Drupal/KernelTests/Core/Database/InsertTest.php
index dc5f075a5e..88dd6ae6fa 100644
--- a/core/tests/Drupal/KernelTests/Core/Database/InsertTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Database/InsertTest.php
@@ -163,7 +163,7 @@ public function testInsertSelectFields() {
     // INSERT INTO test (age, name, job)
     // SELECT tp.age AS age, tp.name AS name, tp.job AS job
     // FROM test_people tp
-    // WHERE tp.name = 'Meredith'
+    // WHERE tp.name = 'Meredith'.
     db_insert('test')
       ->from($query)
       ->execute();
@@ -184,7 +184,7 @@ public function testInsertSelectAll() {
     // INSERT INTO test_people_copy
     // SELECT *
     // FROM test_people tp
-    // WHERE tp.name = 'Meredith'
+    // WHERE tp.name = 'Meredith'.
     db_insert('test_people_copy')
       ->from($query)
       ->execute();
diff --git a/core/tests/Drupal/KernelTests/Core/Database/SelectCloneTest.php b/core/tests/Drupal/KernelTests/Core/Database/SelectCloneTest.php
index 30a4f1b941..fcd1d2b0a5 100644
--- a/core/tests/Drupal/KernelTests/Core/Database/SelectCloneTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Database/SelectCloneTest.php
@@ -29,7 +29,7 @@ public function testSelectConditionSubQueryCloning() {
     $clone_result = $clone->countQuery()->execute()->fetchField();
     $query_result = $query->countQuery()->execute()->fetchField();
 
-    // Make sure the cloned query has not been modified
+    // Make sure the cloned query has not been modified.
     $this->assertEqual(3, $clone_result, 'The cloned query returns the expected number of rows');
     $this->assertEqual(2, $query_result, 'The query returns the expected number of rows');
   }
diff --git a/core/tests/Drupal/KernelTests/Core/Database/SelectSubqueryTest.php b/core/tests/Drupal/KernelTests/Core/Database/SelectSubqueryTest.php
index 58a66289e2..31c9cc184e 100644
--- a/core/tests/Drupal/KernelTests/Core/Database/SelectSubqueryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Database/SelectSubqueryTest.php
@@ -36,7 +36,7 @@ public function testFromSubquerySelect() {
       // SELECT t.name
       // FROM (SELECT tt.pid AS pid, tt.task AS task FROM test_task tt WHERE priority=1) tt
       //   INNER JOIN test t ON t.id=tt.pid
-      // WHERE tt.task = 'code'
+      // WHERE tt.task = 'code'.
       $people = $select->execute()->fetchCol();
 
       $this->assertCount(1, $people, 'Returned the correct number of rows.');
@@ -63,7 +63,7 @@ public function testFromSubquerySelectWithLimit() {
     // The resulting query should be equivalent to:
     // SELECT t.name
     // FROM (SELECT tt.pid AS pid, tt.task AS task FROM test_task tt ORDER BY priority DESC LIMIT 1 OFFSET 0) tt
-    //   INNER JOIN test t ON t.id=tt.pid
+    //   INNER JOIN test t ON t.id=tt.pid.
     $people = $select->execute()->fetchCol();
 
     $this->assertCount(1, $people, 'Returned the correct number of rows.');
@@ -172,7 +172,7 @@ public function testConditionSubquerySelect4() {
     // FROM {test} t
     // WHERE (SELECT AVG(tt.priority) AS expression FROM {test_task} tt WHERE (tt.pid = t.id))
     //   BETWEEN (SELECT MIN(tt2.priority) AS expression FROM {test_task} tt2 WHERE (tt2.pid <> t.id))
-    //       AND (SELECT AVG(tt3.priority) AS expression FROM {test_task} tt3 WHERE (tt3.pid <> t.id));
+    //       AND (SELECT AVG(tt3.priority) AS expression FROM {test_task} tt3 WHERE (tt3.pid <> t.id)).
     $people = $select->execute()->fetchCol();
     $this->assertEquals(['George', 'Paul'], $people, 'Returned George and Paul.', 0.0, 10, TRUE);
   }
@@ -195,7 +195,7 @@ public function testJoinSubquerySelect() {
     // The resulting query should be equivalent to:
     // SELECT t.name
     // FROM test t
-    //   INNER JOIN (SELECT tt.pid AS pid FROM test_task tt WHERE priority=1) tt ON t.id=tt.pid
+    //   INNER JOIN (SELECT tt.pid AS pid FROM test_task tt WHERE priority=1) tt ON t.id=tt.pid.
     $people = $select->execute()->fetchCol();
 
     $this->assertCount(2, $people, 'Returned the correct number of rows.');
diff --git a/core/tests/Drupal/KernelTests/Core/DrupalKernel/ServiceDestructionTest.php b/core/tests/Drupal/KernelTests/Core/DrupalKernel/ServiceDestructionTest.php
index 1716280d5e..c87cb39b30 100644
--- a/core/tests/Drupal/KernelTests/Core/DrupalKernel/ServiceDestructionTest.php
+++ b/core/tests/Drupal/KernelTests/Core/DrupalKernel/ServiceDestructionTest.php
@@ -26,7 +26,7 @@ public function testDestructionUsed() {
     // The service has not been destructed yet.
     $this->assertNull(\Drupal::state()->get('service_provider_test.destructed'));
 
-    // Call the class and then terminate the kernel
+    // Call the class and then terminate the kernel.
     $this->container->get('service_provider_test_class');
 
     $response = new Response();
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/ConfigEntityQueryTest.php b/core/tests/Drupal/KernelTests/Core/Entity/ConfigEntityQueryTest.php
index 56050a7dc4..84294a788d 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/ConfigEntityQueryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/ConfigEntityQueryTest.php
@@ -487,28 +487,28 @@ public function testTableSort() {
     ];
 
     // Sort key: id
-    // Sorting with 'DESC' upper case
+    // Sorting with 'DESC' upper case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('id', 'DESC')
       ->execute();
     $this->assertIdentical(array_values($this->queryResults), ['5', '4', '3', '2', '1']);
 
-    // Sorting with 'ASC' upper case
+    // Sorting with 'ASC' upper case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('id', 'ASC')
       ->execute();
     $this->assertIdentical(array_values($this->queryResults), ['1', '2', '3', '4', '5']);
 
-    // Sorting with 'desc' lower case
+    // Sorting with 'desc' lower case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('id', 'desc')
       ->execute();
     $this->assertIdentical(array_values($this->queryResults), ['5', '4', '3', '2', '1']);
 
-    // Sorting with 'asc' lower case
+    // Sorting with 'asc' lower case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('id', 'asc')
@@ -516,28 +516,28 @@ public function testTableSort() {
     $this->assertIdentical(array_values($this->queryResults), ['1', '2', '3', '4', '5']);
 
     // Sort key: number
-    // Sorting with 'DeSc' mixed upper and lower case
+    // Sorting with 'DeSc' mixed upper and lower case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('number', 'DeSc')
       ->execute();
     $this->assertIdentical(array_values($this->queryResults), ['3', '5', '2', '1', '4']);
 
-    // Sorting with 'AsC' mixed upper and lower case
+    // Sorting with 'AsC' mixed upper and lower case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('number', 'AsC')
       ->execute();
     $this->assertIdentical(array_values($this->queryResults), ['4', '1', '2', '5', '3']);
 
-    // Sorting with 'dEsC' mixed upper and lower case
+    // Sorting with 'dEsC' mixed upper and lower case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('number', 'dEsC')
       ->execute();
     $this->assertIdentical(array_values($this->queryResults), ['3', '5', '2', '1', '4']);
 
-    // Sorting with 'aSc' mixed upper and lower case
+    // Sorting with 'aSc' mixed upper and lower case.
     $this->queryResults = $this->factory->get('config_query_test')
       ->tableSort($header)
       ->sort('number', 'aSc')
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/Element/EntityAutocompleteElementFormTest.php b/core/tests/Drupal/KernelTests/Core/Entity/Element/EntityAutocompleteElementFormTest.php
index c18910e21d..65d3496bbe 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/Element/EntityAutocompleteElementFormTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/Element/EntityAutocompleteElementFormTest.php
@@ -274,7 +274,7 @@ public function testValidEntityAutocompleteElement() {
   public function testInvalidEntityAutocompleteElement() {
     $form_builder = $this->container->get('form_builder');
 
-    // Test 'single' with a entity label that doesn't exist
+    // Test 'single' with a entity label that doesn't exist.
     $form_state = (new FormState())
       ->setValues([
         'single' => 'single - non-existent label',
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php
index 7d7ea76e90..19f002a07f 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityDefinitionUpdateTest.php
@@ -115,7 +115,7 @@ public function testEntityTypeUpdateWithoutData() {
         t('The %field_name field needs to be installed.', ['%field_name' => 'Revision ID']),
       ],
     ];
-    $this->assertEqual($this->entityDefinitionUpdateManager->getChangeSummary(), $expected); // , 'EntityDefinitionUpdateManager reports the expected change summary.');
+    $this->assertEqual($this->entityDefinitionUpdateManager->getChangeSummary(), $expected); // , 'EntityDefinitionUpdateManager reports the expected change summary.');.
 
     // Run the update and ensure the revision table is created.
     $this->entityDefinitionUpdateManager->applyUpdates();
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php
index 31b1f9e9e9..16ed7224c4 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityFieldTest.php
@@ -212,7 +212,7 @@ protected function doTestReadWrite($entity_type) {
     // Test emptying a field by assigning an empty value. NULL and array()
     // behave the same.
     foreach ([NULL, [], 'unset'] as $empty) {
-      // Make sure a value is present
+      // Make sure a value is present.
       $entity->name->value = 'a value';
       $this->assertTrue(isset($entity->name->value), format_string('%entity_type: Name is set.', ['%entity_type' => $entity_type]));
       // Now, empty the field.
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php
index ec33f67e87..b973f15a2e 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityQueryTest.php
@@ -345,36 +345,36 @@ public function testSort() {
     // language codes, already in order, with the first occurrence of the
     // entity id marked with *:
     // 8  NULL pl *
-    // 12 NULL pl *
+    // 12 NULL pl *.
 
     // 4  NULL tr *
-    // 12 NULL tr
+    // 12 NULL tr.
 
     // 2  blue NULL *
-    // 3  blue NULL *
+    // 3  blue NULL *.
 
     // 10 blue pl *
     // 11 blue pl *
     // 14 blue pl *
-    // 15 blue pl *
+    // 15 blue pl *.
 
     // 6  blue tr *
     // 7  blue tr *
     // 14 blue tr
-    // 15 blue tr
+    // 15 blue tr.
 
     // 1  red  NULL
-    // 3  red  NULL
+    // 3  red  NULL.
 
     // 9  red  pl *
     // 11 red  pl
     // 13 red  pl *
-    // 15 red  pl
+    // 15 red  pl.
 
     // 5  red  tr *
     // 7  red  tr
     // 13 red  tr
-    // 15 red  tr
+    // 15 red  tr.
     $count_query = clone $query;
     $this->assertEqual(15, $count_query->count()->execute());
     $this->queryResults = $query->execute();
diff --git a/core/tests/Drupal/KernelTests/Core/Entity/FieldSqlStorageTest.php b/core/tests/Drupal/KernelTests/Core/Entity/FieldSqlStorageTest.php
index 884ee89956..0ad1151271 100644
--- a/core/tests/Drupal/KernelTests/Core/Entity/FieldSqlStorageTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Entity/FieldSqlStorageTest.php
@@ -497,7 +497,7 @@ public function testTableNames() {
     $expected = 'short_entity_type_revision__short_field_name';
     $this->assertEqual($this->tableMapping->getDedicatedRevisionTableName($field_storage), $expected);
 
-    // Short entity type, long field name
+    // Short entity type, long field name.
     $entity_type = 'short_entity_type';
     $field_name = 'long_field_name_abcdefghijklmnopqrstuvwxyz';
     $field_storage = FieldStorageConfig::create([
@@ -510,7 +510,7 @@ public function testTableNames() {
     $expected = 'short_entity_type_r__' . substr(hash('sha256', $field_storage->uuid()), 0, 10);
     $this->assertEqual($this->tableMapping->getDedicatedRevisionTableName($field_storage), $expected);
 
-    // Long entity type, short field name
+    // Long entity type, short field name.
     $entity_type = 'long_entity_type_abcdefghijklmnopqrstuvwxyz';
     $field_name = 'short_field_name';
     $field_storage = FieldStorageConfig::create([
diff --git a/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php b/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php
index 05ac7c2557..37da983cbe 100644
--- a/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php
+++ b/core/tests/Drupal/KernelTests/Core/File/MimeTypeTest.php
@@ -48,7 +48,7 @@ public function testFileMimeTypeDetection() {
         $this->assertIdentical($output, $expected, format_string('Mimetype for %input is %output (expected: %expected).', ['%input' => $prefix . $input, '%output' => $output, '%expected' => $expected]));
       }
 
-      // Test normal path equivalent
+      // Test normal path equivalent.
       $output = $guesser->guess($input);
       $this->assertIdentical($output, $expected, format_string('Mimetype (using default mappings) for %input is %output (expected: %expected).', ['%input' => $input, '%output' => $output, '%expected' => $expected]));
     }
diff --git a/core/tests/Drupal/KernelTests/Core/File/ReadOnlyStreamWrapperTest.php b/core/tests/Drupal/KernelTests/Core/File/ReadOnlyStreamWrapperTest.php
index 00dfa0b8d3..1f34e24294 100644
--- a/core/tests/Drupal/KernelTests/Core/File/ReadOnlyStreamWrapperTest.php
+++ b/core/tests/Drupal/KernelTests/Core/File/ReadOnlyStreamWrapperTest.php
@@ -36,49 +36,49 @@ public function testReadOnlyBehavior() {
     // Checks that the stream wrapper type is declared as local.
     $this->assertSame(1, $type & StreamWrapperInterface::LOCAL);
 
-    // Generate a test file
+    // Generate a test file.
     $filename = $this->randomMachineName();
     $site_path = $this->container->get('site.path');
     $filepath = $site_path . '/files/' . $filename;
     file_put_contents($filepath, $filename);
 
-    // Generate a read-only stream wrapper instance
+    // Generate a read-only stream wrapper instance.
     $uri = $this->scheme . '://' . $filename;
     \Drupal::service('stream_wrapper_manager')->getViaScheme($this->scheme);
 
-    // Attempt to open a file in read/write mode
+    // Attempt to open a file in read/write mode.
     $handle = @fopen($uri, 'r+');
     $this->assertFalse($handle, 'Unable to open a file for reading and writing with the read-only stream wrapper.');
-    // Attempt to open a file in binary read mode
+    // Attempt to open a file in binary read mode.
     $handle = fopen($uri, 'rb');
     $this->assertTrue($handle, 'Able to open a file for reading in binary mode with the read-only stream wrapper.');
     $this->assertTrue(fclose($handle), 'Able to close file opened in binary mode using the read_only stream wrapper.');
-    // Attempt to open a file in text read mode
+    // Attempt to open a file in text read mode.
     $handle = fopen($uri, 'rt');
     $this->assertTrue($handle, 'Able to open a file for reading in text mode with the read-only stream wrapper.');
     $this->assertTrue(fclose($handle), 'Able to close file opened in text mode using the read_only stream wrapper.');
-    // Attempt to open a file in read mode
+    // Attempt to open a file in read mode.
     $handle = fopen($uri, 'r');
     $this->assertTrue($handle, 'Able to open a file for reading with the read-only stream wrapper.');
-    // Attempt to change file permissions
+    // Attempt to change file permissions.
     $this->assertFalse(@chmod($uri, 0777), 'Unable to change file permissions when using read-only stream wrapper.');
-    // Attempt to acquire an exclusive lock for writing
+    // Attempt to acquire an exclusive lock for writing.
     $this->assertFalse(@flock($handle, LOCK_EX | LOCK_NB), 'Unable to acquire an exclusive lock using the read-only stream wrapper.');
-    // Attempt to obtain a shared lock
+    // Attempt to obtain a shared lock.
     $this->assertTrue(flock($handle, LOCK_SH | LOCK_NB), 'Able to acquire a shared lock using the read-only stream wrapper.');
-    // Attempt to release a shared lock
+    // Attempt to release a shared lock.
     $this->assertTrue(flock($handle, LOCK_UN | LOCK_NB), 'Able to release a shared lock using the read-only stream wrapper.');
-    // Attempt to truncate the file
+    // Attempt to truncate the file.
     $this->assertFalse(@ftruncate($handle, 0), 'Unable to truncate using the read-only stream wrapper.');
-    // Attempt to write to the file
+    // Attempt to write to the file.
     $this->assertFalse(@fwrite($handle, $this->randomMachineName()), 'Unable to write to file using the read-only stream wrapper.');
-    // Attempt to flush output to the file
+    // Attempt to flush output to the file.
     $this->assertFalse(@fflush($handle), 'Unable to flush output to file using the read-only stream wrapper.');
     // Attempt to close the stream.  (Suppress errors, as fclose triggers fflush.)
     $this->assertTrue(fclose($handle), 'Able to close file using the read_only stream wrapper.');
-    // Test the rename() function
+    // Test the rename() function.
     $this->assertFalse(@rename($uri, $this->scheme . '://newname.txt'), 'Unable to rename files using the read-only stream wrapper.');
-    // Test the unlink() function
+    // Test the unlink() function.
     $this->assertTrue(@drupal_unlink($uri), 'Able to unlink file using read-only stream wrapper.');
     $this->assertTrue(file_exists($filepath), 'Unlink File was not actually deleted.');
 
@@ -87,7 +87,7 @@ public function testReadOnlyBehavior() {
     $dir = $site_path . '/files/' . $dirname;
     $readonlydir = $this->scheme . '://' . $dirname;
     $this->assertFalse(@drupal_mkdir($readonlydir, 0775, 0), 'Unable to create directory with read-only stream wrapper.');
-    // Create a temporary directory for testing purposes
+    // Create a temporary directory for testing purposes.
     $this->assertTrue(drupal_mkdir($dir), 'Test directory created.');
     // Test the rmdir() function by attempting to remove the directory.
     $this->assertFalse(@drupal_rmdir($readonlydir), 'Unable to delete directory with read-only stream wrapper.');
diff --git a/core/tests/Drupal/KernelTests/Core/File/UnmanagedCopyTest.php b/core/tests/Drupal/KernelTests/Core/File/UnmanagedCopyTest.php
index d3c5cd4e62..028f476a27 100644
--- a/core/tests/Drupal/KernelTests/Core/File/UnmanagedCopyTest.php
+++ b/core/tests/Drupal/KernelTests/Core/File/UnmanagedCopyTest.php
@@ -15,7 +15,7 @@ class UnmanagedCopyTest extends FileTestBase {
    * Copy a normal file.
    */
   public function testNormal() {
-    // Create a file for testing
+    // Create a file for testing.
     $uri = $this->createUri();
 
     // Copying to a new name.
@@ -45,7 +45,7 @@ public function testNormal() {
    * Copy a non-existent file.
    */
   public function testNonExistent() {
-    // Copy non-existent file
+    // Copy non-existent file.
     $desired_filepath = $this->randomMachineName();
     $this->assertFalse(file_exists($desired_filepath), "Randomly named file doesn't exist.");
     $new_filepath = file_unmanaged_copy($desired_filepath, $this->randomMachineName());
@@ -56,7 +56,7 @@ public function testNonExistent() {
    * Copy a file onto itself.
    */
   public function testOverwriteSelf() {
-    // Create a file for testing
+    // Create a file for testing.
     $uri = $this->createUri();
 
     // Copy the file onto itself with renaming works.
diff --git a/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteRecursiveTest.php b/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteRecursiveTest.php
index 64045fea76..0dcd982778 100644
--- a/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteRecursiveTest.php
+++ b/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteRecursiveTest.php
@@ -12,7 +12,7 @@ class UnmanagedDeleteRecursiveTest extends FileTestBase {
    * Delete a normal file.
    */
   public function testSingleFile() {
-    // Create a file for testing
+    // Create a file for testing.
     $filepath = file_default_scheme() . '://' . $this->randomMachineName();
     file_put_contents($filepath, '');
 
diff --git a/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteTest.php b/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteTest.php
index d1cfb2e7dc..25ca8c3988 100644
--- a/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteTest.php
+++ b/core/tests/Drupal/KernelTests/Core/File/UnmanagedDeleteTest.php
@@ -12,10 +12,10 @@ class UnmanagedDeleteTest extends FileTestBase {
    * Delete a normal file.
    */
   public function testNormal() {
-    // Create a file for testing
+    // Create a file for testing.
     $uri = $this->createUri();
 
-    // Delete a regular file
+    // Delete a regular file.
     $this->assertTrue(file_unmanaged_delete($uri), 'Deleted worked.');
     $this->assertFalse(file_exists($uri), 'Test file has actually been deleted.');
   }
@@ -24,7 +24,7 @@ public function testNormal() {
    * Try deleting a missing file.
    */
   public function testMissing() {
-    // Try to delete a non-existing file
+    // Try to delete a non-existing file.
     $this->assertTrue(file_unmanaged_delete(file_default_scheme() . '/' . $this->randomMachineName()), 'Returns true when deleting a non-existent file.');
   }
 
@@ -35,7 +35,7 @@ public function testDirectory() {
     // A directory to operate on.
     $directory = $this->createDirectory();
 
-    // Try to delete a directory
+    // Try to delete a directory.
     $this->assertFalse(file_unmanaged_delete($directory), 'Could not delete the delete directory.');
     $this->assertTrue(file_exists($directory), 'Directory has not been deleted.');
   }
diff --git a/core/tests/Drupal/KernelTests/Core/File/UnmanagedMoveTest.php b/core/tests/Drupal/KernelTests/Core/File/UnmanagedMoveTest.php
index 8619a1507d..f606713bd6 100644
--- a/core/tests/Drupal/KernelTests/Core/File/UnmanagedMoveTest.php
+++ b/core/tests/Drupal/KernelTests/Core/File/UnmanagedMoveTest.php
@@ -15,7 +15,7 @@ class UnmanagedMoveTest extends FileTestBase {
    * Move a normal file.
    */
   public function testNormal() {
-    // Create a file for testing
+    // Create a file for testing.
     $uri = $this->createUri();
 
     // Moving to a new name.
diff --git a/core/tests/Drupal/KernelTests/Core/KeyValueStore/StorageTestBase.php b/core/tests/Drupal/KernelTests/Core/KeyValueStore/StorageTestBase.php
index 48af84d54a..d6c9d03627 100644
--- a/core/tests/Drupal/KernelTests/Core/KeyValueStore/StorageTestBase.php
+++ b/core/tests/Drupal/KernelTests/Core/KeyValueStore/StorageTestBase.php
@@ -33,7 +33,7 @@
   protected function setUp() {
     parent::setUp();
 
-    // Define two data collections,
+    // Define two data collections.
     $this->collections = [0 => 'zero', 1 => 'one'];
 
     // Create several objects for testing.
diff --git a/core/tests/Drupal/KernelTests/Core/Menu/MenuTreeStorageTest.php b/core/tests/Drupal/KernelTests/Core/Menu/MenuTreeStorageTest.php
index ad3f04d0ab..fdd3729666 100644
--- a/core/tests/Drupal/KernelTests/Core/Menu/MenuTreeStorageTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Menu/MenuTreeStorageTest.php
@@ -75,7 +75,7 @@ public function testSimpleHierarchy() {
     // <tools>
     // - test1
     // -- test2
-    // --- test3
+    // --- test3.
     $this->addMenuLink('test1', '');
     $this->assertMenuLink('test1', ['has_children' => 0, 'depth' => 1]);
 
@@ -100,7 +100,7 @@ public function testMenuLinkMoving() {
     // --- test3
     // - test4
     // -- test5
-    // --- test6
+    // --- test6.
 
     $this->addMenuLink('test1', '');
     $this->addMenuLink('test2', 'test1');
@@ -123,7 +123,7 @@ public function testMenuLinkMoving() {
     // -- test5
     // --- test2
     // ---- test3
-    // --- test6
+    // --- test6.
 
     $this->assertMenuLink('test1', ['has_children' => 0, 'depth' => 1]);
     $this->assertMenuLink('test2', ['has_children' => 1, 'depth' => 3], ['test5', 'test4'], ['test3']);
@@ -141,7 +141,7 @@ public function testMenuLinkMoving() {
     // -- test4
     // --- test5
     // ---- test2
-    // ---- test6
+    // ---- test6.
 
     $this->assertMenuLink('test1', ['has_children' => 1, 'depth' => 1], [], ['test4', 'test5', 'test2', 'test3', 'test6']);
     $this->assertMenuLink('test2', ['has_children' => 0, 'depth' => 4], ['test5', 'test4', 'test1']);
@@ -158,7 +158,7 @@ public function testMenuLinkMoving() {
     // -- test3
     // -- test5
     // --- test2
-    // --- test6
+    // --- test6.
     $this->assertMenuLink('test1', ['has_children' => 1, 'depth' => 1], [], ['test5', 'test2', 'test3', 'test6']);
     $this->assertMenuLink('test2', ['has_children' => 0, 'depth' => 3], ['test5', 'test1']);
     $this->assertMenuLink('test3', ['has_children' => 0, 'depth' => 2], ['test1']);
@@ -197,7 +197,7 @@ public function testMenuDisabledChildLinks() {
     // ------ test6
     // ------- test7
     // -------- test8
-    // --------- test9
+    // --------- test9.
     $this->addMenuLink('footerA', '', '<front>', [], 'footer');
     $visible_children = [];
     for ($i = 3; $i <= $this->treeStorage->maxDepth(); $i++) {
@@ -293,7 +293,7 @@ public function testSubtreeHeight() {
     // - child1
     // -- child2
     // --- child3
-    // ---- child4
+    // ---- child4.
     $this->addMenuLink('root');
     $this->addMenuLink('child1', 'root');
     $this->addMenuLink('child2', 'child1');
@@ -315,7 +315,7 @@ public function testMenuRebuild() {
     // - child1
     // -- child2
     // --- child3
-    // ---- child4
+    // ---- child4.
     $this->addMenuLink('root');
     $this->addMenuLink('child1', 'root');
     $this->addMenuLink('child2', 'child1');
diff --git a/core/tests/Drupal/KernelTests/Core/Path/AliasTest.php b/core/tests/Drupal/KernelTests/Core/Path/AliasTest.php
index 1f49b09ffd..fd571e15f3 100644
--- a/core/tests/Drupal/KernelTests/Core/Path/AliasTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Path/AliasTest.php
@@ -25,7 +25,7 @@ public function testCRUD() {
 
     $aliases = $this->fixtures->sampleUrlAliases();
 
-    // Create a few aliases
+    // Create a few aliases.
     foreach ($aliases as $idx => $alias) {
       $aliasStorage->save($alias['source'], $alias['alias'], $alias['langcode']);
 
@@ -38,7 +38,7 @@ public function testCRUD() {
       $aliases[$idx]['pid'] = $rows[0]->pid;
     }
 
-    // Load a few aliases
+    // Load a few aliases.
     foreach ($aliases as $alias) {
       $pid = $alias['pid'];
       $loadedAlias = $aliasStorage->load(['pid' => $pid]);
@@ -49,7 +49,7 @@ public function testCRUD() {
     $loadedAlias = $aliasStorage->load(['source' => '/node/1']);
     $this->assertEqual($loadedAlias['alias'], '/alias_for_node_1_und', 'The last created alias loaded by default.');
 
-    // Update a few aliases
+    // Update a few aliases.
     foreach ($aliases as $alias) {
       $fields = $aliasStorage->save($alias['source'], $alias['alias'] . '_updated', $alias['langcode'], $alias['pid']);
 
@@ -61,7 +61,7 @@ public function testCRUD() {
       $this->assertEqual($pid, $alias['pid'], format_string('Updated entry for pid %pid.', ['%pid' => $pid]));
     }
 
-    // Delete a few aliases
+    // Delete a few aliases.
     foreach ($aliases as $alias) {
       $pid = $alias['pid'];
       $aliasStorage->delete(['pid' => $pid]);
diff --git a/core/tests/Drupal/KernelTests/Core/Path/PathValidatorTest.php b/core/tests/Drupal/KernelTests/Core/Path/PathValidatorTest.php
index 3463dce774..3617e4a4ae 100644
--- a/core/tests/Drupal/KernelTests/Core/Path/PathValidatorTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Path/PathValidatorTest.php
@@ -45,7 +45,7 @@ public function testGetUrlIfValidWithoutAccessCheck() {
       'PATCH',
       'DELETE',
       NULL, // Used in CLI context.
-      FALSE, // If no request was even pushed onto the request stack, and hence
+      FALSE, // If no request was even pushed onto the request stack, and hence.
     ];
     foreach ($methods as $method) {
       if ($method === FALSE) {
diff --git a/core/tests/Drupal/KernelTests/Core/Routing/ContentNegotiationRoutingTest.php b/core/tests/Drupal/KernelTests/Core/Routing/ContentNegotiationRoutingTest.php
index 052e74f35b..851776474a 100644
--- a/core/tests/Drupal/KernelTests/Core/Routing/ContentNegotiationRoutingTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Routing/ContentNegotiationRoutingTest.php
@@ -46,7 +46,7 @@ public function testContentRouting() {
     $path_alias_storage->save('/conneg/html?_format=json', '/alias.json');
 
     $tests = [
-      // ['path', 'accept', 'content-type'],
+      // ['path', 'accept', 'content-type'].
 
       // Extension is part of the route path. Constant Content-type.
       ['conneg/simple.json', '', 'application/json'],
@@ -109,11 +109,11 @@ public function testFullNegotiation() {
     $this->enableModules(['accept_header_routing_test']);
     \Drupal::service('router.builder')->rebuild();
     $tests = [
-      // ['path', 'accept', 'content-type'],
+      // ['path', 'accept', 'content-type'].
 
       ['conneg/negotiate', '', 'text/html'], // 406?
       ['conneg/negotiate', '', 'text/html'], // 406?
-      // ['conneg/negotiate', '*/*', '??'],
+      // ['conneg/negotiate', '*/*', '??'].
       ['conneg/negotiate', 'application/json', 'application/json'],
       ['conneg/negotiate', 'application/xml', 'application/xml'],
       ['conneg/negotiate', 'application/json', 'application/json'],
diff --git a/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php b/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php
index ed59f2f0ff..a9ec9bb344 100644
--- a/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php
@@ -652,7 +652,7 @@ public function testGetRoutesByPatternWithLongPatterns() {
     $this->assertEqual($result->count(), 0);
     $candidates = $provider->getCandidateOutlines(explode('/', trim($shortest, '/')));
     $this->assertEqual(count($candidates), 7);
-    // A longer patten is not found and returns no candidates
+    // A longer patten is not found and returns no candidates.
     $path_to_test = '/test/1/test2/2/test3/3/4/5/6/test4';
     $result = $provider->getRoutesByPattern($path_to_test);
     $this->assertEqual($result->count(), 0);
diff --git a/core/tests/Drupal/KernelTests/KernelTestBaseTest.php b/core/tests/Drupal/KernelTests/KernelTestBaseTest.php
index f44c9650f6..a5c588d2b0 100644
--- a/core/tests/Drupal/KernelTests/KernelTestBaseTest.php
+++ b/core/tests/Drupal/KernelTests/KernelTestBaseTest.php
@@ -219,7 +219,7 @@ public function testFileDefaultScheme() {
    * Tests the assumption that local time is in 'Australia/Sydney'.
    */
   public function testLocalTimeZone() {
-    // The 'Australia/Sydney' time zone is set in core/tests/bootstrap.php
+    // The 'Australia/Sydney' time zone is set in core/tests/bootstrap.php.
     $this->assertEquals('Australia/Sydney', date_default_timezone_get());
   }
 
diff --git a/core/tests/Drupal/Tests/Component/Graph/GraphTest.php b/core/tests/Drupal/Tests/Component/Graph/GraphTest.php
index 940217c64f..7066f46be9 100644
--- a/core/tests/Drupal/Tests/Component/Graph/GraphTest.php
+++ b/core/tests/Drupal/Tests/Component/Graph/GraphTest.php
@@ -20,7 +20,7 @@ public function testDepthFirstSearch() {
     //       |     ^     ^
     //       |     |     |
     //       |     |     |
-    //       +---> 4 <-- 7      8 ---> 9
+    //       +---> 4 <-- 7      8 ---> 9.
     $graph = $this->normalizeGraph([
       1 => [2],
       2 => [3, 4],
diff --git a/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php b/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php
index a3a32ad364..016e2f9d5f 100644
--- a/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php
+++ b/core/tests/Drupal/Tests/Component/Serialization/JsonTest.php
@@ -49,7 +49,7 @@ protected function setUp() {
     // Characters that must be escaped.
     // We check for unescaped " separately.
     $this->htmlUnsafe = ['<', '>', '\'', '&'];
-    // The following are the encoded forms of: < > ' & "
+    // The following are the encoded forms of: < > ' & ".
     $this->htmlUnsafeEscaped = ['\u003C', '\u003E', '\u0027', '\u0026', '\u0022'];
   }
 
@@ -105,7 +105,7 @@ public function testStructuredReversibility() {
     foreach ($this->htmlUnsafe as $char) {
       $this->assertTrue(strpos($json, $char) === FALSE, sprintf('A JSON encoded string does not contain %s.', $char));
     }
-    // Verify that JSON encoding escapes the HTML unsafe characters
+    // Verify that JSON encoding escapes the HTML unsafe characters.
     foreach ($this->htmlUnsafeEscaped as $char) {
       $this->assertTrue(strpos($json, $char) > 0, sprintf('A JSON encoded string contains %s.', $char));
     }
diff --git a/core/tests/Drupal/Tests/Component/Utility/VariableTest.php b/core/tests/Drupal/Tests/Component/Utility/VariableTest.php
index 3fda715c29..94a76dc14b 100644
--- a/core/tests/Drupal/Tests/Component/Utility/VariableTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/VariableTest.php
@@ -64,17 +64,17 @@ public function providerTestExport() {
         "\n\r\t",
       ],
       [
-        // 2 backslashes. \\
+        // 2 backslashes. \\.
         "'\\'",
         '\\',
       ],
       [
-        // Double-quote "
+        // Double-quote ".
         "'\"'",
         "\"",
       ],
       [
-        // Single-quote '
+        // Single-quote '.
         '"\'"',
         "'",
       ],
diff --git a/core/tests/Drupal/Tests/Component/Utility/XssTest.php b/core/tests/Drupal/Tests/Component/Utility/XssTest.php
index 0664f94272..1190a5070a 100644
--- a/core/tests/Drupal/Tests/Component/Utility/XssTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/XssTest.php
@@ -569,7 +569,7 @@ public function testFilterXssAdminNotNormalized($value, $expected, $message) {
    */
   public function providerTestFilterXssAdminNotNormalized() {
     return [
-      // DRUPAL-SA-2008-044
+      // DRUPAL-SA-2008-044.
       ['<object />', 'object', 'Admin HTML filter -- should not allow object tag.'],
       ['<script />', 'script', 'Admin HTML filter -- should not allow script tag.'],
     ];
diff --git a/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php b/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php
index 5bd622061d..d9980db502 100644
--- a/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php
@@ -207,7 +207,7 @@ public function testAndIf() {
     $this->assertEquals('forbidden message', $access->getReason());
     $this->assertDefaultCacheability($access);
 
-    // NEUTRAL && ALLOW == NEUTRAL
+    // NEUTRAL && ALLOW == NEUTRAL.
     $access = $neutral->andIf($allowed);
     $this->assertFalse($access->isAllowed());
     $this->assertFalse($access->isForbidden());
@@ -231,7 +231,7 @@ public function testAndIf() {
     $this->assertEquals('forbidden message', $access->getReason());
     $this->assertDefaultCacheability($access);
 
-    // FORBIDDEN && ALLOWED = FORBIDDEN
+    // FORBIDDEN && ALLOWED = FORBIDDEN.
     $access = $forbidden->andif($allowed);
     $this->assertFalse($access->isAllowed());
     $this->assertTrue($access->isForbidden());
@@ -239,7 +239,7 @@ public function testAndIf() {
     $this->assertEquals('forbidden message', $access->getReason());
     $this->assertDefaultCacheability($access);
 
-    // FORBIDDEN && NEUTRAL = FORBIDDEN
+    // FORBIDDEN && NEUTRAL = FORBIDDEN.
     $access = $forbidden->andif($neutral);
     $this->assertFalse($access->isAllowed());
     $this->assertTrue($access->isForbidden());
@@ -247,7 +247,7 @@ public function testAndIf() {
     $this->assertEquals('forbidden message', $access->getReason());
     $this->assertDefaultCacheability($access);
 
-    // FORBIDDEN && FORBIDDEN = FORBIDDEN
+    // FORBIDDEN && FORBIDDEN = FORBIDDEN.
     $access = $forbidden->andif($forbidden);
     $this->assertFalse($access->isAllowed());
     $this->assertTrue($access->isForbidden());
diff --git a/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php b/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php
index cbb06668c0..1ca3fb80c0 100644
--- a/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php
@@ -260,7 +260,7 @@ public function testDefaultCssWeights() {
     // - CSS_LAYOUT: -100
     // - CSS_COMPONENT: 0
     // - CSS_STATE: 100
-    // - CSS_THEME: 200
+    // - CSS_THEME: 200.
     $this->assertEquals(200, $css[0]['weight']);
     $this->assertEquals(200 + 29, $css[1]['weight']);
     $this->assertEquals(-200, $css[2]['weight']);
diff --git a/core/tests/Drupal/Tests/Core/Config/ConfigTest.php b/core/tests/Drupal/Tests/Core/Config/ConfigTest.php
index 41c3e93c99..7fa9521340 100644
--- a/core/tests/Drupal/Tests/Core/Config/ConfigTest.php
+++ b/core/tests/Drupal/Tests/Core/Config/ConfigTest.php
@@ -416,7 +416,7 @@ public function validateNameProvider() {
         'Config object name ' . str_repeat('a', Config::MAX_NAME_LENGTH) . '. exceeds maximum allowed length of ' . Config::MAX_NAME_LENGTH . ' characters.',
       ],
     ];
-    // Name must not contain : ? * < > " ' / \
+    // Name must not contain : ? * < > " ' / \.
     foreach ([':', '?', '*', '<', '>', '"', "'", '/', '\\'] as $char) {
       $name = 'name.' . $char;
       $return[] = [
diff --git a/core/tests/Drupal/Tests/Core/Database/ConditionTest.php b/core/tests/Drupal/Tests/Core/Database/ConditionTest.php
index 13b6293424..cc89020d5b 100644
--- a/core/tests/Drupal/Tests/Core/Database/ConditionTest.php
+++ b/core/tests/Drupal/Tests/Core/Database/ConditionTest.php
@@ -118,21 +118,21 @@ public function dataProviderTestCompileWithKnownOperators() {
     $data[] = ['name > :db_condition_placeholder_0', 'name', 'value', '>'];
     $data[] = ['name <= :db_condition_placeholder_0', 'name', 'value', '<='];
     $data[] = ['name < :db_condition_placeholder_0', 'name', 'value', '<'];
-    // $data[] = ['GREATEST (1, 2, 3)', '', [1, 2, 3], 'GREATEST'];
+    // $data[] = ['GREATEST (1, 2, 3)', '', [1, 2, 3], 'GREATEST'].
     $data[] = ['name IN (:db_condition_placeholder_0, :db_condition_placeholder_1, :db_condition_placeholder_2)', 'name', ['1', '2', '3'], 'IN'];
     $data[] = ['name NOT IN (:db_condition_placeholder_0, :db_condition_placeholder_1, :db_condition_placeholder_2)', 'name', ['1', '2', '3'], 'NOT IN'];
-    // $data[] = ['INTERVAL (1, 2, 3)', '', [1, 2, 3], 'INTERVAL'];
+    // $data[] = ['INTERVAL (1, 2, 3)', '', [1, 2, 3], 'INTERVAL'].
     $data[] = ['name IS NULL', 'name', NULL, 'IS NULL'];
     $data[] = ['name IS NOT NULL', 'name', NULL, 'IS NOT NULL'];
     $data[] = ['name IS :db_condition_placeholder_0', 'name', 'TRUE', 'IS'];
-    // $data[] = ['LEAST (1, 2, 3)', '', [1, 2, 3], 'LEAST'];
+    // $data[] = ['LEAST (1, 2, 3)', '', [1, 2, 3], 'LEAST'].
     $data[] = ["name LIKE :db_condition_placeholder_0 ESCAPE '\\\\'", 'name', '%muh%', 'LIKE', [':db_condition_placeholder_0' => '%muh%']];
     $data[] = ["name NOT LIKE :db_condition_placeholder_0 ESCAPE '\\\\'", 'name', '%muh%', 'NOT LIKE', [':db_condition_placeholder_0' => '%muh%']];
     $data[] = ["name BETWEEN :db_condition_placeholder_0 AND :db_condition_placeholder_1", 'name', [1, 2], 'BETWEEN', [':db_condition_placeholder_0' => 1, ':db_condition_placeholder_1' => 2]];
     $data[] = ["name NOT BETWEEN :db_condition_placeholder_0 AND :db_condition_placeholder_1", 'name', [1, 2], 'NOT BETWEEN', [':db_condition_placeholder_0' => 1, ':db_condition_placeholder_1' => 2]];
     // $data[] = ['STRCMP (name, :db_condition_placeholder_0)', '', ['test-string'], 'STRCMP', [':db_condition_placeholder_0' => 'test-string']];
     // $data[] = ['EXISTS', '', NULL, 'EXISTS'];
-    // $data[] = ['name NOT EXISTS', 'name', NULL, 'NOT EXISTS'];
+    // $data[] = ['name NOT EXISTS', 'name', NULL, 'NOT EXISTS'].
 
     return $data;
   }
diff --git a/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php b/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php
index 0d56516dd2..4dbbc532c8 100644
--- a/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php
@@ -639,7 +639,7 @@ public function testGetFields($expected, $include_computed, $is_computed, $field
    * @covers ::set
    */
   public function testSet() {
-    // Exercise set(), check if it returns $this
+    // Exercise set(), check if it returns $this.
     $this->assertSame(
       $this->entity,
       $this->entity->set('id', 0)
diff --git a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
index 4a2dac5653..5b4f53c73f 100644
--- a/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
+++ b/core/tests/Drupal/Tests/Core/Entity/KeyValueStore/KeyValueEntityStorageTest.php
@@ -708,7 +708,7 @@ public function testDeleteNothing() {
    */
   public function getMockEntity($class = 'Drupal\Core\Entity\Entity', array $arguments = [], $methods = []) {
     // Ensure the entity is passed at least an array of values and an entity
-    // type ID
+    // type ID.
     if (!isset($arguments[0])) {
       $arguments[0] = [];
     }
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/ActiveLinkResponseFilterTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/ActiveLinkResponseFilterTest.php
index f60fe68671..3e8a2567e3 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/ActiveLinkResponseFilterTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/ActiveLinkResponseFilterTest.php
@@ -23,7 +23,7 @@ public function providerTestSetLinkActiveClass() {
     // "is-active" class is set, but that should remain unchanged:
     // - surrounding HTML
     // - tags for which to test the setting of the "is-active" class
-    // - content of said tags
+    // - content of said tags.
     $edge_case_html5 = '<audio src="foo.ogg">
   <track kind="captions" src="foo.en.vtt" srclang="en" label="English">
   <track kind="captions" src="foo.sv.vtt" srclang="sv" label="Svenska">
diff --git a/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php b/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php
index 4fda0022b7..a7578953f3 100644
--- a/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php
+++ b/core/tests/Drupal/Tests/Core/Extension/ModuleHandlerTest.php
@@ -469,7 +469,7 @@ public function testGetHookInfo() {
    */
   public function testResetImplementations() {
     $module_handler = $this->getModuleHandler();
-    // Prime caches
+    // Prime caches.
     $module_handler->getImplementations('hook');
     $module_handler->getHookInfo();
 
@@ -514,7 +514,7 @@ public function dependencyProvider() {
       ['views', ['name' => 'views']],
       ['views_ui(8.x-1.0)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.0)', 'versions' => [['op' => '=', 'version' => '1.0']]]],
       // Not supported?.
-      // array('views_ui(8.x-1.1-beta)', array('name' => 'views_ui', 'original_version' => ' (8.x-1.1-beta)', 'versions' => array(array('op' => '=', 'version' => '1.1-beta')))),
+      // array('views_ui(8.x-1.1-beta)', array('name' => 'views_ui', 'original_version' => ' (8.x-1.1-beta)', 'versions' => array(array('op' => '=', 'version' => '1.1-beta')))).
       ['views_ui(8.x-1.1-alpha12)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-alpha12)', 'versions' => [['op' => '=', 'version' => '1.1-alpha12']]]],
       ['views_ui(8.x-1.1-beta8)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-beta8)', 'versions' => [['op' => '=', 'version' => '1.1-beta8']]]],
       ['views_ui(8.x-1.1-rc11)', ['name' => 'views_ui', 'original_version' => ' (8.x-1.1-rc11)', 'versions' => [['op' => '=', 'version' => '1.1-rc11']]]],
diff --git a/core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php b/core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php
index 98a122ca21..39910d052d 100644
--- a/core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php
@@ -65,7 +65,7 @@ public function providerTestLoadOverride() {
     $data[] = [['test1' => ['parent' => 'test0']], 'test1', ['parent' => 'test0']];
     // Non existing ID.
     $data[] = [['test1' => ['parent' => 'test0']], 'test2', []];
-    // Ensure that the ID is encoded properly
+    // Ensure that the ID is encoded properly.
     $data[] = [['test1__la___ma' => ['parent' => 'test0']], 'test1.la__ma', ['parent' => 'test0']];
 
     return $data;
diff --git a/core/tests/Drupal/Tests/Core/Password/PasswordHashingTest.php b/core/tests/Drupal/Tests/Core/Password/PasswordHashingTest.php
index d237ffa159..92a180eeea 100644
--- a/core/tests/Drupal/Tests/Core/Password/PasswordHashingTest.php
+++ b/core/tests/Drupal/Tests/Core/Password/PasswordHashingTest.php
@@ -151,7 +151,7 @@ public function testLongPassword($password, $allowed) {
    * Provides the test matrix for testLongPassword().
    */
   public function providerLongPasswords() {
-    // '512 byte long password is allowed.'
+    // '512 byte long password is allowed.'.
     $passwords['allowed'] = [str_repeat('x', PasswordInterface::PASSWORD_MAX_LENGTH), TRUE];
     // 513 byte long password is not allowed.
     $passwords['too_long'] = [str_repeat('x', PasswordInterface::PASSWORD_MAX_LENGTH + 1), FALSE];
diff --git a/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php b/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php
index 03f4232443..ba4b0ac801 100644
--- a/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php
@@ -259,7 +259,7 @@ public function providerPreRenderConditionalComments() {
     $expected['#suffix'] = "<!--<![endif]-->\n";
     $tags['no-ie'] = [$element, $expected];
 
-    // IE gt 8
+    // IE gt 8.
     $element = [
       '#tag' => 'link',
       '#browsers' => [
diff --git a/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php b/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php
index b9f8b07fe8..dea249b2e1 100644
--- a/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php
@@ -582,7 +582,7 @@ public function testOverWriteCacheKeys() {
     $this->setUpRequest();
     $this->setupMemoryCache();
 
-    // Ensure a logic exception
+    // Ensure a logic exception.
     $data = [
       '#cache' => [
         'keys' => ['llama', 'bar'],
diff --git a/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php b/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php
index fb0c0c5227..b1d1938bfc 100644
--- a/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php
@@ -203,7 +203,7 @@ public function providerPlaceholders() {
 
     // Case one: render array that has a placeholder that is:
     // - automatically created, but manually triggered (#create_placeholder = TRUE)
-    // - uncacheable
+    // - uncacheable.
     $element_without_cache_keys = $base_element_a1;
     $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a1['placeholder']);
     $cases[] = [
@@ -218,7 +218,7 @@ public function providerPlaceholders() {
 
     // Case two: render array that has a placeholder that is:
     // - automatically created, but manually triggered (#create_placeholder = TRUE)
-    // - cacheable
+    // - cacheable.
     $element_with_cache_keys = $base_element_a1;
     $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys;
     $expected_placeholder_render_array['#cache']['keys'] = $keys;
@@ -246,7 +246,7 @@ public function providerPlaceholders() {
 
     // Case three: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to max-age=0
-    // - uncacheable
+    // - uncacheable.
     $element_without_cache_keys = $base_element_a2;
     $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a2['placeholder']);
     $cases[] = [
@@ -261,7 +261,7 @@ public function providerPlaceholders() {
 
     // Case four: render array that has a placeholder that is:
     // - automatically created, but automatically triggered due to max-age=0
-    // - cacheable
+    // - cacheable.
     $element_with_cache_keys = $base_element_a2;
     $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys;
     $expected_placeholder_render_array['#cache']['keys'] = $keys;
@@ -278,7 +278,7 @@ public function providerPlaceholders() {
     // Case five: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to high
     //   cardinality cache contexts
-    // - uncacheable
+    // - uncacheable.
     $element_without_cache_keys = $base_element_a3;
     $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a3['placeholder']);
     $cases[] = [
@@ -294,7 +294,7 @@ public function providerPlaceholders() {
     // Case six: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to high
     //   cardinality cache contexts
-    // - cacheable
+    // - cacheable.
     $element_with_cache_keys = $base_element_a3;
     $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys;
     $expected_placeholder_render_array['#cache']['keys'] = $keys;
@@ -327,7 +327,7 @@ public function providerPlaceholders() {
     // Case seven: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to high
     //   invalidation frequency cache tags
-    // - uncacheable
+    // - uncacheable.
     $element_without_cache_keys = $base_element_a4;
     $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a4['placeholder']);
     $cases[] = [
@@ -343,7 +343,7 @@ public function providerPlaceholders() {
     // Case eight: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to high
     //   invalidation frequency cache tags
-    // - cacheable
+    // - cacheable.
     $element_with_cache_keys = $base_element_a4;
     $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys;
     $expected_placeholder_render_array['#cache']['keys'] = $keys;
@@ -379,12 +379,12 @@ public function providerPlaceholders() {
     // Case ten: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to max-age=0
     //   that is bubbled
-    // - cacheable
+    // - cacheable.
     // @todo in https://www.drupal.org/node/2559847
 
     // Case eleven: render array that DOES NOT have a placeholder that is:
     // - NOT created, despite high cardinality cache contexts that are bubbled
-    // - uncacheable
+    // - uncacheable.
     $element_without_cache_keys = $base_element_a6;
     $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a6['placeholder']);
     $cases[] = [
@@ -400,7 +400,7 @@ public function providerPlaceholders() {
     // Case twelve: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to high
     //   cardinality cache contexts that are bubbled
-    // - cacheable
+    // - cacheable.
     $element_with_cache_keys = $base_element_a6;
     $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys;
     $expected_placeholder_render_array['#cache']['keys'] = $keys;
@@ -429,7 +429,7 @@ public function providerPlaceholders() {
     // Case thirteen: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to high
     //   invalidation frequency cache tags that are bubbled
-    // - uncacheable
+    // - uncacheable.
     $element_without_cache_keys = $base_element_a7;
     $expected_placeholder_render_array = $extract_placeholder_render_array($base_element_a7['placeholder']);
     $cases[] = [
@@ -445,7 +445,7 @@ public function providerPlaceholders() {
     // Case fourteen: render array that has a placeholder that is:
     // - automatically created, and automatically triggered due to high
     //   invalidation frequency cache tags that are bubbled
-    // - cacheable
+    // - cacheable.
     $element_with_cache_keys = $base_element_a7;
     $element_with_cache_keys['placeholder']['#cache']['keys'] = $keys;
     $expected_placeholder_render_array['#cache']['keys'] = $keys;
@@ -473,7 +473,7 @@ public function providerPlaceholders() {
 
     // Case fifteen: render array that has a placeholder that is:
     // - manually created
-    // - uncacheable
+    // - uncacheable.
     $x = $base_element_b;
     $expected_placeholder_render_array = $x['#attached']['placeholders'][(string) $generate_placeholder_markup()];
     unset($x['#attached']['placeholders'][(string) $generate_placeholder_markup()]['#cache']);
@@ -489,7 +489,7 @@ public function providerPlaceholders() {
 
     // Case sixteen: render array that has a placeholder that is:
     // - manually created
-    // - cacheable
+    // - cacheable.
     $x = $base_element_b;
     $x['#markup'] = $placeholder_markup = $generate_placeholder_markup($keys);
     $placeholder_markup = (string) $placeholder_markup;
@@ -643,7 +643,7 @@ public function testCacheableParent($test_element, $args, array $expected_placeh
     // the parent (with CID 'placeholder_test_GET') is vastly different. These
     // are the cases where:
     // - the placeholder is uncacheable (because it has no #cache[keys]), and;
-    // - cacheability metadata that meets auto_placeholder_conditions is bubbled
+    // - cacheability metadata that meets auto_placeholder_conditions is bubbled.
     $has_uncacheable_lazy_builder = !isset($test_element['placeholder']['#cache']['keys']) && isset($test_element['placeholder']['#lazy_builder']);
     // Edge cases: always where both bubbling of an auto-placeholdering
     // condition happens from within a #lazy_builder that is uncacheable.
diff --git a/core/tests/Drupal/Tests/Core/Routing/RedirectDestinationTest.php b/core/tests/Drupal/Tests/Core/Routing/RedirectDestinationTest.php
index 2d733c3da2..7fd01df30a 100644
--- a/core/tests/Drupal/Tests/Core/Routing/RedirectDestinationTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/RedirectDestinationTest.php
@@ -102,7 +102,7 @@ public function providerGet() {
     // A request with a destination query.
     $data[] = [$request, '/example'];
 
-    // A request without a destination query,
+    // A request without a destination query.
     $request = Request::create('/');
     $data[] = [$request, '/current-path'];
 
diff --git a/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php b/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php
index 6647e5fa72..4e8585ec26 100644
--- a/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php
+++ b/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php
@@ -62,7 +62,6 @@ public function provideTestValidate() {
     $data[] = [new StringData(DataDefinition::create('string')), 'test', TRUE];
     $data[] = [new StringData(DataDefinition::create('string')), new TranslatableMarkup('test'), TRUE];
     // It is odd that 1 is a valid string.
-    // $data[] = [$this->getMock('Drupal\Core\TypedData\Type\StringInterface'), 1, FALSE];
     $data[] = [new StringData(DataDefinition::create('string')), [], FALSE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'http://www.drupal.org', TRUE];
     $data[] = [new Uri(DataDefinition::create('uri')), 'https://www.drupal.org', TRUE];
diff --git a/core/tests/Drupal/Tests/TestSuites/TestSuiteBaseTest.php b/core/tests/Drupal/Tests/TestSuites/TestSuiteBaseTest.php
index 4c289e4d78..96bd79ff04 100644
--- a/core/tests/Drupal/Tests/TestSuites/TestSuiteBaseTest.php
+++ b/core/tests/Drupal/Tests/TestSuites/TestSuiteBaseTest.php
@@ -99,7 +99,7 @@ public function testAddTestsBySuiteNamespaceCore($filesystem, $suite_namespace,
    * Tests the assumption that local time is in 'Australia/Sydney'.
    */
   public function testLocalTimeZone() {
-    // The 'Australia/Sydney' time zone is set in core/tests/bootstrap.php
+    // The 'Australia/Sydney' time zone is set in core/tests/bootstrap.php.
     $this->assertEquals('Australia/Sydney', date_default_timezone_get());
   }
 
