ΠΡΡΡΠ½ Π‘ΡΡΠ°ΡΡΡΡΡΠΏ (Bjarne Stroustrup), ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΡΠ·ΡΠΊΠ° C++, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π²ΠΎΠ·ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ² Π²ΡΠ²ΠΎΠ΄ΠΎΠ², ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π² ΠΎΡΡΡΡΠ΅ ΠΠΠ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ Π±ΡΠ»ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΠΎΡΠΎΠΉΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π‘ΠΈ ΠΈ Π‘ΠΈ++, ΠΏΠ΅ΡΠ΅ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΠ·ΡΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ C#, Go, Java, Ruby, Rust ΠΈ Swift, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠΎ ΠΌΠ½Π΅Π½ΠΈΡ Π‘ΡΡΠ°ΡΡΡΡΡΠΏΠ° ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π² ΠΎΡΡΡΡΠ΅ ΠΠΠ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π½Π° Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄ΡΡ C++ Π² Π²Π°ΠΆΠ½ΡΡ Ρ Π΅Π³ΠΎ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡΡ . Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ C++ (C++ Core Guidelines) ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ², Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠΎΠ³ΠΈΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ C++ Core Guidelines, ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ C++ ΠΊΠΎΠ΄Π°, ΡΡΠ΅Π±ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ Π·Π°ΡΡΠ°Ρ, ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ Core Guidelines ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ΅ ΠΈ ΠΏΡΠΎΡΠΈΠ»Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈΠ· ΡΠΎΡΡΠ°Π²Π° Microsoft Visual Studio. Π§Π°ΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅Π½Π° Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ΅ Clang tidy.
ΠΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΡΠΈΡΠΈΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π»ΠΎ Π°ΠΊΡΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΡΡΡΠ° ΠΠΠ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ, ΠΎΡΡΠ°Π²Π»ΡΡ Π±Π΅Π· Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ. Π‘ΡΡΠ°ΡΡΡΡΡΠΏ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³ΡΠ°Π½ΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΡΡΠΈΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ². ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ», ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ².
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΠΆΠ½Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ², Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠΈΡ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π½Π°ΡΠ°Π»Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΈΡ
ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru