Форум программистов, компьютерный форум CyberForum.ru

Рефакторинг: функция с большим количеством параметров - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Аналог декоратора Python или ненормальное програмирование http://www.cyberforum.ru/cpp/thread1791700.html
Всем привет. Часто приходится делать одну и ту же вещь в коде: DWORD time = ::GetTickCount(); bool result = SomeFunc(); while(!bOK && ::GetTickCount() - time < DEFINED_TIMEOUT) result = SomeFunc(); Что же тут происходит? Есть некая ф-ция, пусть будет SomeFunc. Мы должны иногда выполнять ее пока не достигнем нужного результата или пока не выйдет время таймаута. Например, ф-ция...
C++ Как из wav файла получить читаемый txt, а потом обратно Извиняюсь если не совсем по адресу, но я уверен что местные читатели знают как это сделать. Суть моей проблемы. Я хочу смоделировать звучание гитарной струны при помощи физических формул. 1.)Для этого мне надо вычислить и вписать в столбик длину звуковой волны в каждый момент времени и перевести в wav. 2.)Перевести звук реальной струны wav в txt и сравнить с получившимся у меня. http://www.cyberforum.ru/cpp/thread1791304.html
C++ Остановка рабочей функции потока
День добрый. Задумался над таким вот вопросом. Допустим, у меня есть две функции get(StopObj obj) и process(StopObj obj). Эти две функции я запускаю из нескольких потоков. Сам StopObj obj это некий сигнал функциям, что работу стоит прервать. Делают ли так вообще? При этом достаточно ли в StopObj добавить флаг типа bool, по которому эти функции будут определять нужно ли преждевременно завершать...
C++ Variadic templates, или variadic constructor в шаблоне, или прочие извращения
Здравствуйте. Есть такое Wrapper<Obj> w; Wrapper - обертка над объектом того класса, который ему скормят (в данном случае - Obj). Сложная обертка со своей жизнью и делами. Одну из вещей, которая делает эта обертка - конструирует объект класса Obj. Все было прекрасно, до той поры, пока все классы, которые скармливались этой обертке, имели конструктор по-умолчанию. Но возникла задача...
C++ Как сделать ftp клиент через libcurl? http://www.cyberforum.ru/cpp/thread1788904.html
добрый день! подскажите, пожалуйста, как сделать ftp клиент через libcurl? а точнее, мне нужно видеть файлы, находящиеся на сервере. у меня получилось подключиться к своему серверу и залить информацию о хранящихся файлах в один чаровский массив, но там много не нужной информации. есть вариант парсить массив, выковыривая названия файлов и их тип, но очень уж грязно. не работал никто? как можно...
C++ Освобождение памяти после std:bind Что имею: - CentOS - gcc 4.8 - valgrind Что делаю - С помощью valgrind устраняю утечки - Если приложение остановлено штатно, то все утечки я устранил - Если останавливаю с помощью ctrl-c, valgrind рапортует об куче неосвобожденной памяти. Скорее всего, нужно в деструкторах освободить руками. подробнее

Показать сообщение отдельно
xTr1m
29 / 29 / 8
Регистрация: 06.03.2013
Сообщений: 151

Рефакторинг: функция с большим количеством параметров - C++

10.08.2016, 15:45. Просмотров 284. Ответов 2
Метки (Все метки)

День добрый. Скажите плз, гуру рефакторинга. Вот есть функция и в нее передаётся туча параметров. Как лучше исправить ситуацию? На ум приходит

а) Создание некой структуры, которая будет содержать все эти поля. Заполняем структуру и передаём ее в фукнцию
б) Большую часть переменных сделать полями класса, к которому относится функция.

Мне, честно, не нравится ни первый, ни второй вариант. На ум приходит лишь какой-то совсем аццкий рефакторинг, который бы поменял функцию целиком. А какие еще бывают варианты
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru