
рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ, Microsoft рдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдПрдХ рдРрд╕рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ рд╣рд░ рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рднреЗрдЬ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХрдИ Microsoft рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреБрд▓реЗ-рд╕реНрд░реЛрдд рдЧрдП, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдкрд╣рд▓реЗ рджрд┐рди рдЧреИрд░-рдЖрдИрдЯреА рдореАрдбрд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рднреА рд╕рдорд╛рдЪрд╛рд░ рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЦреИрд░, рдпрд╣ C ++ рдореЗрдВ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрднреА рддрдХ рдЫреЛрдЯрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдо рдЕрднреА рднреА PVS-Studio рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдХреЛрдб рдореЗрдВ рдХрдИ рд╕рдВрджрд┐рдЧреНрдз рдЕрдВрд╢реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред
рдкрд░рд┐рдЪрдп
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред рдЕрдм рдХреЛрдИ рднреА
GitHub рд╕реЗ рдРрдк рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛
рд╣реИ рдФрд░ рдЙрдирдХреЗ рд╕реБрдзрд╛рд░ рд╕реБрдЭрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдореБрджрд╛рдп рдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛:
void TraceLogger::LogInvalidInputPasted(....) { if (!GetTraceLoggingProviderEnabled()) return;
LoggingFields fields{}; fields.AddString(L"Mode", NavCategory::GetFriendlyName(mode)->Data()); fields.AddString(L"Reason", reason); fields.AddString(L"PastedExpression", pastedExpression); fields.AddString(L"ProgrammerNumberBase", GetProgrammerType(...).c_str()); fields.AddString(L"BitLengthType", GetProgrammerType(bitLengthType).c_str()); LogTelemetryEvent(EVENT_NAME_INVALID_INPUT_PASTED, fields); }
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдкрд╛рда рдХреЛ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдЗрд╕реЗ Microsoft рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкреЛрд╕реНрдЯ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдирд┐рдкреЗрдЯ рджреЗрдЦрдиреЗ рдХреЛ рдорд┐рд▓реЗрдВрдЧреЗред
рд╣рдордиреЗ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
PVS-Studio рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЪреВрдБрдХрд┐ рдпрд╣ рдорд╛рдирдХ C ++ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдХрдИ рдирд┐рдпрдорд┐рдд рдкрд╛рдардХреЛрдВ рдХреЛ рд╕рдВрджреЗрд╣ рдерд╛ рдХрд┐ рдРрд╕рд╛ рдЬрд╛рдБрдЪ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ C ++ / CLI рдФрд░ C ++ / CX рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рднрд▓реЗ рд╣реА рдХреБрдЫ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдиреЗ рдХреБрдЫ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдЙрддреНрдкрдиреНрди рдХреА рд╣реЛ, рд▓реЗрдХрд┐рди рд╣рдо рдХрд┐рд╕реА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ рдЬреЛ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдХрд╛рдо рдореЗрдВ рдмрд╛рдзрд╛ рдбрд╛рд▓рддреЗ рдереЗред
рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрджрд┐ рдЖрдкрдиреЗ рд╣рдорд╛рд░реЗ рдЯреВрд▓ рдХреА рдЕрдиреНрдп рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рдЪрд╛рд░ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реИ, рддреЛ PVS-Studio рди рдХреЗрд╡рд▓ C рдФрд░ C ++ рдмрд▓реНрдХрд┐ C # рдФрд░ Java рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдЧрд▓рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рддреБрд▓рдирд╛
V547 рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'm_resolveName == рдПрд▓ "рдПрди-рдпреВрдПрд╕"' рд╣рдореЗрд╢рд╛ рдЧрд▓рдд рд╣реИред рддрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ wcscmp () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рд╕реНрдерд╛рдиреАрдпрдХрд░рдгред 180
wchar_t m_resolvedName[LOCALE_NAME_MAX_LENGTH]; Platform::String^ GetEnglishValueFromLocalizedDigits(....) const { if (m_resolvedName == L"en-US") { return ref new Platform::String(localizedString.c_str()); } .... }
рдЬрдм рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдирд┐рджрд╛рди рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдХреНрд░рдо рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдПрдХ, рдЬреЛ рдХрд╛рдлреА рдЬреНрд╡рд▓рдВрдд рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИ, рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд░рд╣рд╛ред
рдЖрдк рджреЗрдЦреЗрдВ, рдКрдкрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдЧрд▓рдд рддреБрд▓рдирд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХреЗ рдкрддреЗ рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХреЗ рдмрдЬрд╛рдп рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рдпреЗ рд╕рдВрдХреЗрдд рдХрднреА рднреА рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рдЭреВрдареА рд╣реЛрддреА рд╣реИред рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╣реА рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХреЛ рдлрд╝рдВрдХреНрд╢рди
wcscmp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред
рд╡реИрд╕реЗ, рдЬрдм рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛, рд╡рд░реНрдг рд╕рд░рдгреА
m_resolveName рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкреНрд░рдХрд╛рд░
std :: wstring рдХрд╛ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрди рдЧрдпрд╛, рдЗрд╕рд▓рд┐рдП рддреБрд▓рдирд╛ рдЕрдм рдареАрдХ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЬрдм рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ, рддрдм рддрдХ рдХрдИ рдЕрдиреНрдп рдХреАрдбрд╝реЗ рднреА рдЙрддреНрд╕рд╛рд╣реА рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рд╕рд╛рде рддрдп рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рджреЗрд╢реА рдХреЛрдб рдореЗрдВ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡
V773 рдлрд╝рдВрдХреНрд╢рди рдХреЛ 'рдЕрд╕реНрдерд╛рдпреА' рдкреЙрдЗрдВрдЯрд░ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╕рдВрднрд╡ рд╣реИред CalcViewModel StandardCalculatorViewModel.cpp 529
void StandardCalculatorViewModel::HandleUpdatedOperandData(Command cmdenum) { .... wchar_t* temp = new wchar_t[100]; .... if (commandIndex == 0) { delete [] temp; return; } .... length = m_selectedExpressionLastData->Length() + 1; if (length > 50) { return; } .... String^ updatedData = ref new String(temp); UpdateOperand(m_tokenPosition, updatedData); displayExpressionToken->Token = updatedData; IsOperandUpdatedUsingViewModel = true; displayExpressionToken->CommandIndex = commandIndex; }
рдЕрд╕реНрдерд╛рдпреА рд╕реВрдЪрдХ 100 рддрддреНрд╡реЛрдВ рдХреЗ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рд╕рд░рдгреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрдореЛрд░реА рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдЬрд╛рд░реА рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрдмрдХрд┐ рдмрд╛рдХреА рд╕рднреА рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрднреА рднреА C ++ рдХреЛрдб рдореЗрдВ рдмрдЧ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдорд╛рдпрд╛рд╡реА рдЕрдкрд╡рд╛рдж
V702 рдХрдХреНрд╖рд╛рдПрдВ рд╣рдореЗрд╢рд╛ std :: рдЕрдкрд╡рд╛рдж (рдФрд░ рдПрдХ рдЬреИрд╕реЗ) рд╕реЗ 'рдкрдмреНрд▓рд┐рдХ' рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд╛рд▓реА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП (рдХреЛрдИ рднреА рдХреАрд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕реЗ 'рдирд┐рдЬреА' рдореЗрдВ рдбрд┐рдлреЙрд▓реНрдЯ рдХрд░рддрд╛ рд╣реИ)ред CalcManager CalcException.h 4
class CalcException : std::exception { public: CalcException(HRESULT hr) { m_hr = hr; } HRESULT GetException() { return m_hr; } private: HRESULT m_hr; };
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИ рдЬреЛ
std :: рдЕрдкрд╡рд╛рдж рд╡рд░реНрдЧ рд╕реЗ
рдирд┐рдЬреА рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рд╕рдВрд╢реЛрдзрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ)ред рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣реИрдВрдбрд▓рд░
рдХреИрд▓рдХрд╕реЗрдкреНрд╢рди рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдЧрд╛ рдЬрдм рдЬреЗрдиреЗрд░рд┐рдХ
рдПрд╕рдЯреАрдбреА рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА
рдЬрд╛рдПрдЧреА : рдЕрдкрд╡рд╛рдж рдХреЗ рдмрд╛рдж рд╕реЗ рдирд┐рдЬреА рд╡рд┐рд░рд╛рд╕рдд рдирд┐рд╖рд┐рджреНрдз рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдордирд╛ рдХрд░рддрд╛ рд╣реИред
рдЫреВрдЯрд╛ рд╣реБрдЖ рджрд┐рди
V719 рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ 'DateUnit' рдПрдирдо: рдбреЗ рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред CalcViewModel DateCalculator.cpp 279
public enum class _Enum_is_bitflag_ DateUnit { Year = 0x01, Month = 0x02, Week = 0x04, Day = 0x08 }; Windows::Globalization::Calendar^ m_calendar; DateTime DateCalculationEngine::AdjustCalendarDate(Windows::Foundation::DateTime date, DateUnit dateUnit, int difference) { m_calendarтЖТSetDateTime(date); switch (dateUnit) { case DateUnit::Year: { .... m_calendar->AddYears(difference); m_calendar->ChangeCalendarSystem(currentCalendarSystem); break; } case DateUnit::Month: m_calendar->AddMonths(difference); break; case DateUnit::Week: m_calendar->AddWeeks(difference); break; } return m_calendar->GetDateTime(); }
рдпрд╣ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд╣реИ рдХрд┐ рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдХреЛрдИ
DateUnit :: Day рдХреЗрд╕ рдирд╣реАрдВ рд╣реИред рдЙрд╕рдХреЗ рдХрд╛рд░рдг, рджрд┐рди рдХрд╛ рдорд╛рди рдХреИрд▓реЗрдВрдбрд░ (
m_calendar рдЪрд░) рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреИрд▓реЗрдВрдбрд░ рдореЗрдВ
AddDays рд╡рд┐рдзрд┐ рд╣реИред
рдПрдХ рдЕрдиреНрдп рдЧрдгрдирд╛ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд╕рдВрджрд┐рдЧреНрдз рдорд╛рдорд▓реЗ:
- V719 рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ 'eANGLE_TYPE' рдПрдирдо рдХреЗ рд╕рднреА рдорд╛рди рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ: ANGLE_RADред CalcManager trans.cpp 109
- V719 рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ 'eANGLE_TYPE' рдПрдирдо рдХреЗ рд╕рднреА рдорд╛рди рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ: ANGLE_RADред CalcManager trans.cpp 204
- V719 рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ 'eANGLE_TYPE' рдПрдирдо рдХреЗ рд╕рднреА рдорд╛рди рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ: ANGLE_RADред CalcManager trans.cpp 276
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рдВрджрд┐рдЧреНрдз рддреБрд▓рдирд╛
V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: рдЕрдиреБрдкрд╛рдд == рджрд╣рд▓реАрдЬред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА) <рдПрдкреНрд╕рд┐рд▓реЙрдиред рдХреИрд▓рдХреНрдпреВрд▓реЗрдЯрд░ AspectRatioTrigger.cpp 80
void AspectRatioTrigger::UpdateIsActive(Size sourceSize) { double numerator, denominator; .... bool isActive = false; if (denominator > 0) { double ratio = numerator / denominator; double threshold = abs(Threshold); isActive = ((ratio > threshold) || (ActiveIfEqual && (ratio == threshold))); } SetActive(isActive); }
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рд╕рдВрджрд┐рдЧреНрдз рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
рдЕрдиреБрдкрд╛рдд == рд╕реАрдорд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ред рдпреЗ рдЪрд░
рджреЛрд╣рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП, рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд╛рди рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдареАрдХ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рдЕрдиреБрдкрд╛рдд рдЪрд░ рдХрд╛ рдореВрд▓реНрдп рдПрдХ рд╡рд┐рднрд╛рдЬрди рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред
рдХреЛрдб рдЬреИрд╕реЗ рдХрд┐ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЬреИрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЛ рдХреЗрд╡рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реВрдВ:
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА) <рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcManager UnitConverter.cpp 752
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: рд╕реНрдЯреЛрдб (рд░рд╛рдЙрдВрдбреЗрдбрд╕реНрдЯреНрд░рд┐рдВрдЧ)! = 0.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА)> рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcManager UnitConverter.cpp 778
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА) <рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcManager UnitConverter.cpp 790
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: рд╕реНрдЯреЛрдб (рд░рд╛рдЙрдВрдбреЗрдбрд╕реНрдЯреНрд░рд┐рдВрдЧ)! = 0.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА)> рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcManager UnitConverter.cpp 820
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: рд░реВрдкрд╛рдВрддрд░рдгрдЯреЗрдмрд▓ [m_toType] .ratio == 1.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА) <рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcManager UnitConverter.cpp 980
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: рдХрдирд╡рд░реНрдЬрд╝рдирдЯреЗрдмрд▓ [m_toType] .offset == 0.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА) <рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcManager UnitConverter.cpp 980
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: returnValue! = 0. рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА)> рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcManager UnitConverter.cpp 1000
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: sizeToUse! = 0.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА)> рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcViewModel LocalizationService.cpp 270
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: sizeToUse! = 0.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА)> рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcViewModel LocalizationService.cpp 289
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: sizeToUse! = 0.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА)> рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcViewModel LocalizationService.cpp 308
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: sizeToUse! = 0.0ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА)> рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcViewModel LocalizationService.cpp 327
- V550 рдПрдХ рд╡рд┐рд╖рдо рд╕рдЯреАрдХ рддреБрд▓рдирд╛: stod (stringToLocalize) == 0. рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдлрд╝реИрдмреНрд╕ (рдП - рдмреА) <рдПрдкреНрд╕рд┐рд▓реЙрдиред CalcViewModel UnitConverterViewModel.cpp 388
рд╕рдВрджрд┐рдЧреНрдз рдХрд╛рд░реНрдп рдХреНрд░рдо
V1020 рдлрд╝рдВрдХреНрд╢рди 'TraceLogger :: GetInstance ()ред LogNewWindowCreationEnd' рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдпрд╛ред рдЪреЗрдХ рд▓рд╛рдЗрдиреЗрдВ: 396, 375ред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдРрдкред xaml.cpp 396
void App::OnAppLaunch(IActivatedEventArgs^ args, String^ argument) { .... if (!m_preLaunched) { auto newCoreAppView = CoreApplication::CreateNewView(); newCoreAppView->Dispatcher->RunAsync(....([....]() { TraceLogger::GetInstance().LogNewWindowCreationBegin(....);
рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ
V1020 рдХреЛрдб рдмреНрд▓реЙрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдкрддрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ
LogNewWindowCreationBegin рдФрд░
LogNewWindowCreationEnd рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд▓реЙрдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдФрд░ рдмреНрд▓реЙрдХ рд╣реЛрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ
LogNewWindowCreationEnd рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ рддрднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рд▓рдЧрддрд╛ рд╣реИред
рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкрд░реАрдХреНрд╖рдг
V621 'рдСрдкрд░реЗрдЯрд░' рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд▓реВрдк рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред CalculatorUnitTests UnitConverterViewModelUnitTests.cpp 500
public enum class NumbersAndOperatorsEnum { .... Add = (int) CM::Command::CommandADD,
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рд▓реВрдк рдХреЗ
рд▓рд┐рдП рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рддреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реВрдк рдХрд╛рдЙрдВрдЯрд░
рдмрдЯрди (93) рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рд╢реБрд░реВ рд╕реЗ рд╣реА рдЕрдВрддрд┐рдо рдореВрд▓реНрдп (0) рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
V760 рдкрд╛рда рдХреЗ рджреЛ рд╕рдорд╛рди рдЦрдВрдб рдкрд╛рдП рдЧрдПред рджреВрд╕рд░рд╛ рдмреНрд▓реЙрдХ 688 рд▓рд╛рдЗрди рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
TEST_METHOD(TestSwitchAndReselectCurrentlyActiveValueDoesNothing) { shared_ptr<UnitConverterMock> mock = make_shared<UnitConverterMock>(); VM::UnitConverterViewModel vm(mock); const WCHAR * vFrom = L"1", *vTo = L"234"; vm.UpdateDisplay(vFrom, vTo); vm.Value2Active = true;
рдПрдХ рдФрд░ рд╕рдВрджрд┐рдЧреНрдз рдкрд░реАрдХреНрд╖рдгред рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рджреЛ рд╕рдорд╛рди рдХреЛрдб рдЕрдВрд╢реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЙрдкрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред
V601 'рдЧрд▓рдд' рдорд╛рди рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдирд┐рд╣рд┐рдд рд╣реИред рджреВрд╕рд░реЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдпреВрдиреАрдЯреИрдЯреНрд╕ рдХреИрд▓реНрд╕рдЗрдиреНрдкреБрдЯрдкреБрдЯрдЯреЗрд╕реНрдЯред 352
Rational CalcInput::ToRational(uint32_t radix, int32_t precision) { .... } TEST_METHOD(ToRational) { .... auto rat = m_calcInput.ToRational(10, false); .... }
ToRational рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреВрд▓рд┐рдпрди рдорд╛рди рдХреЗ рд╕рд╛рде
рдЧрд▓рдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░
int32_t рдкреНрд░рдХрд╛рд░ рдХрд╛
рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ
рд╕рдЯреАрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛
рд╣реИ ред
рдореИрдВрдиреЗ рдХреЛрдб рдХреЗ рдиреАрдЪреЗ рдорд╛рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рддрдм
рд╕реНрдЯреНрд░рд┐рдВрдЧрд░реВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
PRAT StringToRat(...., int32_t precision) { .... }
рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж
StringToNumber :
PNUMBER StringToNumber(...., int32_t precision) { .... stripzeroesnum(pnumret, precision); .... }
рдпрд╣рд╛рдВ рд▓рдХреНрд╖реНрдп рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рд╣реИ:
bool stripzeroesnum(_Inout_ PNUMBER pnum, long starting) { MANTTYPE *pmant; long cdigits; bool fstrip = false; pmant=pnum->mant; cdigits=pnum->cdigit; if ( cdigits > starting )
рд╕рдЯреАрдХ рдЪрд░ рдХреЛ рдЕрдм
рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
cdigits> рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рднрд╛рдЧ рд▓реЗ
рд░рд╣рд╛ рд╣реИ , рдЬреЛ рдмрд╣реБрдд рд╣реА рд╕рдВрджрд┐рдЧреНрдз рд╣реИ рдХреНрдпреЛрдВрдХрд┐
рдЭреВрдареА рдХреЛ рдореВрд▓ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдлрд╛рд▓рддреВрдкрди
V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: рдирдВрдмрд░рдЕрдВрдбрд░рдкрд░реЗрдЯрд░рдЗрдирдо :: рдХреЛрдИ рдирд╣реАрдВ! = Opред CalcViewModel UnitConverterViewModel.cpp 991
void UnitConverterViewModel::OnPaste(String^ stringToPaste, ViewMode mode) { .... NumbersAndOperatorsEnum op = MapCharacterToButtonId(*it, canSendNegate); if (NumbersAndOperatorsEnum::None != op)
рд╕реЗрд╢рди рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рддреБрд▓рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд░ рд░рд╣реЗ рдереЗред
V728 рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЬрд╛рдБрдЪ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдж '(A && B) || ((A &&! B) 'рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐' рдмреВрд▓ (рдП) == рдмреВрд▓ (рдмреА) 'рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреИрд▓рдХреНрдпреВрд▓реЗрдЯрд░ред xaml.cpp 239
void Calculator::AnimateCalculator(bool resultAnimate) { if (App::IsAnimationEnabled()) { m_doAnimate = true; m_resultAnimate = resultAnimate; if (((m_isLastAnimatedInScientific && IsScientific) || (!m_isLastAnimatedInScientific && !IsScientific)) && ((m_isLastAnimatedInProgrammer && IsProgrammer) || (!m_isLastAnimatedInProgrammer && !IsProgrammer))) { this->OnStoryboardCompleted(nullptr, nullptr); } } }
рдпрд╣ рд╡рд┐рд╢рд╛рд▓ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ 218 рд╡рд░реНрдг рд▓рдВрдмреА рдереА, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХрдИ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕реЗ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдФрд░, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ, рд╕реНрдкрд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
if ( m_isLastAnimatedInScientific == IsScientific && m_isLastAnimatedInProgrammer == IsProgrammer) { this->OnStoryboardCompleted(nullptr, nullptr); }
V524 рдпрд╣ рд╡рд┐рдЪрд┐рддреНрд░ рд╣реИ рдХрд┐ 'ConvertBack' рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╢рд░реАрд░ 'Convert' рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордХрдХреНрд╖ рд╣реИред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдмреВрд▓рд┐рдпрдирдЧреЗрдиреЗрд╢рдирдСрдиреНрдЯрд░.рдХреИрдк 24
Object^ BooleanNegationConverter::Convert(....) { (void) targetType;
рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдиреЗ рджреЛ рдкрд╣рдЪрд╛рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЙрдирдХреЗ рдирд╛рдо,
Convert рдФрд░
ConvertBack , рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ, рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЗ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмреЗрд╣рддрд░ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рд╖реНрдХрд░реНрд╖
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ Microsoft рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬрд┐рд╕реЗ рдУрдкрди-рд╕реЛрд░реНрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдиреЗ рд╣рдореЗрдВ рд╕реНрдЯреЗрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджрд┐рдпрд╛ - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдЯреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рднреАред Microsoft, Google, Amazon рдЖрджрд┐ рдЬреИрд╕реА рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпрд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдирд┐рдпреБрдХреНрдд рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрднреА рднреА рдЗрдВрд╕рд╛рди рд╣реИрдВ рдЬреЛ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдбреЗрд╡рд▓рдкрд░ рдЯреАрдо рдХреЛ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рд╛рдзрди рд╣реИред
рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ "рдХреИрд▓рдХреБрд▓реЗрдЯрд░" рдкрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред :-)