рдкрд░рд┐рдЪрдп
рд╕рдордп рдХреЗ рд╕рд╛рде, рдХреЛрдб рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕реБрдВрджрд░, рдкреБрд░рд╛рдиреЗ рджрд┐рдиреЛрдВ рдореЗрдВ, рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣рдЬрд╛рд░реЛрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ "рд╕реНрдкреЗрдЧреЗрдЯреА" рдХреЛрдб рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВред рдмреЗрд╢рдХ, рдПрдХ рдмрд┐рдВрджреБ рддрдХ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдирдИ рд╢рд░реНрдд рдпрд╛ рд╡рд┐рдзрд┐ рдореЗрдВ рд▓реВрдк рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╡рд┐рдзрд┐ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЪрдХреНрд░реЛрдВ рдХрд╛ рдПрдХ рдПрдХрд▓ рдмреНрд▓реЙрдХ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛
рд╡рд┐рдзрд┐ рдЖрдХрд╛рд░ рдореЗрдВ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдзрд┐ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛрдб рдХреЗ рддрд░реНрдХ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рд░рджрд░реНрд╢реА рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреА рд╣реИред
рдХреЛрдб
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд╝реЙрд░реНрдо рдХрд╛ рдПрдХ рд▓рдВрдмрд╛ рдХреЛрдб рд╣реИ:
public void process() { if (condition1) { ... if (condition2) { ... for (condition3) { ... if (condition4) { ... } } } else if (condition5) { ... } else if (condition6) { ... } } else { ... } }
рдЗрд╕ рдХреЛрдб рдХреЛ рдмрдирд╛рдП рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ред рд░рд┐рдлрд╝реЗрдХреНрдЯ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рджреВрд╕рд░реА рд╢рд╛рдЦрд╛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рднреВрд▓рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдШреЛрдВрд╕рд▓реЗ рдХрд╛ рд╕реНрддрд░ рднреА рдЕрдзрд┐рдХ рд╣реИред
рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ
рдпрджрд┐ "..." рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рдХреЛрдб рд╣реИ, рддреЛ рд╡рд┐рдзрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдИ рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИред рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ:
рд╡рд┐рдзрд┐ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛
рд╣рдо рдХреЛрдб рдХреЗ рдмрдбрд╝реЗ рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЪреБрдирддреЗ рд╣реИрдВред рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдмрд╣реБрдд рдХрдо рд╣реЛрдЧреАред рдбрд░реЛ рдордд рдХрд┐ рдЖрдкрдХреЗ рддрд░реАрдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЕрдм рдХреЛрдб рдХреА рдирдХрд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдпрд╛ рдЬрдЯрд┐рд▓ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдПрдХ рд╕реАрдорд╛ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдиреЗрд╕реНрдЯреЗрдб рд╕рд╢рд░реНрдд рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдмрджрд▓рдирд╛
рдкрд░рд┐рд╖реНрдХреГрдд рдирд╛рдо рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд╛рдкрд╕реА рд╣реИред рдпрд╣рд╛рдБ рдХреЛрдб рдХреЗ рдмрд╛рдж refactoring рд╣реИ:
public void process() { if (!condition1) { ... return; } ... if (condition2) { ... loopByCondition(); return; } if (condition5) { ... return; } if (condition6) { ... } } private void loopByCondition() { for (condition3) { ... if (condition4) { ... } } }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдб рд░реИрдЦрд┐рдХ рдФрд░ рд╕рд░рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпреЗ рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░рд┐рдВрдЧ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдПрдВрдЧреЗред рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред рдПрдХ рдЕрдзрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдлрд╛рдЙрд▓рд░ рд╕реЗ рдкрдврд╝рдирд╛ рд╣реИред рдФрд░ рдЖрдзреБрдирд┐рдХ рдЖрдИрдбреАрдИ рдЖрдкрдХреЛ рдХреБрдЫ рдХреНрд▓рд┐рдХреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрд░рд╛рдо рд╕реЗ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдб рдХреЛ рддреБрд░рдВрдд рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЕрдзрд┐рдХ рдкрд╛рд░рджрд░реНрд╢реА, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рдЕрдиреБрд╡рд░реНрддреА рдЙрддреНрдкрд╛рдж рд╣реЛрдЧрд╛ред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХрдо рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╕рд╛рде рд░реИрдЦрд┐рдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдФрд░ рдПрдХ рдЬрдЯрд┐рд▓ рдмреНрд▓реЙрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдзрд┐ рдореЗрдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред
"рдЪреЗрддрдирд╛ рдбрдВрдк рдХреА рдзрд╛рд░рд╛" рдХреА рд╢реИрд▓реА рдореЗрдВ рдХреЛрдб рдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдЪрд░рдг рдореЗрдВ рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдирд┐рдкрдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред