Булево переменное именование цены - PullRequest
0 голосов
/ 27 января 2012

У меня есть логическая переменная, которая указывает, должна ли отображаться цена (для отдельного элемента). Я начал называть его «DisplayPrice», но это действительно больше описывает цену предмета, который будет отображаться (думаю: десятичный). Какие здесь есть варианты?

Я не думал, что что-либо, начинающееся с "Is", было бы уместно. Например, «IsDisplayPrice» больше похоже на мета самой цены, а «IsPriceDisplayed» больше похоже на условие, чем на настройку.

ShouldDisplayPrice? Есть идеи?

Ответы [ 4 ]

5 голосов
/ 27 января 2012

ShowPrice.Просто в точку.

ShouldDisplayPrice является предложением.Вроде как сказать приложению: «Я думаю , вы, возможно, хотите отобразить его, но не обращайте на меня внимания».Это говорит будущим программистам, что они могут сами составить свое мнение об этом.Я считаю, что это совершенно опасная ситуация, так как программисты не должны быть оставлены на своих собственных устройствах, поскольку они склонны к непродуктивным действиям, таким как порча linux или написание настольных приложений для Windows.Я не уверен, что точка данных, хранящаяся в базе данных, на самом деле может ответить.В конце концов, программист мог не поставить поле на экране.Если в этой ситуации установить значение true, вселенная может взорваться.

Конечно, вы можете перейти в отрицательное значение и использовать вместо него HidePrice.Однако это может сбивать с толку тех, кто склонен к мысли, когда у вас есть такая логика, как "if (!HidePrice) { /*emit price */ }"

Наихудшая из этих линий - CanPriceBeHidden.Это предложение, вопрос и отрицательная ценность.Только для использования, если вы чувствуете себя особенно заядлым.

0 голосов
/ 28 января 2012

Я думал, что IsPriceVisible.ShowPrice мне кажется действием, а не состоянием, например:

if (IsPriceVisible) {
    ShowPrice();
}
0 голосов
/ 27 января 2012

Крис ответит хорошо. Также не забывайте, что это хороший пример, где добавление XML-документации к вашему свойству может пригодиться другим кодировщикам, если есть какой-либо вопрос двусмысленности или субъективных соглашений об именах (как в этом случае). Просто добавьте старый /// над свойством и заполните объяснение.

Также вы можете пойти в минус и сделать HidePrice. на самом деле любое из предложений, приведенных здесь, не будет ужасным, и все будет ясно с правильным документом XML!

0 голосов
/ 27 января 2012

Немного анального удерживающего вопроса ... Мне нравится :)

Как насчет CanDisplayPrice? Мы используем «Can» и «Is» для логических имен переменных.

...