Цитата:
Сообщение от
kashperuk
Если бы дело было только в этом.
Это изменение отревьюило 2 человека.. То есть втроем, с учетом того что сам девелопер тоже правил, они не смогли нормально скобочки сосчитать, и их никак не удивила эта странная констркция со сравнением двух энумов..
Не в скобках дело, а в полном абзаце мозга. Никакие тесты не помогут если мы проверяем потенциально на ноль одно значение, а делим на другое. При втором вызове функция может возвратить другое значение. C вероятностью практически нулевой конечно, но мы же программисты или где
X++:
AmountMST cost = this.itemPrice(ModuleInventPurchSales::Invent);
AmountMST sales = this.itemPrice(ModuleInventPurchSales::Sales);
...
//Avoid division by zero
if (sales == 0)
{
mcrCatalogAreaAnalysisTmp.CogsPercent = 0;
}
else
{
mcrCatalogAreaAnalysisTmp.CogsPercent = cost / sales;
}