diff --git a/src/NVMeSensor.cpp b/src/NVMeSensor.cpp
index cfa7d20..db6a05b 100644
--- a/src/NVMeSensor.cpp
+++ b/src/NVMeSensor.cpp
@@ -14,13 +14,11 @@
 // limitations under the License.
 */
 
-#include "NVMeSensor.hpp"
-
-#include "NVMeDevice.hpp"
-
 #include <crc32c.h>
 #include <libmctp-smbus.h>
 
+#include <NVMeDevice.hpp>
+#include <NVMeSensor.hpp>
 #include <boost/algorithm/string/replace.hpp>
 #include <boost/asio/ip/tcp.hpp>
 
@@ -29,7 +27,7 @@
 static constexpr double maxReading = 127;
 static constexpr double minReading = 0;
 
-static constexpr bool DEBUG = false;
+static constexpr bool debug = false;
 
 void rxMessage(uint8_t eid, void* data, void* msg, size_t len);
 
@@ -241,7 +239,7 @@
 
     readResponse(nvmeDevice);
 
-    if (DEBUG)
+    if (debug)
     {
         std::cout << "Sending message to read data from Drive on bus: "
                   << sensor->bus << " , rootBus: " << nvmeDevice->rootBus
@@ -300,7 +298,7 @@
         return;
     }
 
-    if (DEBUG)
+    if (debug)
     {
         std::cout << "Eid from the received messaged: " << eid << "\n";
     }
@@ -358,7 +356,7 @@
     }
 
     std::shared_ptr<NVMeSensor> sensorInfo = self->sensors.front();
-    if (DEBUG)
+    if (debug)
     {
         std::cout << "Temperature Reading: "
                   << getTemperatureReading(messageData[5])
@@ -376,7 +374,7 @@
         sensorInfo->updateValue(value);
     }
 
-    if (DEBUG)
+    if (debug)
     {
         std::cout << "Cancelling the timer now\n";
     }
@@ -435,13 +433,12 @@
                        boost::asio::io_service&,
                        std::shared_ptr<sdbusplus::asio::connection>& conn,
                        const std::string& sensorName,
-                       std::vector<thresholds::Threshold>&& _thresholds,
+                       std::vector<thresholds::Threshold>&& thresholds,
                        const std::string& sensorConfiguration,
                        const int busNumber) :
-    Sensor(boost::replace_all_copy(sensorName, " ", "_"),
-           std::move(_thresholds), sensorConfiguration,
-           "xyz.openbmc_project.Configuration.NVMe", maxReading, minReading,
-           conn, PowerState::on),
+    Sensor(boost::replace_all_copy(sensorName, " ", "_"), std::move(thresholds),
+           sensorConfiguration, "xyz.openbmc_project.Configuration.NVMe",
+           maxReading, minReading, conn, PowerState::on),
     objServer(objectServer), bus(busNumber)
 {
     sensorInterface = objectServer.add_interface(
