Хотя знаю про подход, что метод должен быть глаголом, поэтому любой геттер должен быть с префиксом get_. Но все-таки, язык программирования это не человеческий язык. Название метода empty() с clear() или clean() никак не путается, ибо он есть в STL и все привыкли. А обилие get_ в геттерах вызывает тошноту при виде того, что происходит в Java. Кстати, если empty не метод, а поле класса, там тоже будет is_empty? Ведь использование в конструкции if(empty) будет одинаковым... Я это к тому, что есть причины как использовать is_empty(), так и просто empty(). И мне больше нравится подход STL (возможно, это привычка, т.е. синдром утенка). А также тут будет полезно однообразие.
А про удаление конструктора, если его наличие приводит к негативным результатам, сам хочу знать, что ответят. Впрочем, я готов к тому, что ответ будет отмазкой, а не конструктивной причиной. Ну и до кучи, я бы не стал весь буст мешать в одну кучу. Там у каждого пакета свой автор и группа поддержки, поэтому и подходы к изменениям могут различаться, хотя есть и общие правила для включения в boost.
> Название метода empty() с clear() или clean() никак не путается, ибо он есть в STL и все привыкли Все запомнили наизусть - отличный аргумент. Интересно, как должен называться метод "очистить" для std::vector, если слова имеют значения: empty (verb): remove all the contents of (a container) clear (verb): remove (an obstruction or unwanted item) from somewhere. > сам хочу знать, что ответят Что правка нарушает backward compatibility
Обсуждают сегодня