if文を複数のサブ条件でリファクタリングしようとしています。私の現在の試行から、私は条件を2回書くか、目的の終了関数を2回書く必要があります。私はよりクリーンな方法が欲しい。サブブランチングのためのより良い設計文サブ条件if
if((s[i] >= 'A' && s[i] <= 'Z') || (s[i] >= 'a' && s[i] <= 'z')){ // cipher uppercase letters
bool uppercase = true;
if (s[i] >= 'a' && s[i] <= 'z') { // cipher lowercase letters
bool uppercase = false;
}
printf("%c", cipher_letter(s[i], true, k));
}
else { // do nothing on non-alphabet letters
printf("%c", s[i]);
}
私は今見つけクリーンな方法はこれです:
は、ここで私が書いた最初のコードである
if(s[i] >= 'A' && s[i] <= 'Z') { // cipher uppercase letters
printf("%c", cipher_letter(s[i], true, k));
}
else if (s[i] >= 'a' && s[i] <= 'z') { // cipher lowercase letters
printf("%c", cipher_letter(s[i], false, k));
}
else { // do nothing on non-alphabet letters
printf("%c", s[i]);
}
しかし、私はcipher_letter機能を繰り返さなければなりません。
これをさらにスタイルするにはどうすればよいでしょうか?
何をしようとしていますか?あなたのソリューションを最適化することではなく、完全に*新しいソリューションを見つけることであるかもしれません。 – Downvoter
@Downvoter私はそれのすべてです。コードは機能し、より良いスタイルを探しているだけでなく、より良いソリューションを全体的に言うと思います。 2番目のバージョンでは、私が何をしているのか明確にする必要があります。 –
誰かが解決策が正しいかどうか尋ねると、私は原則として解決策を信頼しません。あなたの解決策がまったく正しいかどうかはわかりません。だから、あなたの問題を最初に述べ、実装を示すことに感謝します。とにかく、あなたの質問は[コードレビュー](https://codereview.stackexchange.com)に適しています。 – Downvoter