PHP - Стоящий включая тип данных в имени переменной?

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

например:

$intCurrentLine = 1; instead of $currentLine = 1;
$strUser = 'blah'; instead of $user = 'blah';

Я не думаю, что это действительно необходимо в вышеупомянутом примере, но это может быть полезно в некоторых случаях?

  • Это могло сделать мой код более понятным?
  • Я должен на самом деле использовать это или палку с "нормальными" именами переменной?
  • Вы знаете сценарии, где это используется?

наилучшие пожелания, ламы

6
задан lamas 22 January 2010 в 13:51
поделиться

9 ответов

Добавление типа на имя переменной называется Венгерская обозначение .

Это дело в стиле на бесполезных языках, таких как PHP и VB. Я предпочитаю не использовать, потому что нет реальной потребности.

Это хорошая статья по теме. http://www.joelonsoftware.com/articles/wrong.html

8
ответ дан 8 December 2019 в 18:36
поделиться

Мне было написано, что в классах программирования колледжа, но в реальном мире нашел это бесполезным. Я просто пытаюсь сделать название переменной на описательную и что обычно передает то, что это типа. Например Имя означает строку мне, или в вашем случае CENICLINE означает INT.

Я думаю, что я думаю, что вы описали и точны в вашем имени, которые достаточно.

1
ответ дан 8 December 2019 в 18:36
поделиться

Это определенно поможет вам знать, какой тип данных ваших переменных без необходимости использовать CTYPE или аналогичный.

Если вы пытаетесь дать свои переменные имена, которые неявно определяют их тип, такие как $ username , у вас не должно быть слишком много вопросов.

1
ответ дан 8 December 2019 в 18:36
поделиться

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

$currentLineNumber = 1; instead of $currentLine = 1;
$userName = 'blah'; instead of $user = 'blah';

, хотя в этом случае $ CreateLine делает довольно ясно, что это значит.

Напротив, даже если я добавляю тип, это не обязательно проще понять, что на самом деле делает переменную, например, E.G. $ FLAATNUMER против $ NumberofStores .

0
ответ дан 8 December 2019 в 18:36
поделиться

Внутренне в датах SQL Server хранятся как 2 целых числа. Первое целое число - это количество дат до или после базовой даты (1900/01/01). Второе целое число хранит количество галочек часов после полуночи, каждая галочка составляет 1/300 секунды.

Подробнее здесь

Из-за этого я часто нахожу самый простой способ сравнить даты - просто подковывать их. Это обрабатывает 90% случаев моего использования. E.g.,

select date1, date2, date2 - date1 as DifferenceInDays
from MyTable
...

Когда мне нужен ответ в единицах, отличных от дней, я буду использовать Дитифф .

-121--897888-

Я не вентилятор венгерской обозначения. Это мое личное мнение, и я сознательно субъективно в этом вопросе.

Разловите венгерскую обозначение из файла PHP

  1. . Может ли это сделать мой код более понятным?
    • Нет, это бесполезно
  2. , если я действительно должен использовать это или придерживаться «нормальными» именами переменной?
    • Палка с обычными именами
  3. Вы знаете сценарии, где это используется?
    • Да, но не имеет значения
1
ответ дан 8 December 2019 в 18:36
поделиться

Это называется Венгерская обозначение и считается плохой практикой.

По словам Роберта С. Мартина, автор «Clean Code», типа кодировков «усложняют изменение имени или типа переменной, функции или класса. Они затрудняют прочитать код. И они создают Возможность того, что система кодирования вводит в заблуждение читателя. "

не используйте их. Выберите имена вариантов переменной с умом.

1
ответ дан 8 December 2019 в 18:36
поделиться
[113345762-

Обычно я использую $ SVAR для строк, $ Ивара для целых чисел, $ Avar для массивов и т. Д. (Где var OFC заменен на имя переменных). Это небольшое дополнение и довольно немного более яснее.

0
ответ дан 8 December 2019 в 18:36
поделиться

Вы можете указать Это в ваших комментариях.

Что-то вроде

/*
*
* @var string
*/

$your_var = '';

, если у вас хорошая IDE, он заберет эти вещи :)

0
ответ дан 8 December 2019 в 18:36
поделиться

Мое правило - это то, пока ваша переменная имеет однозначное имя, нет необходимости аннотировать его с типом.

1
ответ дан 8 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: