diff --git a/quic/core/congestion_control/tcp_cubic_sender_bytes.h b/quic/core/congestion_control/tcp_cubic_sender_bytes.h
index cf2a532..be4d2b2 100644
--- a/quic/core/congestion_control/tcp_cubic_sender_bytes.h
+++ b/quic/core/congestion_control/tcp_cubic_sender_bytes.h
@@ -96,8 +96,7 @@
                                               QuicTime::Delta rtt);
   void SetMinCongestionWindowInPackets(QuicPacketCount congestion_window);
   void ExitSlowstart();
-  void OnPacketLost(QuicPacketNumber largest_loss,
-                    QuicByteCount lost_bytes,
+  void OnPacketLost(QuicPacketNumber packet_number, QuicByteCount lost_bytes,
                     QuicByteCount prior_in_flight);
   void MaybeIncreaseCwnd(QuicPacketNumber acked_packet_number,
                          QuicByteCount acked_bytes,
diff --git a/quic/core/crypto/quic_crypto_client_config.cc b/quic/core/crypto/quic_crypto_client_config.cc
index e4989bc..1b1790a 100644
--- a/quic/core/crypto/quic_crypto_client_config.cc
+++ b/quic/core/crypto/quic_crypto_client_config.cc
@@ -834,9 +834,8 @@
 }
 
 bool QuicCryptoClientConfig::PopulateFromCanonicalConfig(
-    const QuicServerId& server_id,
-    CachedState* server_state) {
-  QUICHE_DCHECK(server_state->IsEmpty());
+    const QuicServerId& server_id, CachedState* cached) {
+  QUICHE_DCHECK(cached->IsEmpty());
   size_t i = 0;
   for (; i < canonical_suffixes_.size(); ++i) {
     if (absl::EndsWithIgnoreCase(server_id.host(), canonical_suffixes_[i])) {
@@ -867,7 +866,7 @@
   // Update canonical version to point at the "most recent" entry.
   it->second = server_id;
 
-  server_state->InitializeFrom(*canonical_state);
+  cached->InitializeFrom(*canonical_state);
   return true;
 }
 
diff --git a/quic/core/crypto/quic_crypto_client_config.h b/quic/core/crypto/quic_crypto_client_config.h
index 1351729..9c71aca 100644
--- a/quic/core/crypto/quic_crypto_client_config.h
+++ b/quic/core/crypto/quic_crypto_client_config.h
@@ -332,16 +332,14 @@
       QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params,
       std::string* error_details);
 
-  // Processes the message in |server_update|, updating the cached source
+  // Processes the message in |server_config_update|, updating the cached source
   // address token, and server config.
-  // If |server_update| is invalid then |error_details| will contain an error
-  // message, and an error code will be returned. If all has gone well
+  // If |server_config_update| is invalid then |error_details| will contain an
+  // error message, and an error code will be returned. If all has gone well
   // QUIC_NO_ERROR is returned.
   QuicErrorCode ProcessServerConfigUpdate(
-      const CryptoHandshakeMessage& server_update,
-      QuicWallTime now,
-      const QuicTransportVersion version,
-      absl::string_view chlo_hash,
+      const CryptoHandshakeMessage& server_config_update, QuicWallTime now,
+      const QuicTransportVersion version, absl::string_view chlo_hash,
       CachedState* cached,
       QuicReferenceCountedPointer<QuicCryptoNegotiatedParameters> out_params,
       std::string* error_details);
diff --git a/quic/core/quic_buffered_packet_store.h b/quic/core/quic_buffered_packet_store.h
index 3206b37..9607054 100644
--- a/quic/core/quic_buffered_packet_store.h
+++ b/quic/core/quic_buffered_packet_store.h
@@ -90,8 +90,7 @@
                                   BufferedPacketList early_arrived_packets) = 0;
   };
 
-  QuicBufferedPacketStore(VisitorInterface* vistor,
-                          const QuicClock* clock,
+  QuicBufferedPacketStore(VisitorInterface* visitor, const QuicClock* clock,
                           QuicAlarmFactory* alarm_factory);
 
   QuicBufferedPacketStore(const QuicBufferedPacketStore&) = delete;
diff --git a/quic/core/quic_config.h b/quic/core/quic_config.h
index d122be7..cb681c2 100644
--- a/quic/core/quic_config.h
+++ b/quic/core/quic_config.h
@@ -67,7 +67,7 @@
 // Stores uint32_t from CHLO or SHLO messages that are not negotiated.
 class QUIC_EXPORT_PRIVATE QuicFixedUint32 : public QuicConfigValue {
  public:
-  QuicFixedUint32(QuicTag name, QuicConfigPresence presence);
+  QuicFixedUint32(QuicTag tag, QuicConfigPresence presence);
   ~QuicFixedUint32() override;
 
   bool HasSendValue() const;
diff --git a/quic/core/quic_epoll_alarm_factory.h b/quic/core/quic_epoll_alarm_factory.h
index 6fb1e02..986b842 100644
--- a/quic/core/quic_epoll_alarm_factory.h
+++ b/quic/core/quic_epoll_alarm_factory.h
@@ -15,7 +15,7 @@
 // Creates alarms that use the supplied EpollServer for timing and firing.
 class QUIC_EXPORT_PRIVATE QuicEpollAlarmFactory : public QuicAlarmFactory {
  public:
-  explicit QuicEpollAlarmFactory(QuicEpollServer* eps);
+  explicit QuicEpollAlarmFactory(QuicEpollServer* epoll_server);
   QuicEpollAlarmFactory(const QuicEpollAlarmFactory&) = delete;
   QuicEpollAlarmFactory& operator=(const QuicEpollAlarmFactory&) = delete;
   ~QuicEpollAlarmFactory() override;
diff --git a/quic/core/quic_epoll_connection_helper.cc b/quic/core/quic_epoll_connection_helper.cc
index 8f53256..42d2e02 100644
--- a/quic/core/quic_epoll_connection_helper.cc
+++ b/quic/core/quic_epoll_connection_helper.cc
@@ -12,11 +12,10 @@
 namespace quic {
 
 QuicEpollConnectionHelper::QuicEpollConnectionHelper(
-    QuicEpollServer* epoll_server,
-    QuicAllocator type)
+    QuicEpollServer* epoll_server, QuicAllocator allocator_type)
     : clock_(epoll_server),
       random_generator_(QuicRandom::GetInstance()),
-      allocator_type_(type) {}
+      allocator_type_(allocator_type) {}
 
 QuicEpollConnectionHelper::~QuicEpollConnectionHelper() = default;
 
diff --git a/quic/core/quic_epoll_connection_helper.h b/quic/core/quic_epoll_connection_helper.h
index 0db6ed2..d363d6b 100644
--- a/quic/core/quic_epoll_connection_helper.h
+++ b/quic/core/quic_epoll_connection_helper.h
@@ -30,7 +30,8 @@
 class QUIC_EXPORT_PRIVATE QuicEpollConnectionHelper
     : public QuicConnectionHelperInterface {
  public:
-  QuicEpollConnectionHelper(QuicEpollServer* eps, QuicAllocator allocator);
+  QuicEpollConnectionHelper(QuicEpollServer* epoll_server,
+                            QuicAllocator allocator_type);
   QuicEpollConnectionHelper(const QuicEpollConnectionHelper&) = delete;
   QuicEpollConnectionHelper& operator=(const QuicEpollConnectionHelper&) =
       delete;
diff --git a/quic/core/quic_framer.h b/quic/core/quic_framer.h
index 2878888..cd9d8a2 100644
--- a/quic/core/quic_framer.h
+++ b/quic/core/quic_framer.h
@@ -521,8 +521,7 @@
                            QuicDataWriter* writer);
   size_t AppendIetfFrames(const QuicFrames& frames, QuicDataWriter* writer);
   bool AppendStreamFrame(const QuicStreamFrame& frame,
-                         bool last_frame_in_packet,
-                         QuicDataWriter* writer);
+                         bool no_stream_frame_length, QuicDataWriter* writer);
   bool AppendCryptoFrame(const QuicCryptoFrame& frame, QuicDataWriter* writer);
   bool AppendAckFrequencyFrame(const QuicAckFrequencyFrame& frame,
                                QuicDataWriter* writer);
@@ -949,7 +948,7 @@
   // |writer|, and return true if successful.
 
   bool AppendAckFrameAndTypeByte(const QuicAckFrame& frame,
-                                 QuicDataWriter* builder);
+                                 QuicDataWriter* writer);
   bool AppendTimestampsToAckFrame(const QuicAckFrame& frame,
                                   QuicDataWriter* writer);
 
@@ -962,11 +961,11 @@
 
   bool AppendStopWaitingFrame(const QuicPacketHeader& header,
                               const QuicStopWaitingFrame& frame,
-                              QuicDataWriter* builder);
+                              QuicDataWriter* writer);
   bool AppendRstStreamFrame(const QuicRstStreamFrame& frame,
-                            QuicDataWriter* builder);
+                            QuicDataWriter* writer);
   bool AppendConnectionCloseFrame(const QuicConnectionCloseFrame& frame,
-                                  QuicDataWriter* builder);
+                                  QuicDataWriter* writer);
   bool AppendGoAwayFrame(const QuicGoAwayFrame& frame, QuicDataWriter* writer);
   bool AppendWindowUpdateFrame(const QuicWindowUpdateFrame& frame,
                                QuicDataWriter* writer);
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h
index b064a4a..051ab62 100644
--- a/quic/test_tools/quic_test_utils.h
+++ b/quic/test_tools/quic_test_utils.h
@@ -1464,7 +1464,7 @@
 //   start time, otherwise nonce verification will fail.
 // supported_versions: Set of QUIC versions this server supports.
 // helper: Pointer to the MockQuicConnectionHelper to use for the session.
