On 2016-03-06 22:38, Michael Marcin wrote:
I've written a lot of code in the boost/standard library style. I've become increasingly annoyed at naming my variables when coding in this style.
[snip]
What's your preferred convention? If possible please answer by modifying the initial concrete example and providing annotations.
// type takes the most natural name enum class format { rgba, rgb, floating_point, // avoid reserved keywords when possible float_ // ...or add a trailing underscore when not }; class image { public: // use a verb to form method names format get_format() const noexcept { return m_format; } // typically use an abbreviation for argument // and local variable names void set_format( format fmt ) noexcept { m_format = fmt; } private: // use m_ prefix for member variables format m_format; }; format bits_to_format( int bits ) { format fmt = format::rgba; if ( bits == 24 ) { fmt = format::rgb; } return fmt; } // I used to use the T suffix for typename template parameters template< typename FormatT > std::ostream& print_format( std::ostream&, FormatT fmt ); // ...and V for non-type template parameters, but I'm in the // process of dropping it template< format FormatV > std::ostream& print_format( std::ostream& ); // I'm not using concepts but I guess the suffixes would work template< Format FormatT > std::ostream& print_format( std::ostream&, FormatT fmt );