правильный код комментария для ситуации апострофа - PullRequest
0 голосов
/ 01 сентября 2009

Просто любопытно, как вы прокомментируете эту строку кода:

string customerNm = customerNm.EndsWith("s") ? customerNm+= "'" : customerNm+="'s"; 

Ответы [ 6 ]

4 голосов
/ 01 сентября 2009

Поместите его в свою собственную функцию и назовите функцию соответствующим образом. Это должно быть достаточно ясно. (И вы можете проверить это также легче!)

string makePossessive(string customerName) {
    ...
}
3 голосов
/ 01 сентября 2009

Я бы прокомментировал это как "не работает". Потому что вы получаете доступ к «customerNm», прежде чем назначить его.

(Вы используете «customerNm + = ...», что означает: создать новый экземпляр строки как объединение старого экземпляра [который еще не назначен] и ...).

Это даже не должно быть скомпилировано.

Я думаю, что вы имеете в виду:

customerNm += customerNm.EndsWith("s") ? "'" : "'s";

где customerNm - строка, уже назначенная ранее.

3 голосов
/ 01 сентября 2009

Я бы не стал вообще это комментировать. Это достаточно ясно, как есть.

Если вы прокомментируете это, вы должны объяснить , почему вы делаете это так, как делаете.

например:.

/* Don't add "'s" for names ending on "s" 
  (request by Important Customer in June 1978) */
2 голосов
/ 01 сентября 2009

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

Имя не должно рассматриваться как существительное во множественном числе только потому, что оно заканчивается на 's'. Например, если у Джеймса есть собака, это собака Джеймса, а не собака Джеймса. Однако, если у двух партнеров по жизни по кличке Майк есть собака, это и собака Майка.

Исключение: если многосложное имя оканчивается на звук "ess" или "ezz", то его можно трактовать как множественное число, оканчивающееся на 's'. Если у Линуса есть собака, это может быть собака Линуса, хотя я считаю, что Линус тоже приемлем.

1 голос
/ 01 сентября 2009

//Apply genitive case
string customerNm = customerNm.EndsWith("s") ? customerNm+= "'" : customerNm+="'s";
1 голос
/ 01 сентября 2009
// Enforce English grammar
string customerNm = customerNm.EndsWith("s") ? customerNm+= "'" : customerNm+="'s"; 
...