-// crypto_server_config: Pointer to the crypto server config.
+// server_crypto_config: Pointer to the crypto server config.
 // server_connection: Pointer reference for newly created
 //   connection.  This object will be owned by the
 //   server_session.
@@ -1474,7 +1474,7 @@
     QuicServerId server_id, QuicTime::Delta connection_start_time,
     ParsedQuicVersionVector supported_versions,
     MockQuicConnectionHelper* helper, MockAlarmFactory* alarm_factory,
-    QuicCryptoServerConfig* crypto_server_config,
+    QuicCryptoServerConfig* server_crypto_config,
     QuicCompressedCertsCache* compressed_certs_cache,
     PacketSavingConnection** server_connection,
     TestQuicSpdyServerSession** server_session);
diff --git a/quic/tools/quic_memory_cache_backend.h b/quic/tools/quic_memory_cache_backend.h
index b8d2810..72c5784 100644
--- a/quic/tools/quic_memory_cache_backend.h
+++ b/quic/tools/quic_memory_cache_backend.h
@@ -154,9 +154,9 @@
   void FetchResponseFromBackend(
       const spdy::Http2HeaderBlock& request_headers,
       const std::string& request_body,
-      QuicSimpleServerBackend::RequestHandler* quic_server_stream) override;
+      QuicSimpleServerBackend::RequestHandler* quic_stream) override;
   void CloseBackendResponseStream(
-      QuicSimpleServerBackend::RequestHandler* quic_server_stream) override;
+      QuicSimpleServerBackend::RequestHandler* quic_stream) override;
   WebTransportResponse ProcessWebTransportRequest(
       const spdy::Http2HeaderBlock& request_headers,
       WebTransportSession* session) override;
