refactoring- все статьи тега
Как отрефакторить это дублирование кода 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 файлы. Трудно понять, что все делает (или связано) или выяснить зависимости. Что бы вы предложили для визуализации структуры функций, например, какие функции вызываются из которых и в какой последовательности? ...