diff --git a/backend/BackendManager.h b/backend/BackendManager.h
index 9b314db..274484c 100644
--- a/backend/BackendManager.h
+++ b/backend/BackendManager.h
@@ -24,6 +24,7 @@
 
 #include "Backend.h"
 
+// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
 #define REGISTER_BACKEND(name_str_, backend_)                               \
   static int                                                                \
       backend = BackendManager::GetInstance()                               \
@@ -36,10 +37,10 @@
 
 class BackendManager {
  public:
-  using backend_constructor_t = std::function<std::unique_ptr<Backend>()>;
+  using BackendConstructorT = std::function<std::unique_ptr<Backend>()>;
   static BackendManager &GetInstance();
   int RegisterBackend(const std::string &name,
-                      backend_constructor_t backend_constructor);
+                      BackendConstructorT backend_constructor);
   int SetBackendForDisplay(DrmHwcTwo::HwcDisplay *display);
   std::unique_ptr<Backend> GetBackendByName(std::string &name);
   HWC2::Error ValidateDisplay(DrmHwcTwo::HwcDisplay *display,
@@ -50,7 +51,7 @@
 
   static const std::vector<std::string> kClientDevices;
 
-  std::map<std::string, backend_constructor_t> available_backends_;
+  std::map<std::string, BackendConstructorT> available_backends_;
 };
 }  // namespace android
 
