LINUX.ORG.RU

Название для переменной, обозначающей общее количество чего-либо

 


0

2

Как уважаемое сообщество называет переменную, обозначающую, скажем, количество строк в файле? Я в последнее время называю ее totalLines (заимствовал у Мейерса, по-моему). Но не оставляет подозрение, что можно придумать что-то такое же прозрачное, но покороче. linesNum и linesNo (встречал где-то такие варианты) не нравятся. Выглядят несколько коряво. lines - это имя скорее для списка строк, а не их количества. Вроде бы простая проблема, а до сих пор не могу найти вариант, который устраивал бы полностью.

Мне бы такие проблемы. Давай короче весь проект на миллион строк, будем каждую переменную и запятую обсуждать.

fornlr ★★★★★
()

Плюсую fooCount/foo_count. Все остальные варианты говно.

Apple-ch ★★
()
Ответ на: комментарий от fornlr

а ведь проект как раз и множества таких проблем и состоит :)

каждый раз сложные решения принимать нужно

Harald ★★★★★
()
Ответ на: комментарий от fornlr

Мне бы такие проблемы. Давай короче весь проект на миллион строк, будем каждую переменную и запятую обсуждать.

There are only 2 hard problems in Computer Science. Naming things, cache invalidation and off-by-one errors. ©

x3al ★★★★★
()

Как только не называю. Бывают даже извращения навроде _.

Anon
()

$lines = @lines;
Perl, чем хорош, что даёт контексты и не надо придумывать их самому.

anonymous
()
Ответ на: комментарий от PatrickKilpatrick

Как называешь общее количество строк в файле?

Никогда не задумывался и с ходу не схожу, два английских слова, может с предлогом, может с сокращением.

Вангую тред на 80 страниц с обсуждением всяких языковых правил, исторических аспектов, стилистик и пр.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от PatrickKilpatrick

Счетчик обычно либо i, j, k, либо что-нибудь вроде cur_pos, cur_line, line_nr, etc. Количество — blah_size, blah_count, blah_amount, etc. Count редко пишут в счетчиках же.

fmap
()
Ответ на: комментарий от geometer

Если счетчик итерируется по количеству входных данных в, например, бенчмарке или тесте — то да. Но тут нет разницы как его обозначать, количество — оно и в цикле количество.

fmap
()

Зачем всё это нужно?

sm, sm1, sm2, sm3...

anonymous
()
Ответ на: комментарий от PatrickKilpatrick

По разному бывает.

Если статически типизированный язык, то обычно определяет смысл параметра его тип, и правильное название функции или метода. Тогда можно и n использовать. Если есть неоднозначность, то использую что-нибудь типа lineCount.

Если динамический язык, то line-length для параметра.

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

dave ★★★★★
()
Ответ на: комментарий от dave

Все определяет coding style, принятый в проекте

Это-то понятно. Хотел для себя. Для души... :)

PatrickKilpatrick
() автор топика

количество строк в файле

number_o_lines_in_da_fucking_file.

nanoolinux ★★★★
()
Ответ на: комментарий от dave

пора кодинг стайл майстрячить коли не меньше 2ух

qulinxao ★★☆
()

посмотри кодингстайл того же golang -

если имя локальное (в пределах функции которая по десигну меньше 20? строк) -то имя обычно однобуквенное(3-4) - ибо все примеры оперирования с этим именем и описывают всё его семантику(имени и именуемого обьекта)

а вот для «глобальных»(уровня модуля ) - есть разделение:

личное поле модуля - более подробно.

видное(чтение и/или письмо) из вне модуля - с подробное имя с комментом «даже»

qulinxao ★★☆
()
Ответ на: комментарий от PatrickKilpatrick

можно спутать с переменной-счетчиком.

вы или пишите в стиле старого фортрана или делаете слишком длинные функции/методы

MKuznetsov ★★★★★
()

подучите английский - программа должна ясно читаться. lines,nlines хорошие имена для переменных. Быстро писать, легко читать - всё ясно даже не глядя на объявления.

MKuznetsov ★★★★★
()
Ответ на: комментарий от x3al

hard problems in Computer Science. Naming things

Чертовски точно подмечено. Постоянно это «мучает».

l_nums, l_totals?

dvl36
()

whole, entire, all, amount

