:正しいコメントコードを使用すると、このコード行をコメントだろうか興味があるだけ
string customerNm = customerNm.EndsWith("s") ? customerNm+= "'" : customerNm+="'s";
:正しいコメントコードを使用すると、このコード行をコメントだろうか興味があるだけ
string customerNm = customerNm.EndsWith("s") ? customerNm+= "'" : customerNm+="'s";
独自の機能にそれを入れて、適切な機能に名前を付けます。それは十分にはっきりしているはずです。 (そして、あなたも、より簡単にそれをテストすることができます!)
string makePossessive(string customerName) {
...
}
// Enforce English grammar
string customerNm = customerNm.EndsWith("s") ? customerNm+= "'" : customerNm+="'s";
リファクタリングのおかげで。 neat – bizl
私は必ずしもすべてで、それをコメントしませんでした。それはそのままの状態ではっきりしています。
コメントする場合はなぜあなたはそれを行う方法を説明する必要があります。
例えば:
/* Don't add "'s" for names ending on "s"
(request by Important Customer in June 1978) */
パブリックAPI以外のすべてのコメントは、「なぜ」の質問に答える必要があります。あなたがしたことを見つけるためにコードを読むことができますが、なぜあなたがこのようにしたのか、あるいはそれを全くしなかったのかを知りたいのです。 –
//Apply genitive case
string customerNm = customerNm.EndsWith("s") ? customerNm+= "'" : customerNm+="'s";
私は「働いていない」と、それをコメントします。それに割り当てる前に 'customerNm'にアクセスするからです。
( "customerNm + = ..."を使用します。つまり、古いインスタンス([未割り当て]と...)の連結として新しい文字列インスタンスを作成します)。
これはコンパイルされるべきではありません。 customerNmはすでに前に一度に割り当てられた文字列である
customerNm += customerNm.EndsWith("s") ? "'" : "'s";
:
は、私が何を意味することだと思います。
ご質問はありませんが、コードがgrammar rulesに違反しているようです。
名前は複数の名詞のように扱われるべきではなく、「s」で終わります。例えば、ジェームズに犬がいたら、それはジェームスの犬ではなく、ジェームスの犬である。しかし、Mikeという名前の2つのライフパートナーが犬を飼っている場合は、両方ともMikesの犬です。
例外:複数の音節名が「ess」または「ezz」という音で終わる場合、「s」で終わる複数のように扱うことができます。 Linusに犬がいれば、Linusの犬かもしれませんが、私はLinusのも受け入れ可能だと信じています。
興味深い。リンクありがとう – bizl
LOL!私は貧弱な文法であなたの文法を修正しました!最後の段落は「an」ではなく「as」で、「then」ではなく「than」です。私はそれを残すつもりです。皮肉のために。 –
あなたのアプリケーションが、英語以外の言語にローカライズされることは決してないことをご理解いただきたいと思います... –
これは本当かもしれません。しかし、クライアントは今気にしません – bizl