ืืฉืืืืืื ืืชืื ืช, ืืืฉืงืข ืืื ืจื ืืืชืืืช ืงืื. ืจืื ืืืคืชืืื ืืืชืืืืื ืืืืื ืื ืฉืื ืืคืขืืืืช ืืขืชืืืืช ืฉืืื. ืื ื ืืื ืืืืงื, ืืื ืืืฉืืืืช ืฉื ืืชืื ืช ืืืืืืช ืื ืชืืืืงื ืืฉืืืืจ ืงืื. ืืืื ื ืืืจ ืขื refactoring.
Refactoring ืืงืืจืก JavaRush
ืงืืจืก JavaRush ืืืกื ืืช ื ืืฉื ื-refactoring ืคืขืืืื:- ืืชืืจ ืืืื ืืจืื 5 ืฉื ืงืืืกื Multithreading ;
- ืืจืฆืื ืขื refactoring ื- Intellij IDEA ืืจืื 9 ืฉื ืงืืืกื ืฉื Java Collections .
ืื ืื refactoring?
ืืื ืฉืื ืื ืืืื ื ืืงืื ืืืื ืืฉื ืืช ืืช ืืคืื ืงืฆืืื ืืืืช ืฉืื. ืืืืืื, ืืฉ ืฉืืื ืฉืืฉืืื 2 ืืกืคืจืื ืืืืืืจื ืืืช ืื ืืจืืฉืื ืืืื ืืืชืจ, ื- false ืืืจืช:public boolean max(int a, int b) {
if(a > b) {
return true;
} else if(a == b) {
return false;
} else {
return false;
}
}
ืืชืืฆืื ืืืืชื ืงืื ืืืื ืืกืืจืื. ืืคืืื ืืชืืืืื ืืืขืืื ืืืชืื ืืืจ ืืื, ืืื ืืฉ ืกืืืื ืืื. ื ืจืื, ืืืืข ืืฉ ืืื ืืกืืื if-else
ืื ืืชื ืืืื ืืืชืื ืฉืืื ืงืฆืจื ื-6 ืฉืืจืืช:
public boolean max(int a, int b) {
return a>b;
}
ืืขืช ืฉืืื ืื ื ืจืืืช ืคืฉืืื ืืืืื ืืืช, ืืืจืืช ืฉืืื ืขืืฉื ืืช ืืืชื ืืืืจ ืืื ืืืืืื ืืขืื. ืื ืขืืื ื-refactoring: ืืื ืืฉื ื ืืช ืืื ื ืืงืื ืืืื ืืืฉืคืืข ืขื ืืืืืช ืฉืื. ืืฉื ื ืฉืืืืช ืืืื ืืงืืช ืจืืคืืงืืืจืืื ืจืืืช, ืืฉืจ ื ืฉืงืื ืืคืืจืื ืจื ืืืชืจ.
ืืืืข ืืฉ ืฆืืจื ืืขืืืื ืืืืฉ?
ืืฉื ื ืืกืคืจ ืกืืืืช. ืืืืืื, ืืฉืืืคื ืืคืฉืืืช ืืชืืฆืืชืืืช ืฉื ืืงืื. ืชืืืื ืืชืืืืจืื ืืื ืืืืื ืื ืฉืงืื ืฆืจืื ืืืืืช ืชืืฆืืชื ืืื ืืืคืฉืจ, ืื ืื ืืื ืืืจืฉ ืขืฉืจืืช ืฉืืจืืช ืฉื ืคืจืฉื ืืช ืืื ืืืืื ืืืชื. ืืคืชืืื ืืืจืื ืืืืื ืื ืฉืืฉ ืืฉื ืืช ืืช ืืงืื ืื ืฉืืืื ืืืื ืขื ืืกืคืจ ืืื ืืืื ืฉื ืืขืจืืช. ืื ืงืืืฆื ืืืืจืช ืืช ืืขืืื ืฉืื, ืืื ืขืืื ื ืืืืืจ ืฉ- refactoring ืืื ื ืืคืืชื . ืืืืจื ืืขืืงืจืืช ืฉืื ืืื ืืฉืคืจ ืืช ืืื ื ืืงืื. ื ืืชื ืืืืื ืืกืคืจ ืืขืืื ืืืขื ืืืืืื ืื:- Refactoring ืืฉืคืจ ืืช ืืืื ื ืฉื ืงืื ืฉื ืืชื ืขื ืืื ืืคืชื ืืืจ;
- ืขืืืจ ืืืฆืื ืืืชืงื ืฉืืืืืช;
- ืืืคืฉืจ ืื ืืืืืืจ ืืช ืืืืจืืช ืคืืชืื ืืชืืื ื;
- ืืกื ืืื ืืฉืคืจ ืืช ืืจืื ืืชืืื ื.
"ืจืื ืงืื"
ืืืฉืจ ืงืื ืืืจืฉ ืขืืืื ืืืืฉ ืื ืืืืจืื ืฉืืื "ืืจืื". ืืืืื, ืื ืคืฉืืื ืืืฉืืขื, ืืื ืงืื ืืื ืืืืช ืื ื ืจืื ื ืืื ืืืืืื. ืืืื ื ืฉืงืื ืืช ืืื ืืงืืช ืืฉืืืืจ ืืขืืงืจืืืช ืืฉืื ืืจืืฉืื ื.ืืืื ืืื ืืืืืื ืฉืื ืืฆืืจื
ืืฉื ื ืืืืงืืช ืืฉืืืืช ืืกืืจืืืืช ืฉืื ืืคืฉืจ ืืขืืื ืืืชื ืืฆืืจื ืืขืืื ืืืืงื ืืืื ืืืืื ืืขืฆืื ืฉืืื.ืืืชื ืืืืื
ืืืืืงื ืืื ืืฉ ืืกืคืจ ืขืฆืื ืฉื ืฉืืจืืช ืงืื ืืฉืืืืช ืจืืืช ืืฉืื ืืช. ืืืจื ืืื ืงื ืืืชืจ ืืืคืชื ืืืืกืืฃ ืชืืื ื ืืืืืงื ืงืืืืช ืืืงืื ืืืฆืืจ ืืืืงื ืืืฉื, ืืื ืืกืืื ืฉืืื ืืืื. ืืืื, ืืคืื ืงืฆืืื ืืืืช ืฉื ืืืืงื ืื ืขืืืกื ืืื. ืืืงืจื ืื, ืืคืจืืช ืืืง ืืืคืื ืงืฆืืื ืืืืช ืืืืืงื ื ืคืจืืช ืขืืืจืช. ื ืืืจ ืขื ืื ืืคืืจืื ืจื ืืืชืจ ืืกืขืืฃ ืืื ืืงืืช ืจืืคืืงืืืจืฆืื.ืฉืืื ืืืืื
"ืจืื" ืื ืืชืจืืฉ ืืืฉืจ ืืคืชื ืืืกืืฃ ืคืื ืงืฆืืื ืืืืช ืืืฉื ืืฉืืื. "ืืื ืื ื ืฆืจืื ืืฉืื ืืืืงืช ืคืจืืืจืื ืืฉืืื ื ืคืจืืช ืื ืื ื ืืืื ืืืชืื ืืช ืื ืืื?", "ืืื ืืฉ ืฆืืจื ืืืคืจืื ืืช ืืฉืืื ืืืฆืืืช ืืืืื ื ืืืงืกืืืื ืืืขืจื, ื ืฉืืืจ ืืช ืื ืืื. ืื ืืงืื ืืจืืจ ืืืชืจ", ืืขืื ืชืคืืกืืช ืฉืืืืืช. ืืฉื ื ืฉื ื ืืืืื ืืฉืืืืจ ืฉืืื ืืืืื:- ืื, ืืขืช ืืชืืืช ืฉืืื, ืืชื ืจืืฆื ืืืืกืืฃ ืืขืจื ืืงืื, ืขืืื ืืืคืจืื ืืช ืืคืื ืงืฆืืื ืืืืช ืืื ืืฉืืื ื ืคืจืืช;
- ืื ืืชืืื ืืืงืืช ืืืชืจ ื-10-15 ืฉืืจืืช ืงืื, ืขืืื ืืืืืช ืืช ืืืฉืืืืช ืืชืชื ืืืฉืืืืช ืฉืืื ืืืฆืขืช ืืื ืกืืช ืืืคืจืื ืืช ืืืฉืืืืช ืืฉืืื ื ืคืจืืช.
- ืืคืจื ืืืง ืืืคืื ืงืฆืืื ืืืืช ืฉื ืฉืืื ืืฉืืื ื ืคืจืืช;
- ืื ืืฉืชื ืื ืืงืืืืื ืื ืืืคืฉืจืื ืื ืืืืฅ ืืืง ืืืคืื ืงืฆืืื ืืืืช, ืืชื ืืืื ืืืขืืืจ ืืช ืืืืืืืงื ืืืื ืืฉืืื ืืืจืช.
ืฉืืืืฉ ืืกืืื ื ืชืื ืื ืคืจืืืืืืืืื ืจืืื
ืืืจื ืืื, ืืขืื ืื ืืชืจืืฉืช ืืืฉืจ ืืกืคืจ ืืฉืืืช ืืืืกืื ื ืชืื ืื ืืืืืงื ืืื ืขื ืืืื. ืืืืืื, ืื ืืชื ืืฉืชืืฉ ืืกืืืื ืคืจืืืืืืืืื ืืืงืื ืืืืืืืงืืื ืงืื ืื ืืื ืืืืกื ื ืชืื ืื (ืืืืข, ืชืืจืื, ืืกืคืจื ืืืคืื ืืื') ืื ืงืืืขืื ืืื ืืงืืื ืืืืข ืืืฉืื. ืชืจืืื ืืื ืืืงืจื ืื ืืืื ืืงืืฅ ืืืืคื ืืืืื ื ืืช ืืฉืืืช ืืืืงื ืืืชื ืืืืชื ื ืคืจืืช (ืืืืจืช ืืืืงื). ืืชื ืืืื ืื ืืืืื ืฉืืืืช ืืขืืืื ื ืชืื ืื ืืื ืืืืชื.ืจืฉืืื ืืจืืื ืฉื ืืคืฉืจืืืืช
ืืขืืช ื ืคืืฆื ืืืื, ืืืืืื ืืฉืืืื ืขื ืฉืืื ืืืืื. ืื ืงืืจื ืืืจื ืืื ืื ืืคืื ืงืฆืืื ืืืืช ืฉื ืืฉืืื ืขืืืกื ืืชืจ ืขื ืืืืื, ืื ืฉืืฉืืื ืืฉืืืช ืืกืคืจ ืืืืืจืืชืืื. ืงืฉื ืืืื ืืืืื ืจืฉืืืืช ืืจืืืืช ืฉื ืคืจืืืจืื, ืืฉืืืืช ืืืื ืืื ื ื ืืืืช ืืฉืืืืฉ. ืืื, ืขืืืฃ ืืืขืืืจ ืืช ืื ืืืคืฅ. ืื ืืืืืืืงื ืืื ืืกืคืืง ื ืชืื ืื, ืืืื ืืืฉืชืืฉ ืืืืืืืงื ืืืื ืืืชืจ ืื ืืคืฆื ืืช ืืคืื ืงืฆืืื ืืืืช ืฉื ืืฉืืื ืื ืฉืชืขืื ื ืชืื ืื ืืงืฉืืจืื ืืืืืช.ืงืืืฆืืช ื ืชืื ืื
ืงืืืฆืืช ื ืชืื ืื ืืงืฉืืจืืช ืืืืื ื ืืืืืช ืืืคืืขืืช ืืขืชืื ืงืจืืืืช ืืงืื. ืืืืืื, ืคืจืืืจื ืืืืืจ ืืืกื ืื ืชืื ืื (URL, ืฉื ืืฉืชืืฉ, ืกืืกืื, ืฉื ืกืืืื ืืื'). ืื ืื ื ืืชื ืืืกืืจ ืฉืื ืืื ืืจืฉืืืช ืืืืื ืืื, ืืจื ืฉืืจืฉืืื ืืื ืงืืืฆืช ื ืชืื ืื ืฉืืฉ ืืืงื ืืืืืงื ื ืคืจืืช (ืืืืจืช ืืืืงื).ืคืชืจืื ืืช ืฉืืงืืงืืื ืืช ืืงืื ืกืคื ืฉื OOP
ืกืื ืื ืฉื "ืจืื" ืืชืจืืฉ ืืืฉืจ ืืืคืชื ืืคืจ ืืช ืขืืฆืื OOP. ืื ืงืืจื ืื ืืื ืื ืืืื ืืืืจื ืืช ืืืืืืืช ืฉื ืืคืจืืืืื ืืื, ืืฉืชืืฉ ืืื ืืฆืืจื ืื ืืืื ืื ืื ื ืืื ื.ืกืืจืื ืืจืืฉื
ืื ืชืช-ืืืืงื ืืฉืชืืฉืช ืืืืง ืืื ืืืื ืืืคืื ืงืฆืืืช ืฉื ืืืืงืช ืืื, ืื ืืจืื ืืื ืืืจืจืืื ืื ื ืืื ื. ืืืจื ืืื, ืืืงืจื ืื, ืฉืืืืช ืืืืชืจืืช ืคืฉืื ืืื ื ืขืืงืคืืช ืื ื ืืจืงืื ืืจืืืื. ืื ืืืืงื ืขืืืจืช ืืืจืืฉื ืืืืจืช, ืืืืจ ืืจืื ืขื ืฉืืืืฉ ืืืขื ืืื ืืคืื ืงืฆืืื ืืืืช ืฉืื. ืืืืื ืืืืจืจืืื ื ืืื ื: ืืืืื ืืืืจืจืืื ืื ื ืืื ื:ืืฆืืจืช switch
ืื ืืืื ืืืืืช ืจืข ืืืคืขืืswitch
? ืื ืจืข ืืฉืืขืืฆืื ืฉืื ืืืจืื ืืืื. ืื ืืืื ืื ืืืืงืื ืืงืื ื ืื ืจืืื if
.
ืฉืืขืืจืื ืืืืคืืื ืขื ืืืฉืงืื ืฉืื ืื
ืืื ืืืืงืืช ืืืขืฉื ืขืืฉืืช ืืช ืืืชื ืืืืจ, ืืื ืืฉืืืืช ืฉืืื ื ืงืจืืืช ืืืจืช.ืฉืื ืืื ื
ืื ืืืืืงื ืืืืื ืฉืื ืืื ื ืฉืืืืืืืงื ืฆืจืื ืจืง ืืื ืคืขื, ืืืฉืจ ืืื ืืื ืืขืจืืื, ืืืฉืืจ ืืืื ืืื ืจืืง ืื ืืืืื,null
ืื ืืงืื "ืืจืื", ืืขืืฆืื ืืื ืืคืืงืคืง. ืึทืึฐืึธืึธื.
ืจืืืืช ืฉืืงืฉืื ืขื ืืฉืื ืื
ื"ืจืืืืช" ืืืื ืจืฆืื ืืื ืืืชืจ. ืืฉืืจ ืคืืืขืื ืืขืืงืจ ืืืื ืช ืืงืื, ืืขืื ืฉืืื ืืื ื ืืืคืฉืจืื ืืฉื ืืช ืืืชื. ืืืฉืจ ืืฆืืืื ืชืืื ืืช ืืืฉืื, ืืฆื ืืืืคืชืืื ืืชืคืืจื, ืืืืฆืืชื ืืฉืชืืขื.ืืืจืจืืืืช ืืจืืฉื ืืงืืืืืช
ืืืฉืจ ืืชื ืืืฆืจ ืชืช ืืืืงื ืฉื ืืืืงื, ืขืืื ืืืฆืืจ ืชืช ืืืืงื ื ืืกืคืช ืขืืืจ ืืืืงื ืืืจืช.ืืืืงืช ืชืืืช ืืืืื
ืืขืช ืืืฆืืข ืฉืื ืืืื ืืืฉืื, ืขืืื ืืืคืฉ ืืช ืื ืืชืืืช (ืืฉืืืืฉืื) ืฉื ืืืืงื ืื ืืืืฆืข ืฉืื ืืืื ืงืื ืื ืจืืื. ืฉืื ืื ืืื - ืขืจืืืืช ืืฉืืขืืจืื ืจืืื.ืขืฅ ืฉืื ืืืื ืืืจืืืื
ืืจืื ืืื ืืื ืืคืื ืืืงืืื: ืฉืื ืืืื ืืฉืคืืขืื ืขื ืืกืคืจ ืจื ืฉื ืฉืืืืช ืืืืชื ืืืืงื. ืืืื, ืืชืืืช ืืงืื ืืื ืืื ืืืืจืืช: ืืืืจ ืฉืฉืื ืืช ืฉืืื ืืืช, ืืชื ืฆืจืื ืืชืงื ืืฉืื ืืืืจืช, ืืืืืจ ืืื ืืฉืืืฉืืช ืืื ืืืื. ืฉืืขืืจ ืืื - ืฉืื ืืืื ืจืืื."ืจืื ืืื"
ืงืืืืจืื ืื ืื ื ืขืืื ืฉื ืจืืืืช ืฉืืืจืืช ืืืืื ืจืืฉ. ืงืื ืืฉื ืืกืจ ืชืืขืืช, ืืืืชืจ. ืืืจืื ืืืื, IDE ื-linters ืืืืจื ืืื ืืืื ืืืชืจืืข ืืคื ื ืจืืืืช ืืืื.ืืกืคืจ ืจื ืฉื ืืขืจืืช ืืฉืืื
ืืฉืืื ืืฉ ืืจืื ืืขืจืืช ืืกืืจ ืืืขื ืืื ืฉืืจื. ืืืจื ืืื ืื ืงืฉืืจ ืืืืืืจืืชื ืืืจืื, ืืืื ืขืืืฃ ืืืืง ืืช ืืงืื ืืืื ืฉืืืืช ืงืื ืืช ืืืชืจ ืืืชืช ืืื ืฉืืืช ืืฉืืขืืชืืื.ืฉืืคืื ืงืื
ืืืืงืืช ืื ืฉืืืืช ืฉืื ืืช ืืฉืชืืฉืืช ืืืืชื ืืืืงืื ืฉื ืงืื.ืฉืืขืืจ ืขืฆืื
ืืืืชื ืืงืืืช ืืขื ืืืื ืคืื ืงืฆืืื ืืืืช, ืื ืื ืืจืื ืืื ื ืชืืื ื ื.ืงืื ืื ืืฉืืืืฉ
ืืืืงื, ืฉืืื ืื ืืฉืชื ื ืืื ื ืืฉืืืืฉ ืืงืื ืืื "ืืฉืงื ืืช".ืฆืืืื ืืืืื
ืงืืืืจืืืช ืจืืืืช ืื ืืืืคืืื ืช ืืืกืคืจ ืจื ืฉื ืืืืืจืื ืืืืชืจืื ืืงืื.ืฉืืืืช ืฆื ืฉืืืฉื
ืฉืืื ืืฉืชืืฉืช ืื ืชืื ืื ืฉื ืืืืืืงื ืืืจ ืืจืื ืืืชืจ ืืืฉืจ ืืื ืืฉืชืืฉืช ืื ืชืื ืื ืฉืื.ืืื ืืืืืืช ืื ืืชืืืื
ืืืืงื ืืฉืชืืฉืช ืืฉืืืช ืฉืืจืืช ืืืฉืืืืช ืฉื ืืืืงื ืืืจืช.ืฉืืืืช ืืืชื ืืจืืืืช
ืืืืงื ืืืช ืืชืงืฉืจืช ืืืืจืช, ืฉืืืงืฉืช ื ืชืื ืื ืืืฉืืืฉืืช, ืืืจืืืขืืช ืืื'. ืฉืจืฉืจืช ืื ืืจืืื ืฉื ืฉืืืืช ืคืืจืืฉื ืจืื ืืืืื ืฉื ืชืืืช ืืืื ื ืืืขืื ืื ืืืื.ืืืืงื-ืืฉืืืืช
ืืฉ ืฆืืจื ืืืืชื ืจืง ืืื ืืืขืืืจ ืืฉืืื ืืืืชื ืืืจืช. ืืืื ืฆืจืื ืืืกืืจ ืืืชื?ืืื ืืงืืช ืฉืืืืจ
ืืืื ื ืืืจ ืขื ืืื ืืงืืช ืจืืคืงืืืจ ืจืืฉืื ืืืช ืฉืืขืืจื ืืืกื ืืช ืจืืืืช ืืงืื ืืืชืืืจืื.ืืืืจืช ืืืชื
ืืืืืงื ืืืฆืขืช ืืืชืจ ืืื ืคืื ืงืฆืืืช; ืืฉ ืืืขืืืจ ืืืง ืืื ืืืืืงื ืืืจืช. ืืืืืื, ืืฉ ืืืืงืHuman
ืฉืืืืื ืื ืืชืืืช ืืืืจืื ืืฉืืื ืฉืืกืคืงืช ืืช ืืืชืืืช ืืืืื:
class Human {
private String name;
private String age;
private String country;
private String city;
private String street;
private String house;
private String quarter;
public String getFullAddress() {
StringBuilder result = new StringBuilder();
return result
.append(country)
.append(", ")
.append(city)
.append(", ")
.append(street)
.append(", ")
.append(house)
.append(" ")
.append(quarter).toString();
}
}
ืื ืืืื ืจืขืืื ืืื ืืืงื ืืช ืืืืืข ืืืฉืืื ืฉื โโืืืชืืืืช (ืืชื ืืืืช ืขืืืื ื ืชืื ืื) ืืืืืงื ื ืคืจืืช:
class Human {
private String name;
private String age;
private Address address;
private String getFullAddress() {
return address.getFullAddress();
}
}
class Address {
private String country;
private String city;
private String street;
private String house;
private String quarter;
public String getFullAddress() {
StringBuilder result = new StringBuilder();
return result
.append(country)
.append(", ")
.append(city)
.append(", ")
.append(street)
.append(", ")
.append(house)
.append(" ")
.append(quarter).toString();
}
}
ืืืืจืช ืฉืืื
ืื ื ืืชื ืืงืืฅ ืคืื ืงืฆืืื ืืืืช ืืืฉืื ืืฉืืื, ืืฉ ืืืงื ืืืชื ืืฉืืื ื ืคืจืืช. ืืืืืื, ืฉืืื ืืืืฉืืช ืืช ืืฉืืจืฉืื ืฉื ืืฉืืืื ืจืืืืขืืช:public void calcQuadraticEq(double a, double b, double c) {
double D = b * b - 4 * a * c;
if (D > 0) {
double x1, x2;
x1 = (-b - Math.sqrt(D)) / (2 * a);
x2 = (-b + Math.sqrt(D)) / (2 * a);
System.out.println("x1 = " + x1 + ", x2 = " + x2);
}
else if (D == 0) {
double x;
x = -b / (2 * a);
System.out.println("x = " + x);
}
else {
System.out.println("Equation has no roots");
}
}
ืืืื ื ืขืืืจ ืืช ืืืืฉืื ืฉื ืื ืฉืืืฉ ืืืคืฉืจืืืืช ืืืคืฉืจืืืช ืืฉืืืืช ื ืคืจืืืช:
public void calcQuadraticEq(double a, double b, double c) {
double D = b * b - 4 * a * c;
if (D > 0) {
dGreaterThanZero(a, b, D);
}
else if (D == 0) {
dEqualsZero(a, b);
}
else {
dLessThanZero();
}
}
public void dGreaterThanZero(double a, double b, double D) {
double x1, x2;
x1 = (-b - Math.sqrt(D)) / (2 * a);
x2 = (-b + Math.sqrt(D)) / (2 * a);
System.out.println("x1 = " + x1 + ", x2 = " + x2);
}
public void dEqualsZero(double a, double b) {
double x;
x = -b / (2 * a);
System.out.println("x = " + x);
}
public void dLessThanZero() {
System.out.println("Equation has no roots");
}
ืืงืื ืฉื ืื ืฉืืื ื ืขืฉื ืืจืื ืืืชืจ ืงืฆืจ ืืืจืืจ.
ืืขืืจืช ืื ืืืคืฅ
ืืฉืงืืจืืื ืืืชืืื ืขื ืคืจืืืจืื, ืืคืขืืื ืืชื ืืืื ืืจืืืช ืงืื ืืื:public void employeeMethod(Employee employee) {
// ะะตะบะพัะพััะต ะดะตะนััะฒะธั
double yearlySalary = employee.getYearlySalary();
double awards = employee.getAwards();
double monthlySalary = getMonthlySalary(yearlySalary, awards);
// ะัะพะดะพะปะถะตะฝะธะต ะพะฑัะฐะฑะพัะบะธ
}
public double getMonthlySalary(double yearlySalary, double awards) {
return (yearlySalary + awards)/12;
}
ืืฉืืื employeeMethod
ืืืงืฆืื ืขื 2 ืฉืืจืืช ืืืฉืืช ืขืจืืื ืืืืกืืื ืืืฉืชื ืื ืคืจืืืืืืืืื. ืืคืขืืื ืขืืฆืืืื ืืืื ืืืงืืื ืขื 10 ืฉืืจืืช. ืืจืื ืืืชืจ ืงื ืืืขืืืจ ืืช ืืืืืืืงื ืขืฆืื ืืฉืืื, ืืฉื ืืชื ืืืื ืืืืฅ ืืช ืื ืชืื ืื ืืืจืืฉืื:
public void employeeMethod(Employee employee) {
// ะะตะบะพัะพััะต ะดะตะนััะฒะธั
double monthlySalary = getMonthlySalary(employee);
// ะัะพะดะพะปะถะตะฝะธะต ะพะฑัะฐะฑะพัะบะธ
}
public double getMonthlySalary(Employee employee) {
return (employee.getYearlySalary() + employee.getAwards())/12;
}
ืคืฉืื, ืงืฆืจ ืืชืืฆืืชื.
ืงืืืืฅ ืืืื ืฉื ืฉืืืช ืืืฆืืชื ืืืืืงื ื ืคืจืืช
ืืืจืืช ืืขืืืื ืฉืืืืืืืืช ืืขืื ืื ืคืฉืืืืช ืืืื ืืืืฉืจ ืืกืชืืืื ืขืืืื ืจืืื ืขืฉืืืื ืืฉืืื ืืช ืืฉืืื "ืื ืืขืฆื ืขืืฉื ืืช ืื?", ืืคืชืืื ืจืืื, ืขืงื ืืืกืจ ืชืฉืืืช ืื, ืืืกืจ ืจืฆืื ืืฉืืืจ ืืช ืืงืื, ืื ืคืฉืื "ืื ืืขืฉื", ืขืืฉืื ืืขืืืืช ืืื ืืืช ืืืืืช.ืืืืข ืจืืคืงืืืจืื ื ืืขืื
ืืชืืฆืื ืฉื ืจืคืงืืืจืื ื ืืื ืืื ืชืืื ืืช ืฉืงื ืืงืจืื ืืช ืืงืื ืฉืื, ืฉืื ืืืื ืืืืืืงืช ืืชืืื ืืช ืื ืืืคืืื ืืืืื, ืืืื ืกืช ืชืืื ืืช ืืืฉืืช ืื ืืืคืืช ืืืืื ืื ืฉื ื ืืชืื ืงืื, ืืื ืคืขืืืืช ื ืขืืื ืืืฉื ืืื ืืืื. . ืืื ืืืฉืชืืฉ ื-refactoring ืื ืืืื ืงื ืืืชืจ ืืฉืืชื ืืช ืืชืืื ืืช ืืืคืก. ืืืืืื, ืืฆืืืช ืืขืจืื ืืช ืขืืืืืช ืืขืืืื ืขืืืจ ื ืืชืื, ื ืืชืื ืืฉืืืืจ ืงืื ืืืืืืช ืืืชืจ ืืืฉืจ ืขืืืจ ืืืืขืช ืืืชื ืคืื ืงืฆืืื ืืืืช ืืืคืก. ืื ืฉืืงืื ืฉืฆืจืื ืืฉืืืจ ืืฉ ืืจืื ืฉืืืืืช ืฉืงืฉื ืื ืคืืช ืืืืื. ืืืขืช ืืื ืืฉืคืจ ืืช ืืื ื ืืงืื ืืื ืืืื ืืขืืืืชื ืฉื ืืชืื ืช. ืืืื, ืขืืืฃ ืืืืื ืชืื ืืช Java ื- JavaRush - ืงืืจืก ืืงืืื ืขื ืืืฉ ืขื ืชืจืืื. 1200+ ืืฉืืืืช ืขื ืืืืืช ืืืืื, ื-20 ืืื ื-ืคืจืืืงืืื, ืืฉืืืืช ืืฉืืง - ืื ืื ืืขืืืจ ืื ืืืจืืืฉ ืืืื ืืงืืืื. ืืืื ืืืื ืืืืชืจ ืืืชืืื ืืื ืขืืฉืื :)ืืฉืืืื ืืฆืืืื ื ืืกืคืช ืืชืื refactoring
ืืกืคืจ ืืืคืืจืกื ืืืืชืจ ืขื ืจืืคืืงืืืจืื ื ืืื "Refactoring. ืฉืืคืืจ ืืขืืฆืื ืฉื ืงืื ืงืืื" ืืืช ืืจืืื ืคืืืืจ. ืืฉ ืื ืืืฆืื ืืขื ืืื ืช ืขื ืจืืคืงืืืจืื ื, ืฉื ืืชืื ืขื ืกืื ืกืคืจ ืงืืื - "Refactoring ืขื ืืคืืกืื" ืืืช ืืืืฉืข ืงืืจืืืกืงื. ืื ืืืจ ืืืืจืื ืขื ืชืื ืืืช. ืืขืช ืขืืืื ืืืืฉ, ืื ืชืืื ืืืื ืฉืืืืฉื ืืืืืจ ืืช ืืคืืกื ืขืืฆืื ืืืืฉืื ืืืกืืกืืื. ืืกืคืจืื ืื ืืืจืื ืืืื ืืขืืจื ืืื:- "ืืคืืกื ืขืืฆืื" - ืืืช ืืจืืง ืคืจืืื, ืืืืืืช ืคืจืืื, ืงืชื ืกืืืจื, ืืจื ืืืืืก ืืืกืืจื Head First;
- "ืงืื ืงืจืื, ืื ืชืื ืืช ืืืื ืืช" - ืืกืืื ืืืกืืื, ืืจืืืจ ืคืืืฆ'ืจ.
- "ืงืื ืืืฉืื" ืืืช ืกืืื ืืงืื ื, ืฉืืชืืจ ืืช ืขืงืจืื ืืช ืืงืื ืืืคื ืืืืืื ืื.
GO TO FULL VERSION