| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] |
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0002592 | SAS.Планета | Рефакторинг / Refactoring | public | 09-01-2015 11:23 | 09-01-2015 20:27 |
|
| Reporter | vdemidov | |
| Assigned To | vdemidov | |
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | resolved | Resolution | fixed | |
| Platform | | OS | | OS Version | |
| Product Version | 140505 | |
| Target Version | 150915 | Fixed in Version | 150915 | |
|
| Summary | 0002592: В интерфейсе ICoordConverter разделить функции проверки и валидацию координат |
| Description | Сейчас в ICoordConverter есть куча функций Check* которые выполняют проверку и валидацию координат. То есть они получают параметры по ссылке и подгоняют их к допустимому виду и дополнительно возвращают логический результат было ли какое-то изменение. Но в большинстве случаев требуется что-то одно или проверка, или валидация. Все бы ничего, но так как параметры у этих функций передаются по ссылке, то в случае когда нужна просто проверка приходится заводить локальные переменные, а это несколько громоздко.
Поэтому нужно сделать функции Validate* c параметрами по ссылке и функции Check* c константными параметрами. |
| Steps To Reproduce | Менять интерфейс можно примерно в таком порядке:
1. Переименовываем функций Check* с именами Validate* и исправляем все места их использования.
2. Добавляем новые функции Check* с константными параметрами
3. Временно преобразовываем функции Validate* в процедуры и по ошибкам компилятора находим все места где используется возвращаемое значение и заменяем на использование функции Check*.
4. Если найдутся места, где нужна одновременно и валидация, и проверка, то преобразовываем назад процедуры Validate* в функции. |
| Tags | No tags attached. |
|
| Attached Files | |
|