diff --git a/sensors/include/Utils.hpp b/sensors/include/Utils.hpp
index 0f1a5db..8d9eac5 100644
--- a/sensors/include/Utils.hpp
+++ b/sensors/include/Utils.hpp
@@ -6,10 +6,10 @@
 #include <sdbusplus/asio/connection.hpp>
 #include <sdbusplus/message/types.hpp>
 
-const constexpr char* JSON_STORE = "/var/configuration/flattened.json";
-const constexpr char* INVENTORY_PATH = "/xyz/openbmc_project/inventory";
-const constexpr char* ENTITY_MANAGER_NAME = "xyz.openbmc_project.EntityManager";
-const std::regex ILLEGAL_DBUS_REGEX("[^A-Za-z0-9_]");
+const constexpr char* jsonStore = "/var/configuration/flattened.json";
+const constexpr char* inventoryPath = "/xyz/openbmc_project/inventory";
+const constexpr char* entityManagerName = "xyz.openbmc_project.EntityManager";
+const std::regex illegalDbusRegex("[^A-Za-z0-9_]");
 
 using BasicVariantType =
     sdbusplus::message::variant<std::string, int64_t, uint64_t, double, int32_t,
@@ -23,10 +23,10 @@
 using SensorData = boost::container::flat_map<
     std::string, boost::container::flat_map<std::string, BasicVariantType>>;
 
-bool find_files(const std::experimental::filesystem::path dir_path,
-                const std::string& match_string,
-                std::vector<std::experimental::filesystem::path>& found_paths,
-                unsigned int symlink_depth = 1);
+bool findFiles(const std::experimental::filesystem::path dirPath,
+               const std::string& matchString,
+               std::vector<std::experimental::filesystem::path>& foundPaths,
+               unsigned int symlinkDepth = 1);
 bool isPowerOn(const std::shared_ptr<sdbusplus::asio::connection>& conn);
 bool getSensorConfiguration(
     const std::string& type,
