5 рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдврд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдирд┐рдпрдо

рдЖрдк рдЦреБрдж рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ: "рд╕рд╛рдл-рд╕реБрдерд░реЗ рддрд░реАрдХреЗ рд╕реЗ, рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ?" рдХрд┐рд╕реА рдФрд░ рдХреЗ рдХреЛрдб рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдПрдВ? тАЭ

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдирд┐рдпрдореЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдВ!

рдЖрд▓реЗрдЦ рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдирд╛рдордХрд░рдг, рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдФрд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдирд┐рдпрдореЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рд╣рдо рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдорд╕реНрддрд┐рд╖реНрдХ рдкрд░ рднрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 5 рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред

рдзрд╛рд░рдгрд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╡рд░реНрдгрд┐рдд рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рд╣рд╕рдВрдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдПрдХ рд╕рд░рд▓ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдорд╛рдирджрдВрдб рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред

рдзрд╛рд░рдгрд╛ рдХреА рд╕рд░рд▓реАрдХреГрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ:

  1. рд░рд┐рд╕реЗрдкреНрдЯрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╡ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред
  2. рдпрджрд┐ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рд╢реЛрд░ рд╣реИред рд╢реЛрд░ рдЬрд▓реНрджреА рднреВрд▓ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЪреАрдЬ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рддреЛ рддрдереНрдп рдХреЛ рдорд╛рдиреНрдпрддрд╛ рджреА рдЧрдИ рд╣реИред
  3. рдпрджрд┐ рддрдереНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдпрд╛ рдХреЛрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВред
  4. рд╕реНрдорд░рдгреАрдп рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  5. рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд╛рдирдХрд╛рд░реА рдлрд┐рд░ рд╕реЗ рд╕рд╣рд╕рдВрдмрдВрдзрд┐рдд рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЬрд╛рддреА рд╣реИ (рдЪрд░рдг 1)ред


рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╕реНрдореГрддрд┐ рдХреЛ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдФрд░ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдореЗрдореЛрд░реА рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдЫреЛрдЯреА рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рдирдХрд╛рд░реА рддреБрд░рдВрдд рдирд┐рдХрд╛рд▓реА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдореЗрдореЛрд░реА рдорд╕реНрддрд┐рд╖реНрдХ рдХрд╛ рдХреИрд╢ рд╣реИред рдпрд╣ 7 + -2 рд╢рдмреНрджреЛрдВ, рд╕рдВрдЦреНрдпрд╛рдУрдВ, рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреА рдореЗрдореЛрд░реА рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдмрдбрд╝реА рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╢реЙрд░реНрдЯ-рдЯрд░реНрдо рдореЗрдореЛрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдКрд░реНрдЬрд╛ (рдкреНрд░рдпрд╛рд╕) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖:

  • рдХрдо рддрддреНрд╡, рдХрдо рдКрд░реНрдЬрд╛ рдЦрд░реНрдЪ рд╣реЛрддреА рд╣реИ,
  • рдпрд╣ рдХрдерд┐рдд рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 9 рддрдХ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ,
  • рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд░реЗрдВ рдпрд╛ рднреВрд▓ рдЬрд╛рдПрдВред

рд╣рдо рдирд┐рдпрдореЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

рдирд┐рдпрдо 1. рд╣рдо рд╢рд░реНрддреЛрдВ рдореЗрдВ рдмрдпрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, "рдирд╣реАрдВ" рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВред

"рдирд╣реАрдВ" рдСрдкрд░реЗрдЯрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, "a!" рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдЧреЗрдЯрд┐рд╡ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рдкрдврд╝рддреЗ рд╕рдордп рдЗрд╕ рдЪрд░рд┐рддреНрд░ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:

