PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Названия переменных


Названия переменных

Сообщений 1 страница 8 из 8

1

раз уж заговорили о именах переменных, что $ это архаика, то как вы называете
sString - строка строки, даже так лучше String$. Или sText - строка текста, ну ладно пусть будет, всегда так и писал.

Но собственно вопрос как вы называете флаги, например надо ввести флаг да/нет 0/1 временный в некоторой функции или глобальный. Хотелось бы назвать его fMatch.b (флаг совпадения) но f это число с плавающей запятой, пробовал flMatch, но плохо смотрится/читается, "l' сливается вместе. По идее булево bMatch, но у нас нет такого типа, у нас .b это байт -127+127, а может и в других языках логическое это не 1 бит, а именно байт, где False = все биты 000, а иное True. В том числе я флагами называю и набор битов используя число как флаги битов и тогда булево точно не подходит, то есть int число, а набор флагов подразумевает сравнение по битам 1 2 4 8 16 32 и т.д., чило используемое в качестве флагов. Отсюда и одиночный бит 0/1 хочется называть как флаг fgMatch или инвертированный fgNoMatch. Или flgMatch.

Отредактировано AZJIO (22.10.2021 11:14:36)

0

2

Для флага 0/1 логично использовать приставку "is" (isMatch, isEmpty, isFound),  для битовых флагов "flg"

зы. $ - нифига не архаика, "Message$" - смотрится гораздо органичней чем "sMessage"

0

3

Kuzmat написал(а):

$ - нифига не архаика

Архаика с тех времён, когда в Бейсике не было операторов описания переменных и из типов, а сами переменные были однобуквенными. И символ $ это не единственный суффикс для обозначения типа переменных, который использовался. И это единственный суффикс, который остался. Потому махровая архаика и есть.

Kuzmat написал(а):

"Message$" - смотрится гораздо органичней чем "sMessage"

Весьма субъективное мнение. По мне так органичнее была бы приставка msg и более осмысленное имя переменной (хотя могут быть исключения).

AZJIO написал(а):

Но собственно вопрос как вы называете флаги, например надо ввести флаг да/нет 0/1 временный в некоторой функции или глобальный.

Я использую b, но бывают случаи, когда использую f или даже flag. А ещё, гораздо чаще, вообще не использую префикс, если из имени переменной и так ясен её смысл.

Отредактировано Smitis (23.10.2021 21:45:24)

0

4

Smitis
Не люблю длинные переменные, так как логику кода читать тяжело, поэтому ищу хорошие сокращения, после которых читающий даже если бы сразу не понял, то позже легко приживалось бы, понимая что лучше не придумаешь.
Например как бы выглядел инвертированный флаг активности программы:
FlagNotProgramActive
flgNoActPrg - и то это длинно
isNoActPrg
Это условно, кончено для 1/0 мне понравился "is", который и в функциях используется как "является ли" isNumder, и т.д. в AutoIt3 есть несколько таких функций и в PureBasic тоже (с возвратом да/нет 0/1).

0

5

AZJIO написал(а):

Не люблю длинные переменные

А кто ж их любит.
Я бы переменную сократил до NPA. Без всяких префиксов и суффиксов.
С is согласен. Is вообще ГЛАГОЛ и больше подходит для функций.
Кстати, раз зашла речь об идентификаторах, тоже встаёт вопрос, как именовать функции.
Вариант 1, как у MS: ГлаголСуществительное. Пример: OpenFile.
Вариант 2, "объектно-ориентированное": ОбъектМетод. Пример: FileOpen.

0

6

короткое имя + дохрена комента
писать надо в одном месте, тогда искать ненадо

но наверно в каждой конторе свои заморчкм

0

7

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

0

8

AZJIO написал(а):

Открыл я вчера блог (чужой)

Нашёл на кого ссылаться. Этот Замабувараев реально конченый :)

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Названия переменных