- If it's inserting something into the existing classes/functions, try to follow the existing style as closely as possible.
- If it's brand new code or refactoring a complete class or area of the code, please follow as Modern C++ of a style as you can and reference the C++ Core Guidelines as much as you possibly can.
- When working with any Win32 or NT API, please try to use the Windows Implementation Library smart pointers and result handlers.
- The use of NTSTATUS as a result code is discouraged, HRESULT or exceptions are preferred. Functions should not return a status code if they would always return a successful status code. Any function that returns a status code should be marked
noexcept
and have thenodiscard
attribute. - When contributing code in
TerminalApp
, be mindful to appropriately use C++/WinRT strong and weak references, and have a good understanding of C++/WinRT concurrency schemes.