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

рддреЛ - рдпрд╣ рд╕рдм рдмрдХрд╡рд╛рд╕ рд╣реИред рдЖрдИрдЯреА рдХрд╛ рджрд╛рдпрд░рд╛ рдЕрдирдВрдд рд╣реИ, рдмреНрд░рд╣реНрдорд╛рдВрдб рдХреА рддрд░рд╣, рдмрд╣реБрдд рдХрд╛рдо рд╣рдореЗрд╢рд╛ рд░рд╣реЗрдЧрд╛ред рдЖрдк рдпрд╛ рддреЛ рдЕрднреА рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдХрднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдореИрдВрдиреЗ 10 рдЪрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рдпреЛрдЬрдирд╛ рддреИрдпрд╛рд░ рдХреА, рдкреНрд░рддрд┐ рджрд┐рди рдХрджрдо рд╕реЗ рдХрджрдо, 10 рдорд┐рдирдЯ рдкреНрд░рддрд┐ рдХрджрдоред рдФрд░ рдЬрдм рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ "10 рдорд┐рдирдЯ" рдХрд╛ рдореЗрд░рд╛ рдорддрд▓рдм "3 рдФрд░ рдПрдХ рдЖрдзреЗ рдШрдВрдЯреЗ" рдирд╣реАрдВ рд╣реИ, рдФрд░ "рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдХреБрдЫ рд╕рдордп, рдмреЗрд╣рддрд░ рд▓рдВрдмреЗ рд╕рдордп", рдЕрд░реНрдерд╛рддреН 600 рд╕реЗрдХрдВрдбред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рджрд┐рди 600 рд╕реЗрдХрдВрдб рдЦрд╛рд▓реА рд╕рдордп рдирд╣реАрдВ рд╣реИ, рддреЛ рддреБрд░рдВрдд рдкрд░рд┐рдпреЛрдЬрдирд╛, рдХрд╛рд░реНрдп, рдкреЗрд╢рд╛, рдирд┐рд╡рд╛рд╕ рд╕реНрдерд╛рди (рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░реЗрдВ) рдХреЛ рдмрджрд▓ рджреЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬреАрд╡рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрдард┐рди рд╢реНрд░рдо рд╣реИред рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВред
1. рдПрдХ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪрд╛ рдЪреБрдирдирд╛
рдЦрд░реЛрдВрдЪ рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ - рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЗрд╖реНрдЯрддрдо рд░реВрдкрд░реЗрдЦрд╛ рдЪреБрдирдиреЗ рдкрд░ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдмрд┐рддрд╛рдирд╛ (рд╣рд╛рдБ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордп рдХрд╛ рдРрд╕рд╛ рдЕрдиреБрдорд╛рди рд╣реИ) рднреА рдмреЗрд╡рдХреВрдлреА рд╣реИред рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдиреБрд╕реНрдЦрд╛ рд╣реИ: Google рдореЗрдВ% рднрд╛рд╖рд╛% рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪрд╛ рд▓рд┐рдЦреЗрдВ: stackoverflow.comред рдкрд╣рд▓реЗ 5 рд▓рд┐рдВрдХ рдЦреЛрд▓реЗрдВред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдкреНрд░рд╢реНрди рдпрд╛ рдкрд╣рд▓реЗ рдЙрддреНрддрд░ рдХреА рд░реЗрдЯрд┐рдВрдЧ рд╢реВрдиреНрдп рдХреЗ рдкрд╛рд╕ рд╣реИред рд╢реЗрд╖ рдЯреИрдм рд╕реЗ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЕрдзрд┐рдХрддрдо рд░реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрд╢рдВрд╕рд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред 99.5% рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде, рдпрд╣ рдЖрдкрдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛ред рдЪреВрдВрдХрд┐ рдЖрдк рдЗрд╕ рдЪрд░рдг рдкрд░ 3 рдорд┐рдирдЯ рдкрд╣рд▓реЗ рд╣реА рдмрд┐рддрд╛ рдЪреБрдХреЗ рд╣реИрдВ, рд╢реЗрд╖ 7 рдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ (рдЕрдиреНрдпрдерд╛ рд╡рд╣ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЕрдЪрд╛рдирдХ рдирд╣реАрдВ - рдЙрд╕реА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдФрд░ рдПрдХ рдЪреБрдиреЗрдВред
2. рд╣рдо рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ!
рд╣реИрд▓реЛ рд▓рд┐рдЦреЛ
, рджреБрдирд┐рдпрд╛! рд╣рдо рд╕рд┐рд░реНрдл рдереВрдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C ++ рдореЗрдВред
рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛!#include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; }
рдЕрдм рджреЛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрд╛рда рдХреА рдкреАрдврд╝реА рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред рд╣рд╛рдВ, рджреЛ рдореЗрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛! рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж #include <iostream> #include <string> using namespace std; string GetHello() { return "Hello"; } string GetAdressat(string adressat) { return adressat; } int main() { cout << GetHello() + " " + GetAdressat("world") + "!" << endl; return 0; }
рджреВрд╕рд░реА рдмрд╛рдд, рд╣рдо рдЗрд╕ рдлрд╛рдЗрд▓ рд╕реЗ рдХрд╣реАрдВ рд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рднрд╛рд╖рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпреЗ рдмрд╕ рдЕрд▓рдЧ рдХреЛрдб рдлрд╛рдЗрд▓реЗрдВ рдпрд╛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рддрдм рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реЛрдЧрд╛:
HelloFunctions.h #include <string> using namespace std; string GetHello(); string GetAdressat(string adressat);
HelloFunctions.cpp #include "HelloFunctions.h" string GetHello() { return "Hello"; } string GetAdressat(string adressat) { return adressat; }
HelloWorld.cpp #include <iostream> #include "HelloFunctions.h" using namespace std; int main() { cout << GetHello() + " " + GetAdressat("world") + "!" << endl; return 0; }
3. рд╣реЗрд▓реЛ рджреБрдирд┐рдпрд╛ рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ!
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рд╕рдВрднрд╡рддрдГ рд░реВрдкрд░реЗрдЦрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╛ рд╕реНрдЯреИрдХрдУрд╡рд░рдлреНрд▓реЛ рдкрд░ред рдпрд╛ рд╣реИрдмреЗ рдкрд░ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░
Google рдЯреЗрд╕реНрдЯ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдерд╛ред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рдВрдХреЗрддрд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ - рдПрдХ рдЕрд▓рдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреА рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ, рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ (рдЖрдпрд╛рдд \ рдЙрдкрдпреЛрдЧ) рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП, рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП (рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛрдб рдХреЗ рд╕рд╛рде) рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП - рдпрд╣ рд╕рдм рд╣реИ ред рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрджрдо 10 рдорд┐рдирдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - Youtube рдЦреЛрд▓реЗрдВ, рдЦреЛрдЬ рдореЗрдВ рдЕрдкрдиреЗ рдврд╛рдВрдЪреЗ рдХрд╛ рдирд╛рдо рд▓рд┐рдЦреЗрдВ рдФрд░ рд▓рдЧрднрдЧ рдЙрд╕реА рд╕рд╛рдордЧреНрд░реА рдХреЗ 20 рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ рдЬреЛ рдЗрд╕реЗ рд╕рд╛рдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
4. рдврд╛рдВрдЪреЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛
рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛:
- рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ
- рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ
рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдЖрдорддреМрд░ рдкрд░ рдЙрди рд╕рднреА рд▓реЗрдЦреЛрдВ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдКрдкрд░ рдмрд╛рдд рдХреА рдереАред рд╕реАрдзреЗ рдврд╛рдВрдЪреЗ рдХреЗ wilds рдореЗрдВ рдордд рдЬрд╛рдУред рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬреЛ рд╕рд░рд▓ рдЪреАрдЬреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ, рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╣ рдЦреЗрд▓ рдореЗрдВ рдкрд╕рдВрдж рд╣реИ - рдЖрдкрдХреЛ рддреБрд░рдВрдд рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рдЬрди рдХрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕рд╣реА рддрдХрдиреАрдХ рдбрд╛рд▓рдиреА рд╣реЛрдЧреАред
рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реА рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг! рдЙрдкрд░реЛрдХреНрдд Google рдкрд░реАрдХреНрд╖рдг:
#include "HelloFunctions.h" #include "gtest/gtest.h" class CHelloTest : public ::testing::Test { }; TEST_F(CHelloTest, CheckGetHello) { ASSERT_TRUE(GetHello() == "Hello"); } TEST_F(CHelloTest, GetAdressat) { ASSERT_TRUE(GetAdressat("world") == "world"); ASSERT_FALSE(GetAdressat("not world") == "world"); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
5. рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд░реВрдкрд░реЗрдЦрд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдврд╛рдВрдЪреЗ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред рдпрд╛рдж рд░рдЦреЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 3 рдкрд░ рдХрд┐рдпрд╛ рдерд╛? рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред рдЕрдм рдЗрд╕реЗ рдПрдХ рдХреЙрдореНрдмреИрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред SVN \ Git \ TFS \ What-you-there рдХреЗ рддрд╣рдд рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рд░рдЦреЗрдВред рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдУред рдЗрд╕рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдХреА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рдбреАрдмрдЧ рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмрд┐рд▓реНрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдЯреЗрд╕реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХрдорд┐рдЯ рдХрд░реЗрдВ, рдмрд┐рд▓реНрдб рдХреЛ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдПрдБред рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдкрдиреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдЕрднреА рддрдХ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд▓реЛрдб рди рдХрд░реЗрдВ - рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рддреЛрдбрд╝рд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред
6. рдХреБрдЫ рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдг
рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рд╣рдо
рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛ рд╕реЗ рдХреИрд╕реЗ рдКрдкрд░ рд▓рд╛рдП рдереЗ
! рдмрд╛рд╣рд░реА рдХреЛрдб рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛? рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рдХрд╛рд░реНрдп рдХреИрд╕реЗ рдХрд┐рдП рдЧрдП рд╣реИрдВ: рд╡реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░, рдпрд╛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░, рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдХреЗрд╡рд▓ рдкрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдЦреЛрдЬреЗрдВред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдХрд┐рд╕реА рдЪреАрдЬ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдп рд╣реИ, рдХреНрд░рдордмрджреНрдзрддрд╛ / deserialization, рдкреИрдХрд┐рдВрдЧ / рдЕрдирдкреИрдХрд┐рдВрдЧ, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди / рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди, рдЖрджрд┐ред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рди рд╕реЛрдЪреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рддрдиреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдХрд╛рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдореБрдХрд╛рдмрд▓рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдПред рджреМрдбрд╝реЗрдВ, рджреЗрдЦреЗрдВ "1 рдкрд░реАрдХреНрд╖рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрддреНрддреАрд░реНрдг рд╣реБрдИред"
рд╕рдВрдпреЛрдЧ рд╕реЗ, рдпрд╣ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдмрд╛рд░ рд╕рдВрджреЗрд╣рд╡рд╛рджрд┐рдпреЛрдВ рдХреЛ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдЕрдЪрд╛рдирдХ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдг - рдЕрдЪрд╛рдирдХ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ред рд╣рдо рдХреЛрдб рдореЗрдВ рдЪрдврд╝рддреЗ рд╣реИрдВ - рдФрд░ рдЕрдЪрд╛рдирдХ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ
return 12;
рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореБрдЦреНрдп рдХреЛрдб рдиреЗ рдЕрднреА рддрдХ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдРрд╕реЗ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рд╕рдордп рдпрд╣ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
7. рдХреБрдЫ рдФрд░ рдЬрдЯрд┐рд▓ рдкрд░реАрдХреНрд╖рдг
рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд░рд▓ рдЪреАрдЬреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЕрдм рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдХрд┐ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░реЗрдВред рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдврд╛рдБрдЪрд╛ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╕рдлрд╛рдИ рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рд╕рдордЭреЗрдВ рдХрд┐
рдореЛрдХреА рдФрд░ рд╕реНрдЯрдмреНрд╕ рдХреНрдпрд╛
рд╣реИрдВ ред рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрдкрдиреЗ рдХреЛрдб рдкрдврд╝рдиреЗ рдХреЗ рдХреБрдЫ рдбреЗрдЯрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред рдХреНрдпрд╛ рдЗрдирдкреБрдЯ рд╕реНрд░реЛрдд рдХреЛ рд╕реНрд╡реИрдк рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ? рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдХрд░реЗрдВред рдЗрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВред
8. рд╣рдо рдПрдХ рдмрдЧ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ
рдмрдЧ рдкрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рдЖрдо рддреМрд░ рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ? рдЖрдк рдЗрд╕реЗ рдмрдЧрдЯреНрд░реИрдХрд░ рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдХ рдХреЛ рд▓реМрдЯрд╛рдПрдВ, рдЕрдЧрд░ рдпрд╣ рдирд┐рдХрд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░реЗрдВ, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдвреВрдВрдвреЗрдВ, рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВ, рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ, рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдХ рдХреЛ рджреЗрдВред рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред рдФрд░ рдЕрдм, рдЕрдЧрд▓реЗ рдмрдЧ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЪрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ "рдПрдХ рддреНрд░реБрдЯрд┐ рдвреВрдВрдвреЗрдВ" рдФрд░ "рд╕рд╣реА" рдПрдХ рдФрд░ рдХрджрдо рдЬреЛрдбрд╝реЗрдВ - рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВред рддрд╛рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рдПред рдпрд╣ рдПрдХ рдмрдбрд╝реА рдЪрд░реНрдЪрд╛ рд╣реИ, рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ рдЬреЛ рдХреБрдЫ рдорд┐рдирдЯ рдкрд╣рд▓реЗ рдЧрд┐рд░ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ "рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ" рджреЗрдЦреЗрдВред рдЗрд╕ рд╕реМрдВрджрд░реНрдп рдЖрдирдВрдж рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдкрд░реАрдХреНрд╖рдХ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рдЙрддреНрдкрд╛рдж рдХреА рд╕рд╛рдЗрдб рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рднреА, "рдХреНрд╖реЗрддреНрд░ рдореЗрдВ" рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЖрджрд┐)ред рдмреЗрд╢рдХ, рд╕рдм рдХреБрдЫ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдпреВрдЖрдИ рдХреЗ рд╕рд╛рде, рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде, рдмрд╣реБ-рдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдкрд░реАрдХреНрд╖рд╛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЖрдкрдХреЛ рдХрдИ, рдХрдИ рдШрдВрдЯреЗ рд▓рдЧрддреЗ рд╣реИрдВ рддреЛ рдкрд░реЗрд╢рд╛рди рди рд╣реЛрдВред рдЕрдВрдд рдореЗрдВ, рдпрд╣ рддрдХрдиреАрдХ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ, рди рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреА рдзреБрди рдкрд░ рдирд╛рдЪрдиреЗ рдХреЗ рд▓рд┐рдПред
9. рдкрд╣рд▓реА рдмрд╛рд░ рдЯреАрдбреАрдбреА
рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХрд╛ рдХрд╛рдо рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ? рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдлрд┐рд░ рдЖрдк рдбрд┐рдЬрд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ - рдЗрдВрдЯрд░рдлреЗрд╕, рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╕реНрдХреЗрдЪ рдХрд░реЗрдВ, рдлрд┐рд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо, рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд░рди, рдбреАрдмрдЧ рд╕реЗ рднрд░реЗрдВред рдЦреИрд░, рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдмрд╕ рдЙрд╕ рд╕рдордп рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрдВрдЯрд░рдлреЗрд╕, рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ - рдЙрдирдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦреЗрдВред рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ - рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдкрд░рд┐рдгрд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХреАред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдЖрдк рдХреБрдЫ рдирд╛рдореЛрдВ рдХреА рдЕрд╕рдВрдЧрддрд┐, рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рддрд░реНрдХ рдХреА рдХрдореА рдпрд╛ рдЕрдзрд┐рдХрддрд╛, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдпрд╛ рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВрдЧреЗред рдЗрд╕реА рд╕рдордп, рдЗрд╕реЗ рдЕрднреА рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдмреЗрдХрд╛рд░ рд╣реИ (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрднреА рддрдХ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ) ред рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛, рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ - рдЕрд╕рдлрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджреЗрдЦрд╛ред рдорд╣рд╛рди, рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдордиреЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦрд╛, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдпрд╛ - рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛, рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣реЗ - рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХреНрдпрд╛ рдиреИрддрд┐рдХ рд╕рдВрддреБрд╖реНрдЯрд┐ рдорд┐рд▓реА рд╣реИ? рдпрд╣ рдЦреЗрд▓ рдореЗрдВ рдХреБрдЫ рдЙрдкрд▓рдмреНрдзрд┐рдпрд╛рдВ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдЦреБрд╢реА рд╕реЗ рдорд┐рд▓рддрд╛ рдЬреБрд▓рддрд╛ рд╣реИред рдФрд░ рдХреНрдпреЛрдВ? рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ! "рдХреЛрдб 90% рдХреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╡рд░реЗрдЬ рдХреЗ рд╕рд╛рде 18 рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ" - рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреВрд▓рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, "рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реИ"ред рдпрд╣ рдЧрд░реНрд╡ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддрд╛ рд╣реИред рдЖрдк рдШрд░ рдЬрд╛рддреЗ рд╣реИрдВ - рдФрд░ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рджрд┐рди рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдерд╛, рдпрд╣ "рдХреБрдЫ" рдФрд╕рдд рджрд░реНрдЬреЗ рдХрд╛, рдореВрд░реНрдд, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред
10. рд╣рдо CI рд╕рд░реНрд╡рд░ рдкрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЛ рддреЗрдЬ рдХрд░рддреЗ рд╣реИрдВ
рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдЯреЗрд╕реНрдЯ рдХрдо рдорд╛рдпрдиреЗ рд░рдЦрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдирд╛ рд▓рдВрдмреЗ рдФрд░ рд╡реНрдпрд░реНрде рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ TeamCity рдпрд╛ CruiseControl рдХреЗ рд╕рд╛рде рдПрдХ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдХрд╛ рдЙрддреНрдкрд╛рдж рдЬрд╛ рд░рд╣рд╛ рд╣реИред рддреЛ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рддреБрд░рдВрдд рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рд░рдирд┐рдВрдЧ рдЯреЗрд╕реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдкрдиреЗ рд▓реЙрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдВрджрд░ рд░рд┐рдкреЛрд░реНрдЯ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдкрддреНрд░рд╛рдЪрд╛рд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, "рд╣рд░ рдХреЛрдИ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ", рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдиреЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рд▓рд╛рд╣ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рд░реВрдкрд░реЗрдЦрд╛ рд▓реА, рддреЛ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЬрд┐рд╕ рдЯреАрдорд╕реАрдЯреА рдФрд░ Google рдЯреЗрд╕реНрдЯ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд╡реЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рджреЛрд╕реНрддрд╛рдирд╛ рд╣реИрдВред
рдЕрдВрддрднрд╛рд╖рдг
рдПрдХ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдкрд╛рдардХ рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рддрд╡реЗрдВ рд╕реЗ рдЖрдард╡реЗрдВ рддрдХ рдХрд╣реАрдВ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ "10 рдорд┐рдирдЯ рдПрдХ рдХрджрдо" рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдирд╣реАрдВ рдлрд┐рдЯ рд╣реЛрдВрдЧреЗред рдореИрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ? рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдореИрдВ, рдПрдХ рдмреБрд░рд╛ рд╡реНрдпрдХреНрддрд┐, рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдкрд░реЗрд╢рд╛рди рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдзрд░реНрдореА рдЖрдХреНрд░реЛрд╢ рдХреЗ рд╕рд╛рде рдЗрди рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ:
- рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рддреЗрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╡реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ, рдФрд░ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреЛ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- рдЖрдкрдиреЗ рдЗрд╕ рд╕рднреА рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИред
- рджреВрд╕рд░реА рдмрд╛рд░ рдЖрдк рддреЗрдЬреА рд╕реЗ рдЧрдВрднреАрд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП рддрдп рдХрд░реЗрдВ рдХрд┐ рд╡рд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдерд╛ рдпрд╛ рдирд╣реАрдВред
рдХрд╣реАрдВ рди рдХрд╣реАрдВ 8 рд╡реАрдВ рдХреЗ рдмрд╛рдж рдЕрдкрдиреА рдЯреАрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрд╕реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реИред 2-3 рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ, рдПрдХ рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдг рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдПрдВ, рдзреНрдпрд╛рди рджреЗрдВ, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, "рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ", рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдм рддрдХ рдзрдХреНрдХрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рд▓реЗрдЦрди рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реА рдзрд╛рд░рдгрд╛ рд╕рддрд░реНрдХ рд╕рдВрджреЗрд╣ рдФрд░ рдЧрд▓рддрдлрд╣рдореА рд╣реЛрдЧреАред рдмреИрдардХ рдореЗрдВ рджреВрд╕рд░реЗ рдпрд╛ рддреАрд╕рд░реЗ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рдмрд╛рдж рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдЗрд▓рд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐, "рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрдЧ рдзрдиреНрдпрд╡рд╛рдж рдорд┐рд▓рд╛" рдпрд╛ "рдФрд░ рдпрд╣рд╛рдВ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдо рддреБрд░рдВрдд рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред" рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддрд░реНрдХрд╕рдВрдЧрдд рд▓реЛрдЧ рд╣реИрдВ, рд╡реЗ рд╕рдордЭреЗрдВрдЧреЗ рдФрд░ рдкрдХрдбрд╝ рд▓реЗрдВрдЧреЗред