Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2013, 13:01   #1
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Вопрос Рефакторинг кода

Добрый день, уважаемые. Нахожусь в процессе работы над довольно сложным программным проектом, который должен работать вместе с весьма специфичным оборудованием (тут создавал тему по одному из представителей этого оборудования, но так ответа и не дождался).
Как Вы понимаете, я не имею физической возможности подключать указанное оборудование к своей машине для отладки и поэтому приходится пользоваться некоторыми методами Экстремального программирования, что вызывает небольшие проблемы, в частности, помимо написания кода, необходимо одновременно делать его рефакторинг (в процессе разработки в силу невнимательности отдельные методы разрастаются до нескольких сотен строчек кода). Рефакторинг предполагает широкое использование unit-тестов, но как применить unit-тестирование для кода, который должен работать с оборудованием? Например, сегодня весь день сидел и занимался указанным процессом, теперь код читается очень-очень легко, но оттестировать его еще не успел и это вызывает некоторый страх.
Есть неплохой материал по рефакторингу кода в языке C#, расположенный ЗДЕСЬ. Понятно как проверить работоспособность вычислительного кода после рефакторинга, как проверить работу с устройством, если есть его эмуляторы, но как провести unit-тест, если эмуляторов просто нет? В указанном видео как раз и представлены примеры рефакторинга такого вида, но что Вы применяете в аналогичных моему случаях?
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 09.04.2013, 17:21   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Ничего не сделаешь, это сугубо мое мнение. Сам работаю со сторонними SDK и разным оборудованием. Нет возможности программно воспроизвести все ситуации, которые возникнут с реальным прибором ( потеря соединения, ошибки прошивки, разные SDK, разное железо и т.д.), никакие тесты это не компенсирую. Нельзя произвести глубокий рефакторинг кода, с переделкой архитектуры, и быть уверенным, что ошибок в новом коде нет, не протестировав код в условиях, близких к боевым. Тестами можно сравнивать результат работы программы и с ее версией до рефакторинга на некотором множестве входных значений.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RAD Studio XE2, глючат переходы и рефакторинг Hottabych Общие вопросы Delphi 7 03.02.2013 16:34
Пояснение кода aspen Общие вопросы C/C++ 0 22.10.2012 13:24
Распознавание Аски кода и скан кода MyLastHit Общие вопросы Delphi 8 06.12.2010 18:34
Разборка кода Safary Помощь студентам 8 28.11.2008 09:18
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51