if (!entity.IsImportAvaible) { // 1 } else { // 2 } 

рдХреЗ рдмрд╛рдж:

 if (entity.IsImportAvaible) { // 2 } else { // 1 } 

рдирд┐рдпрдо 2. рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рд╕реНрддрд░ рдХреЛ рдХрдо рдХрд░рдирд╛ред

рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди, рдкреНрд░рддреНрдпреЗрдХ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╕реНрддрд░ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реНрддрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░реЗрдВ - рдИрдВрдзрди рдХреА рд▓рд╛рдЧрдд рдХрдо рдХрд░реЗрдВред

рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рд╕реНрддрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

1) рд╡рд╛рдкрд╕реА рдирд┐рдпрдВрддреНрд░рдгред рд╣рдордиреЗ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛ рдФрд░ рд╢реЗрд╖ рд▓реЛрдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред

 if (conributor != null) { // } 

рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ

 if(contributor == null) { return; } // 

рдпрд╛

 while( 1) { if( 2) { break; } // } 

рдпрд╛

 for(; 1;) { if( 2) { continue; } // } 

рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рдирд┐рдпрдо 5 рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

2) рд╡рд┐рдзрд┐ рдХрд╛ рдЕрд▓рдЧрд╛рд╡ред рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред

 if( ) { foreach(var sender in senders) { sender.Send(message); } } 

рдореЗрдВ

 if( ) { SendAll(senders, message); } void SendAll(IEnumerable<Sender> senders, string message) { foreach(var sender in senders) { sender.Send(message); } } 

3) рд╕рдВрдпреЛрдЬрди рдХреА рд╕реНрдерд┐рддрд┐ред

 if (contributor == null) { if (accessMngr == null) { // } } 

рдореЗрдВ

 if (contributor == null && accessMngr == null) { // } 

4) рдЪрд░реЛрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ред рдирддреАрдЬрддрди, рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕реЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдПрдХ рдмреНрд▓реЙрдХ - рдПрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓рд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЦреЛрдЬ рд╣реИред рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: рддрддреНрд╡ рдЦреЛрдЬ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдгред

 for (int i=0;i<array.length;i++) { if (array[i] == findItem) { // array[i] break; } } 

рдореЗрдВ

 for(int i=0;i<array.length;i++) { if(array[i] == findItem) { foundItem =array[i]; break; } } if (foundItem != null) { // foundItem } 

рдирд┐рдпрдо 3. рд╣рдо рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред

рдЗрдВрдбреЗрдХреНрд╕рд░ - рдЗрдВрдбреЗрдХреНрд╕ рдЕрд░реЗрд╕реНрдЯ [рдЗрдВрдбреЗрдХреНрд╕] рдкрд░ рдХрд┐рд╕реА рдПрд░реЗ рдХреЗ рдПрд▓реАрдореЗрдВрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдСрдкрд░реЗрд╢рдиред

рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдорд╕реНрддрд┐рд╖реНрдХ рдкреНрд░рддреАрдХреЛрдВ [] рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрдорд╛рдВрдХрдХ, рдФрд░ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред

 function updateActiveColumnsSetting(fieldsGroups) { var result = {}; for (var i = 0; i < fieldsGroups.length; i++) { var fields = fieldsGroups[i].fields; for (var j = 0; j < fields.length; j++) { if (!result[fieldsGroups[i].groupName]) { result[fieldsGroups[j].groupName] = {}; } result[fieldsGroups[i].groupName][fields[j].field] = createColumnAttributes(j, fields[j].isActive); } } return JSON.stringify(result); } 

рдПрдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрдХреНрд╕рд░ рдЧрд▓рддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реНрдерд╛рди рд╣реИред рдЫреЛрдЯреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдирд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, I, j рдпрд╛ k рдХреЛ рдорд┐рд▓рд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд▓рд╛рдЗрди рдкрд░рд┐рдгрд╛рдо рдореЗрдВ [рдлрд╝реАрд▓реНрдбреНрд╕рдЧреНрд░реБрдкреНрд╕ [рдЬреЗ] .groupName] = {}; рдЧрд▓рддреА рд╣реБрдИ:
j рдХрд╛ рдкреНрд░рдпреЛрдЧ i рдХреЗ рдмрдЬрд╛рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ i-th рдорд╛рди рдХрд╣рд╛рдБ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

1) рдиреЗрддреНрд░рд╣реАрди рдПрдХ рд╕рд░рдгреА рдЪрд░ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛

 function updateActiveColumnsSetting(fieldsGroups) { var result = {}; for (var i = 0; i < fieldsGroups.length; i++) { var fields = fieldsGroups[i].fields; for (var j = 0; j < fields.length; j++) { if (!result[fieldsGroups[i].groupName]) { result[fieldsGroups[j].groupName] = {}; } result[fieldsGroups[i].groupName][fields[j].field] = createColumnAttributes(j, fields[j].isActive); } } return JSON.stringify(result); } 

2) рд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрдХреНрд░рдорд┐рдд I, j, i-1, j-1, рдЖрджрд┐ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдзрд╛рд░рдгрд╛ рдореЗрдВ рд╕рдВрджрд░реНрднреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреАред
рдПрдХ рдЪрд░ рдореЗрдВ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдХреЗ, рд╣рдо рдЦрддрд░рдирд╛рдХ рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдЪрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╕реНрддрд┐рд╖реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж:

 function updateActiveColumnsSetting(fieldsGroups) { var columnsGroups = {}; for (var i = 0; i < fieldsGroups.length; i++) { var fieldsGroup = fieldsGroups[i]; var groupName = fieldsGroup.groupName; var columnsGroup = columnsGroups[groupName]; if (!columnsGroup) { columnsGroup = columnsGroups[groupName] = {}; } var fields = fieldsGroup.fields; for (var j = 0; j < fields.length; j++) { var fieldInfo = fields[j]; columnsGroup[fieldInfo.field] = createColumnAttributes(j, field.isActive); } } return columnsGroups; } 

рджреГрд╢реНрдп рдЪрдпрди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдФрд░ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рд╕рдВрдкрд╛рджрдХ рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╕рдмреНрд╕рдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдХреЗ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред

 function updateActiveColumnsSetting(fieldsGroups) { var columnsGroups = {}; for (var i = 0; i < fieldsGroups.length; i++) { var fieldsGroup = fieldsGroups[i]; var groupName = fieldsGroup.groupName; var columnsGroup = columnsGroups[groupName]; if (!columnsGroup) { columnsGroup = columnsGroups[groupName] = {}; } var fields = fieldsGroup.fields; for (var j = 0; j < fields.length; j++) { var fieldInfo = fields[j]; columnsGroup[fieldInfo.field] = createColumnAttributes(j, field.isActive); } } return columnsGroups; } 

рдирд┐рдпрдо 4. рдЕрд░реНрде рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмреНрд▓реЙрдХ рд╕рдореВрд╣ред

рд╣рдо рдзрд╛рд░рдгрд╛ рдХреЗ рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - "рдирд┐рдХрдЯрддрд╛ рдХрд╛ рдкреНрд░рднрд╛рд╡": рдзрд╛рд░рдгрд╛ рдореЗрдВ рдмрд╛рд░реАрдХреА рд╕реЗ рд╕реНрдерд┐рдд рдЖрдВрдХрдбрд╝реЗ рд╕рдВрдпреБрдХреНрдд рд╣реИрдВред рдзрд╛рд░рдгрд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрде рджреНрд╡рд╛рд░рд╛ рдПрдХрдЬреБрдЯ рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЦрд╛рд▓реА рд░реЗрдЦрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

 foreach(var abcFactInfo in abcFactInfos) { var currentFact = abcInfoManager.GetFact(abcFactInfo); var percentage = GetPercentage(summaryFact, currentFact); abcInfoManager.SetPercentage(abcFactInfo, percentage); accumPercentage += percentage; abcInfoManager.SetAccumulatedPercentage(abcFactInfo, accumPercentage); var category = GetAbcCategory(accumPercentage, categoryDictionary); abcInfoManager.SetCategory(abcFactInfo, category); } 

рдХреЗ рдмрд╛рдж:

 foreach (var abcFactInfo in abcFactInfos) { var currentFact = abcInfoManager.GetFact (abcFactInfo); var percentage = GetPercentage(summaryFact, currentFact); accumPercentage += percentage; var category = GetAbcCategory(accumPercentage, categoryDictionary); abcInfoManager.SetPercentage(abcFactInfo, percentage); abcInfoManager.SetAccumulatedPercentage(abcFactInfo, accumPercentage); abcInfoManager.SetCategory(abcFactInfo, category); } 

рдКрдкрд░реА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ 7 рдмреНрд▓реЙрдХ рд╣реИрдВ, рдирд┐рдЪрд▓реЗ 3 рдореЗрдВ: рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдПрдХ рд▓реВрдк рдореЗрдВ рдЬрдорд╛ рдХрд░рдирд╛, рдкреНрд░рдмрдВрдзрдХ рдЧреБрдг рд╕реЗрдЯ рдХрд░рдирд╛ред

рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдЙрди рдЬрдЧрд╣реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВред рддреЛ, рд▓рд╛рдЗрдиреЛрдВ

 accumPercentage += percentage; var category = GetAbcCategory(accumPercentage, categoryDictionary); 

рдкрд┐рдЫрд▓реА рдЧрдгрдирд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡реЗ рд╕рдВрдЪрд┐рдд рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдЪрд░ рдореЗрдВ рдорд╛рди рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВред рдорддрднреЗрджреЛрдВ рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреЛ рдЗрдВрдбреЗрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдХрд░реАрдм рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред

рдирд┐рдпрдо 5. рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ред

OOP рдореЗрдВ рдпрд╣ SOLID рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕, рдореЙрдбреНрдпреВрд▓, рдлрд╝рдВрдХреНрд╢рди, рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреАрдореЛрдВ рдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдкрд░ рдХрд┐ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдХреМрди рдпрд╛ рдХреНрдпрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреМрди рдпрд╛ рдХреНрдпрд╛ред рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╣рдореЗрд╢рд╛ рд╕рд░рд▓ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХреЛ рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛, рд╡рд╛рдХреНрдпрд╛рдВрд╢, рд░реВрдкрдХ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдпрд╛рдж рд░рдЦрдиреЗ рдореЗрдВ рдХрдо, рдзрд╛рд░рдгрд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╕рд╛рди рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЙрджрд╛рд╣рд░рдг:

 private PartnerState GetPartnerStateForUpdate( PartnerActivityInfo partner, Dictionary<int, PartnerState> currentStates, Dictionary<int, PartnerState> prevStates) { PartnerState updatingState; if (prevStates.ContainsKey(partner.id)) { if (currentStates.ContainsKey(partner.id)) { var prevState = prevStates[partner.id]; updatingState = currentStates[partner.id]; // 1 } else { // 2 } } else if (currentStates.ContainsKey(partner.id)) { updatingState = currentStates[partner.id]; } else { throw new Exception(string.Format("  {0}         {1}", partner.id, month)); } return updatingState; } 

ContainsKe рдЗрдВрдбреЗрдХреНрд╕рд░реНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛, рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдФрд░ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рд╕реНрддрд░реЛрдВ рдХреЛ рдХрдо рдХрд░рдирд╛, рдпрд╣ рдирд┐рдХрд▓рд╛:

 private PartnerState GetPartnerStateForUpdate( PartnerActivityInfo partner, Dictionary<int, PartnerState> currentStates, Dictionary<int, PartnerState> prevStates) { PartnerState currentState = null; PartnerState prevState = null; prevStates.TryGetValue(partner.id, out prevState); currentStates.TryGetValue(partner.id, out currentState); currentState = CombineStates(currentState, prevState); return currentState; } private PartnerState CombineStates( PartnerState currentState, PartnerState prevState) { if (currentState == null && prevState == null) { throw new Exception(string.Format( "  {0}         {1}" , partner.id, month)); } if (currentState == null) { // 1 } else if (prevState != null) { // } return currentState; } 

рдкрд╣рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди рд╢рдмреНрджрдХреЛрд╢реЛрдВ рд╕реЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рджреВрд╕рд░рд╛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирдП рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдкреНрд░рд╕реНрддреБрдд рдирд┐рдпрдо рд╕рд░рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдпреЛрдЬрди рдореЗрдВ рд╡реЗ рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдореЗрдореЛрд░реА рд▓реЛрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рд╣рдореЗрд╢рд╛ рдЙрдирдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЛрдб рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдмрд╕реЗ рдХрдард┐рди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд▓реЗрдЦрдХ рдХреА рдмрд╛рд░-рдмрд╛рд░ рдорджрдж рдХреА рд╣реИред

Source: https://habr.com/ru/post/hi436160/


All Articles