QList Qt: какова каноническая форма получения количества элементов в списке? - PullRequest
2 голосов
/ 22 июня 2010

Класс Qt QList предоставляет несколько методов для получения количества элементов в списке - количества, длины и размера. Как мы все знаем, важна согласованность, поэтому какой канонический / предпочтительный метод должен использовать эти 3?

Ответы [ 4 ]

4 голосов
/ 22 июня 2010

Я согласен со всем, что сказал @Когвил, но, честно говоря, я бы просто выбрал один и придерживался его. Я думаю, что хороший стиль будет диктовать, что если «размер» звучит лучше для вас, то используйте «размер» везде ... не чередуйте между «счет», «длина» и «размер» случайно. Это может привести к путанице или множеству ненужных поездок на страницы документации.

Вы могли бы попытаться придумать какое-то иное обоснование, но сам язык даже непоследователен. Все контейнеры STL (например, list, vector) предоставляют только "размер", класс string предоставляет "размер" и "длину" и т. Д.

Выберите ваш любимый (или если у вас есть несколько разработчиков, вы все должны согласиться с любимым) и просто придерживайтесь его.

3 голосов
/ 22 июня 2010

Последовательность, к которой вы должны стремиться, находится в пределах вашего проекта.На самом деле вы ничего не получите, пытаясь быть совместимыми со всеми остальными, если только они не будут несовместимы.

При этом существуют тонкие семантические различия (в английском, а не в C ++)между именами функций.Если вы сможете сделать свой код более понятным, воспользовавшись этими различиями, согласованность может сработать против вас.

1 голос
/ 22 июня 2010

Я обычно хожу с "размером".В конечном счете, это немного произвольно, но контейнеры Qt и контейнеры STL, как правило, имеют размер, поэтому легко поддерживать согласованность между этими двумя типами.Это также самый короткий.Всякий раз, когда несколько решений в основном эквивалентны, я всегда использую то, что приводит к наименьшему количеству печатания.Это простое эмпирическое правило, так что все в проекте обычно могут его запомнить.

1 голос
/ 22 июня 2010

ИМХО, любой из тех.Поскольку даже разные разработчики следуют разным функциям в вашем проекте, имена функций вполне документированы в том смысле, что другие разработчики могут легко понять, для чего предназначена функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...