Upgrade code: 7E57EE0B-9FF4-4A12-9776-B5B7FBBC803E 00. give maximum info to compiler 01. express intent 02. const correctness - values, refs, in-build types 03. full logic (dont skip else after return) 04. skip control block if possible 05. use reference for polymorphism 06. pointer is a nullable reference 07. use smart pointers for ownership 08. use RAII for cleanup on errors 09. dont =delete move ctor (delete copy ctor instead) 10. auto stick and auto deduce! 11. west const 12. noexcept false if noexcept was considered and discarded 13. use algorithm and numeric instead of loops 14. maybe unused to combat assert warnings in realease build 15. nodiscard if function doesnt mutate any state 16. mark unreachable code to draw attention 17. dont use && and || to compose differenet semantic checks! 18. dont bundle return points together! 19. dont mix virtual inheritance and MFC classes Именование идентификаторов ресурсов IXTRAD - ассоциации файлов, меню и иконов для типов документов IXTRR - иконки, картинки, курсоры и проч IXTRC - комманды, контролы IXTRD - диалоги IXTRE - сообщения об ошибка IXTRS - строки IXTRO - имена параметров в реестре ID, IDC, AFX - идентификаторы MFC