TGZ ★★★★
()

Я бы назвал linesNum. Всегда так называю - слово с маленькой обозначающее Чего и с большой обозначающее Что. В данном случае очевидно что строкЧисло. Count это счечики, но i и j - счетчики внутри циклов. s - дополнительный счетчик в цикле если нужен или строковая переменная внутри функций не длиннее 8 строк. Префикс tmpVar_ для переменных которые уничтожаются в пределах 24 строк после объявления. При этом гарантировано. Т.е. там обязательно должен быть какой-нибудь unset. result - переменная в которой возвращаемый результат функции. Массивы и объекты еще начинаю с ar или ob, а списки с l. Например arResult или lResult. Еще может быть al - массив в виде списка [index, val, index2, val2]. Ну и d для dict. Глобальные переменные всегда капсом. Как-то так делать в общем случае пытаюсь. И не парюсь.

Suntechnic ★★★★★
()
Ответ на: комментарий от PatrickKilpatrick

lines у вас здесь что означает?

Здесь - ничего. Просто кол-во строк/линий чего-то там в чём-то.

Видите-ли совсем не обязательно давать имена переменным как Толкиен энтам, описывая предысторию, детали жизни, впечатления и возможность применение и т.д.

TotalLinesOfUnicodeCharactersInThisFuckingText.

неточная цитата, и не помню из какой классики:

Джо, а что значит твоё имя?

Моё имя нихрена не значит. Американские имена вообще нихрена не значат. Просто Джо.

MKuznetsov ★★★★★
()
Последнее исправление: MKuznetsov (всего исправлений: 1)

В зависимости от важности переменной и ее роли на фоне блока. Идея такая: для небольших методов сойдет n и ему подобные, а чуть побольше nl. Иначе придется вычитывать имя и это не совсем нормально в блоке кода среди экзотики и других подобных имен.

Если возникает потребность в изощренном именовании это может быть признаком «запашка». Обычно нагромождения имен и увеличение длины характерно для больших блоков кода и ошибочных порождений, особенно циклов - верный признак для упрощения.

Такой афоризм:

Чем короче блок кода тем меньше вероятность ошибки, но с другой стороны: чем больше таких узлов, тем она выше, но это не значит что монолитный код лучше ))

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Ответ на: комментарий от PatrickKilpatrick

Решил ее для себя? Как называешь общее количество строк в файле? Поделись.

X

Edit: Передумал. N

yvv ★★☆
()
Последнее исправление: yvv (всего исправлений: 1)

row("num") хехе

Вроде бы простая проблема, а до сих пор не могу найти вариант, который устраивал бы полностью.

И не найдешь. Количество всегда зависит от контекста. Количество строк - как правило lines,lines_count, количество байт в чем либо как правило length, body_length, количество, прости господи, каких-либо подсчитываемых киловатт так вообще квантити.

TEX ★★★
()

Если общее количество чего либо, то это amount:

 
linesAmount, openFilesAmount, PatrickKilpatrickAmount etc.
Если текущее количество чего либо в цикле(при итерации, т.е идёт подсчёт чего-либо), то это count:
iterationCount++, fooCount++, someShitCount++ etc.
Для индексации можно использовать(например индекс в массиве):
index, idx, i, j, n etc. 
А вообще, не парься как это обычно бывает - «ppp типа qqq» )))

xterro ★★★★★
()
Ответ на: комментарий от dave

Если статически типизированный язык, то обычно определяет смысл параметра его тип, и правильное название функции или метода.

Т.е. создать тип Size = Int или Count = Int? И так на каждый целочисленный параметр с разным смыслом? Зачем тогда вообще имена переменным, давайте их тупо по номерам использовать, типа

(+) :: LeftNumOperand -> RightNumOperand -> NumResult
(+) = builtin.add #1 #2

да?

korvin_ ★★★★★
()

qtyAllLines, amountAllLines

anonymous
()
Ответ на: комментарий от korvin_

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

TeX так и делает :3

ilammy ★★★
()

numberOfSmth, totalOfSmth, itogoSmth, totalNumberOfSmth... :)

slackwarrior ★★★★★
()
Ответ на: комментарий от PatrickKilpatrick

Как называешь общее количество строк в файле?

nlines, lines.size() :-)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.