質問です.
1714 ワード
条件文
7号:FizzBuzz
条件は3と5で区切られることが少ないため、まずこの条件を作成する必要があります.
3を3で割った数を先にフィルタリングすると、3と5をすべてで割った条件に遭遇しません.
逆に3か5に分けない場合が多いので、底から外します.
9日:月に対応する日付を返します
最小の数字をifとelse ifでフィルタし、コードを簡略化するために最も多い数字をelseでフィルタします.
13:スコアに対応するレベルと記号を返します(+/-)
等級分類と記号分類の2つの機能を1つの関数に含めないでください.
オブジェクト向けの5つの原理SOLIDの1つであるSRP(単一責任原則)に基づいて、作成されたクラスは1つの機能しか持たず、クラスが提供するすべてのサービスは1つの職責に集中しなければならない.
最初に作成したコードでは,階層分類とシンボル付与の2つのタスクが実行されたが,これを階層分類関数とシンボル付与関数に分け,実際の操作ではメンテナンスが容易である.
14:任意の3つのエッジの長さが直角三角形であるかどうかを返します。
3つの方法を用いた条件により,エッジ1,エッジ2,エッジ3をそれぞれ最長エッジと仮定した場合.
すなわち,if文を3つ作成し,その中で3つのフラットメソッドを繰り返し記述した.しかし、これは無意味なコードの羅列だけでなく、コードの可読性を低下させる.問題の意図に応じて、3つの方法を使用することができます.
16:1秒後の時間、分、秒の値を返します
次のように、時間分秒変化をネスト条件文に設定する必要はありません.
if(second === 59){
if(minute === 59){
...
最小単位から各パラメータに独立したif文を作成し、存在するかどうかを確認します.また、割り当てが必要な部分ではマッチング演算子を使用しており、実装する操作の意図を常に考慮し、コードを記述します.
17日:falsey値をtrueに戻す
NaNを入力するとtrueを返す必要がありますが、この部分では通過条件が満たされていません.NaNはすべての値と一致しなかった.だからNan=NaNの結果はfalseです.
したがって,条件を満たさなければ値を返すことができないif文字自体もtrueも返さない.
組み込み関数booleanを使用して、任意の値をtrue/falseに変換し、それを否定して必要な値を検索できます.
Reference
この問題について(質問です.), 我々は、より多くの情報をここで見つけました https://velog.io/@momo24/문제풀이-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol