Начал переводить в своей архитектуре свой собственный тип на тип данных Unit. Используются либо проценты, либо - целые числа.
Всё отлично работает за исключением одного - при попытке получить число из строки "2000" на выходе имею Unit 200 (с абсолютным типом, как я и ожидаю). Преобразование разбил и сейчас делаю следующим образом:
var str = Settings.Default.StrVolume[i];
var unit = str.ToUnit(null);
Из дебагера:
str "2000" string
unit {200} Ecng.Trading.BusinessEntities.Unit
评论 (3)
登录 或 创建账户, 登录或注册以发表评论
Причём если str = "2", то преобразование происходит также в 2.
С процентами работает без проблем в любом случае.
Багу нашел и исправил. Обернул юнит тестом, чтобы больше не краснеть из-за такой "хитрой" баги.
=) Мы не дадим подобным багам просочиться! Рано или поздно всё равно найдём.
Тестеры вообще очень и очень нужны в любой разработке. :) У нас в компании 3-5 тестеров + все программисты регулярно отсылают новые баги в баг-трекер систему. Будем и мы совместным трудом вылизывать наш любимый Stock# :)