再編成機能の再構築(スプリット一時変数)

動機:自然に複数回割り当てられている一時的な変数の使用につながるいくつかは異なる用途一時変数、さまざまながあります。「ループ変数」と「結果が収集された変数は、」典型的な例である:ループ変数は、各実行サイクルと共に変化する、結果は、「操作の機能により、」変数に値を収集するための担当する収集構成される。

         これらの2つの場合に加えて、後で使用するために、長いコードのための操作の一時的な結果を格納するために多くの変数があります。この一時的な変数は一度だけ割り当てる必要があります。それらが複数回割り当てられている場合、それは彼らが機能で複数の役割を引き受けることを意味します。一時変数は、より多くの責任を引き受けた場合、それは、複数の一時的な変数に置き換える必要があり、それぞれにのみ責任を負うものとします。二つの異なるものを想定するため、一時的な変数で、それはコードリーダーが混乱になります。

1、声明の中で分解される一時変数は、その名前を変更し、その最初のオフィスが割り当てられます。コレクションがある場合は、変数の結果はそれを壊しません。

 2は、新しい一時変数がconstのように宣言しました。

 3、境界として一時変数のアクションへの第二の割り当ては、彼らが新たな一時変数を参照するようにすることを、すべての一時変数に対する参照の前のポイントを変更します。

 図4に示すように、第二の割り当てにおいて、一時変数の元の再ステートメント。

 5、コンパイル、テスト。

 図6は、処理が順次繰り返されます。一時変数がで声明の中で、名前を変更し、次の割り当ての前に基準点を変更するたびに。

パブリック クラスSplitTemporaryVariable { 

    プライベート ダブル_width、_higth。

    公共 ボイドdoGeometoryCal(){ 

        ダブル TEMP =(_higth + _width)* 2 
        System.out.printlnは( +「本の境界である」TEMP)。

        一時 = _higth * _width。
        System.out.printlnは( +「は、この領域は、」TEMP)。


    } 

    公共 ボイドdoGeometoryCalAdvanced(){
         二重周=(_higth + _width)* 2 
        System.out.println( +「本の周辺は」境界)

        ダブル面積= _higth * _width。
        System.out.printlnは( +「は、この領域は、」領域)
    } 

}

 

おすすめ

転載: www.cnblogs.com/newbee0101/p/11970582.html