Code Smell 107 - 変数の再利用
7285 ワード
Code Smell 107 - 変数の再利用
変数を再利用すると、スコープと境界をたどるのが難しくなります
問題
可読性 隠れた問題
ソリューション
変数を再利用しないでください スコープを分離するには
環境
可読性
結論
変数を再利用すると、スコープと境界をたどるのが難しくなります
TL;DR: Don't read and write the same variable for different purposes
問題
ソリューション
環境
スクリプトをプログラミングするときは、変数を再利用するのが一般的です.
これは混乱を招き、デバッグを困難にします.
可能な限り範囲を狭める必要があります.
サンプルコード
違う
// print line total
double total = item.getPrice() * item.getQuantity();
System.out.println("Line total: " + total );
// print amount total
total = order.getTotal() - order.getDiscount();
System.out.println( "Amount due: " + total );
// variable is reused
右
function printLineTotal() {
double total = item.getPrice() * item.getQuantity();
System.out.println("Line total: " + total );
}
function printAmountTotal() {
double total = order.getTotal() - order.getDiscount();
System.out.println( "Amount due: " + total );
}
検出
[×] 自動
リンターは解析ツリーを使用して、変数の定義と使用法を見つけることができます.
タグ
違う
// print line total
double total = item.getPrice() * item.getQuantity();
System.out.println("Line total: " + total );
// print amount total
total = order.getTotal() - order.getDiscount();
System.out.println( "Amount due: " + total );
// variable is reused
右
function printLineTotal() {
double total = item.getPrice() * item.getQuantity();
System.out.println("Line total: " + total );
}
function printAmountTotal() {
double total = order.getTotal() - order.getDiscount();
System.out.println( "Amount due: " + total );
}
検出
[×] 自動
リンターは解析ツリーを使用して、変数の定義と使用法を見つけることができます.
タグ
結論
変数名の再利用は避けてください.より具体的で異なる名前を使用してください.
関係
Code Smell 03 - 関数が長すぎる
Maxi Contieri ・ 10月 22 '20 ・ 1 分で読了
#codenewbie
#beginners
#programming
#100daysofcode
より詳しい情報
リファクタリング 002 - Extract メソッド
Maxi Contieri ・ 2021 年 11 月 25 日 ・ 読了時間 2 分
#refactoring
#oop
#webdev
#codenewbie
クレジット
SigmundのUnsplashによる写真
Simplicity before generality, use before reuse.
ケブリン・ヘニー
ソフトウェアエンジニアリングの名言
Maxi Contieri ・ 12月 28 '20 ・ 13 分で読了
#codenewbie
#programming
#quotes
#software
この記事は CodeSmell シリーズの一部です.
コードの臭い部分を見つける方法
Maxi Contieri ・ 2021 年 5 月 21 日 ・ 4 分で読める
#codenewbie
#tutorial
#codequality
#beginners
Reference
この問題について(Code Smell 107 - 変数の再利用), 我々は、より多くの情報をここで見つけました
https://dev.to/mcsee/code-smell-107-variables-reuse-3m53
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Code Smell 03 - 関数が長すぎる
Maxi Contieri ・ 10月 22 '20 ・ 1 分で読了
#codenewbie
#beginners
#programming
#100daysofcode
より詳しい情報
リファクタリング 002 - Extract メソッド
Maxi Contieri ・ 2021 年 11 月 25 日 ・ 読了時間 2 分
#refactoring
#oop
#webdev
#codenewbie
クレジット
SigmundのUnsplashによる写真
Simplicity before generality, use before reuse.
ケブリン・ヘニー
ソフトウェアエンジニアリングの名言
Maxi Contieri ・ 12月 28 '20 ・ 13 分で読了
#codenewbie
#programming
#quotes
#software
この記事は CodeSmell シリーズの一部です.
コードの臭い部分を見つける方法
Maxi Contieri ・ 2021 年 5 月 21 日 ・ 4 分で読める
#codenewbie
#tutorial
#codequality
#beginners
Reference
この問題について(Code Smell 107 - 変数の再利用), 我々は、より多くの情報をここで見つけました
https://dev.to/mcsee/code-smell-107-variables-reuse-3m53
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
リファクタリング 002 - Extract メソッド
Maxi Contieri ・ 2021 年 11 月 25 日 ・ 読了時間 2 分
#refactoring
#oop
#webdev
#codenewbie
SigmundのUnsplashによる写真
Simplicity before generality, use before reuse.
ケブリン・ヘニー
ソフトウェアエンジニアリングの名言
Maxi Contieri ・ 12月 28 '20 ・ 13 分で読了
#codenewbie
#programming
#quotes
#software
この記事は CodeSmell シリーズの一部です.
コードの臭い部分を見つける方法
Maxi Contieri ・ 2021 年 5 月 21 日 ・ 4 分で読める
#codenewbie
#tutorial
#codequality
#beginners
Reference
この問題について(Code Smell 107 - 変数の再利用), 我々は、より多くの情報をここで見つけました https://dev.to/mcsee/code-smell-107-variables-reuse-3m53テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol