refactoring- все статьи тега


4 принципа качественного рефакторинга функций

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

4 простых способа рефакторинга кода

Рефакторинг — это процесс обновления существующего кода без изменения его функционала. Существует множество причин рефакторить код, включая производительность, читаемость и масштабируемость в будущем. Рефакторинг — это важная часть процесса для любого кодера, не только для продвинутых разработчиков. Для менее опытной аудитории рефакторинг является...

Как отрефакторить это дублирование кода LINQ?

Я пытаюсь выяснить, как рефакторинг этого кода LINQ красиво. Этот код и другие подобные коды повторяются в том же файле, а также в других файлах. Иногда данные, которыми манипулируют, идентичны, а иногда данные меняются, и логика остается той же самой. Вот пример дублированной логики, работающей на различных полях различных объектов. public IEnumerable<FooDataItem> GetDataItemsByColor(IEnumerable<BarDto> dtos) { double totalNumber = dtos.Where(x => x.Color != null).Sum(p =&g ...

jQuery: рефакторинг ленивого кода

Я написал такую функцию, которая включает и выключает элементы: // category filter $('.category-filter').click(function() { var category = $(this).attr('data-category'); $('.category-filter').each(function() { if ($(this).attr('data-category').indexOf(category) >= 0) { $(this).removeClass('label-default').addClass('label-success').fadeIn('fast'); $(this).click(function() { $(this).removeClass('label-success').addClass('label-default').fadeIn('fast ...

Рефакторинг структуры if-else-if

Как я могу изменить следующий код C++? Я использую C++11 в своей программе void f(int a, int b, int c, int d, int e, int f) { // MAX1..MAX6 are constants, N1..N6 are constants if( a > MAX1) { .. code block 1.. } else if(b > MAX2) { .. code block 2.. } else if(c > MAX3) { .. code block .. } else if(d > MAX4) { .. code block 3 .. } else if(e > MAX5) { .. code block 4 .. } else if(f > MAX6) { ...

Как найти неиспользуемый / мертвый код в проектах java

какие инструменты вы используете для поиска неиспользуемого / мертвого кода в больших проектах java? Наш продукт находится в разработке в течение нескольких лет, и это становится очень трудно вручную обнаружить код, который больше не используется. Однако мы стараемся удалить как можно больше неиспользуемого кода. предложения по общим стратегиям / методам (кроме конкретных инструментов) также приветствуются. Edit: обратите внимание, что мы уже используем инструменты покрытия кода (Clover, Intel ...

Найти и заменить Android studio

есть ли способ найти и заменить все вхождения слова во всем проекте( а не только один класс с помощью рефакторинга -> переименовать), а также поддерживать case, либо в Android studio, либо с помощью сценария командной строки? например, поставщик должен перейти к торговцу, поставщик - > торговец, поставщик - > торговец. Мой босс хочет, чтобы я изменил все экземпляры поставщика с продавцом для проекта, над которым я работаю. Я делаю это уже около часа, и я знаю, что я трачу свое время. П ...

Найти неиспользуемый код [закрыт]

Я должен рефакторинг большого приложения C#, и я нашел много функций, которые никогда не используются. Как я могу проверить неиспользуемый код, чтобы я мог удалить все неиспользуемые функции? ...

Каковы некоторые альтернативы ReSharper? [закрытый]

Я рассматриваю возможность покупки ReSharper лицензия, но есть ли какие-либо возможные альтернативы ReSharper и как бы вы оценили их по сравнению с ReSharper? Это не обязательно должна быть бесплатная альтернатива, но я просто хотел бы знать, насколько хорош аналог. ...

Модульное тестирование кода на C++ - инструменты и методология [закрыто]

Я работаю над большой системой c++, которая находится в разработке уже несколько лет. В рамках усилий по улучшению качества существующего кода мы задействовали большой долгосрочный проект рефакторинга. вы знаете хороший инструмент, который может помочь мне написать юнит-тесты в C++? Может быть, что-то похожее на Junit или Nunit? кто может дать хороший совет по методологии написания модульных тестов для модулей, которые были написаны без модульного тестирования в не возражаете? ...

Когда функция слишком длинная? [закрытый]

35 линий, 55 линий, 100 линий, 300 линий? Когда вы должны начать разбивать его на части? Я спрашиваю, потому что у меня есть функция с 60 строками (включая комментарии) и думал о том, чтобы разбить ее на части. long_function(){ ... } в: small_function_1(){...} small_function_2(){...} small_function_3(){...} функции не будут использоваться за пределами long_function, делая меньше функций означает более вызовов функций и т. д. когда вы разбить функцию на более мелкие? Зачем? методы должн ...

Переименование класса в Xcode: рефакторинг ... неактивен (отключен). Зачем?

Почему рефакторинг... серый (отключен) в Xcode? Я хотел бы переименовать класс. ...

Почему неиспользуемый код должен быть удален?

Я много раз слышал, что неиспользуемый код должен быть удален из проекта. Однако мне непонятно "почему?". мои очки за то, что не удалили это: код уже написан, и усилия тратятся код может быть протестирован на синтетической и реальной среде если они хорошо организованы (сгруппированы, отдельный пакет, слабо связаны и т. д.), Это не мешает вам в общем анализе кода или рефакторинге код может быть используется в будущем при удалении, автор может чувствовать себя некомфортно может кто-нибудь объя ...

Переименовать или изменить файлы в Xcode

можно ли переименовать / рефакторинг файла класса и переименовать фактический файл на диске? Если да, то как я могу это сделать? ...

Рефакторинг в C++ 11

учитывая новый набор инструментов, предоставленный c++ множеством программистов, направленных на упрощение кода, выразительность, эффективность, просматривайте свой старый код и делайте настройки (некоторые бессмысленные, некоторые успешные) для достижения своих целей. Пытаясь не терять слишком много времени на такие труды и просто делать ненавязчивые и самодостаточные изменения, каковы лучшие практики? позвольте мне вычеркнуть очевидное: использовать авто запустить циклы на основе итератор ...

Есть ли элегантный способ удалить нули при преобразовании коллекции с помощью Guava?

у меня есть вопрос об упрощении кода обработки некоторых коллекций при использовании коллекций Google (обновление:гуавы). у меня есть куча" компьютерных "объектов, и я хочу в конечном итоге получить коллекцию их "идентификаторов ресурсов". это делается так: Collection<Computer> matchingComputers = findComputers(); Collection<String> resourceIds = Lists.newArrayList(Iterables.transform(matchingComputers, new Function<Computer, String>() { public String apply(Computer ...

Простой способ изменить порядок методов класса Java в IntelliJ?

есть ли более простой способ переупорядочения методов в исходном файле класса в IntelliJ, чем вырезание и вставка кода вручную? В настоящее время мне часто это нужно при рефакторинге устаревшего кода, например, для перемещения связанных методов близко друг к другу в исходном коде. в Eclipse AFAIK есть представление, похожее на представление структуры IntelliJ, где я могу перетаскивать методы. Однако это не работает в IntelliJ, и я не мог найти никаких подсказок с его помощью любой. Я использую ...

Как визуализировать структуру проекта в MATLAB? [закрытый]

Я стал владельцем нескольких тысяч строк кода Matlab, некоторые из них как >900 линейных функций и несколько каталогов, полных function_name.m файлы. Трудно понять, что все делает (или связано) или выяснить зависимости. Что бы вы предложили для визуализации структуры функций, например, какие функции вызываются из которых и в какой последовательности? ...