Is it possible to get rid of code repetition and speed up its execution?Refactoring a loop through repetitive registersConverting from binary to unaryA non-static Sieve of Eratosthenes class, version 1Automated collage toolLeetcode 317: Shortest distance from all buildingsTask Wrappers for starting operation only if previous task has finishedMapper made specifically to work with DapperLINQ-ifying Colour Generation from StringsAdjusting business logic conveniently through JSON and expression treesIterating over combinations
Instead of Universal Basic Income, why not Universal Basic NEEDS?
Hacking a Safe Lock after 3 tries
Welcoming 2019 Pi day: How to draw the letter π?
Interplanetary conflict, some disease destroys the ability to understand or appreciate music
Have researchers managed to "reverse time"? If so, what does that mean for physics?
What is the significance behind "40 days" that often appears in the Bible?
How to explain that I do not want to visit a country due to personal safety concern?
Co-worker team leader wants to inject his friend's awful software into our development. What should I say to our common boss?
How to simplify this time periods definition interface?
Brexit - No Deal Rejection
Time travel from stationary position?
Use of undefined constant bloginfo
Why is the President allowed to veto a cancellation of emergency powers?
Most cost effective thermostat setting: consistent temperature vs. lowest temperature possible
How to read the value of this capacitor?
If curse and magic is two sides of the same coin, why the former is forbidden?
Can a druid choose the size of its wild shape beast?
How Could an Airship Be Repaired Mid-Flight
Python if-else code style for reduced code for rounding floats
Should we release the security issues we found in our product as CVE or we can just update those on weekly release notes?
Why does Bach not break the rules here?
What did Alexander Pope mean by "Expletives their feeble Aid do join"?
Do the common programs (for example: "ls", "cat") in Linux and BSD come from the same source code?
Is it possible to upcast ritual spells?
Is it possible to get rid of code repetition and speed up its execution?
Refactoring a loop through repetitive registersConverting from binary to unaryA non-static Sieve of Eratosthenes class, version 1Automated collage toolLeetcode 317: Shortest distance from all buildingsTask Wrappers for starting operation only if previous task has finishedMapper made specifically to work with DapperLINQ-ifying Colour Generation from StringsAdjusting business logic conveniently through JSON and expression treesIterating over combinations
$begingroup$
I do not like the repetition of the code and the use of slow LINQ. Cannot change search methods. It is necessary to optimize the code in this context. Thanks for any help.
public static IEnumerable<ElasticVideoMaterial> FilerResults(FilterData data)
List<ElasticVideoMaterial> result = new List<ElasticVideoMaterial>();
if (data.Countries != null && data.Countries.Any())
string countries = string.Join(",", data.Countries);
var resultByCountries = MotusElasticsearch.SearchByCountrieName(countries);
if(resultByCountries.Any())
result.AddRange(resultByCountries);
if (data.Genres != null && data.Genres.Any())
string genres = string.Join(",", data.Genres);
var resultByGenres = MotusElasticsearch.SearchByGenreTitle(genres);
if (result.Any() && resultByGenres.Any())
result.Intersect(resultByGenres);
else if (resultByGenres.Any())
result.AddRange(resultByGenres);
if (data.Translations != null && data.Translations.Any())
string translations = string.Join(",", data.Translations);
var resultByTranslations = MotusElasticsearch.SearchByTranslationTitle(translations);
if (result.Any() && resultByTranslations.Any())
result.Intersect(resultByTranslations);
else if (resultByTranslations.Any())
result.AddRange(resultByTranslations);
if (data.MinImdb != 0)
var resultByImdb = MotusElasticsearch.SearchByIMDB(data.MinImdb);
if (result.Any() && resultByImdb.Any())
result.Intersect(resultByImdb);
else if (resultByImdb.Any())
result.AddRange(resultByImdb);
if (data.MinKinopoisk != 0)
var resultByKinopoisk = MotusElasticsearch.SearchByKinopoiskRating(data.MinKinopoisk);
if (result.Any() && resultByKinopoisk.Any())
result.Intersect(resultByKinopoisk);
else if (resultByKinopoisk.Any())
result.AddRange(resultByKinopoisk);
if (data.MaxReliseDateValue != 0)
var resultByReliseDate = MotusElasticsearch.SearchByReliseDate(data.MinReliseDateValue,data.MaxReliseDateValue);
if (result.Any() && resultByReliseDate.Any())
result.Intersect(resultByReliseDate);
else if (resultByReliseDate.Any())
result.AddRange(resultByReliseDate);
return result;
c# .net
New contributor
$endgroup$
add a comment |
$begingroup$
I do not like the repetition of the code and the use of slow LINQ. Cannot change search methods. It is necessary to optimize the code in this context. Thanks for any help.
public static IEnumerable<ElasticVideoMaterial> FilerResults(FilterData data)
List<ElasticVideoMaterial> result = new List<ElasticVideoMaterial>();
if (data.Countries != null && data.Countries.Any())
string countries = string.Join(",", data.Countries);
var resultByCountries = MotusElasticsearch.SearchByCountrieName(countries);
if(resultByCountries.Any())
result.AddRange(resultByCountries);
if (data.Genres != null && data.Genres.Any())
string genres = string.Join(",", data.Genres);
var resultByGenres = MotusElasticsearch.SearchByGenreTitle(genres);
if (result.Any() && resultByGenres.Any())
result.Intersect(resultByGenres);
else if (resultByGenres.Any())
result.AddRange(resultByGenres);
if (data.Translations != null && data.Translations.Any())
string translations = string.Join(",", data.Translations);
var resultByTranslations = MotusElasticsearch.SearchByTranslationTitle(translations);
if (result.Any() && resultByTranslations.Any())
result.Intersect(resultByTranslations);
else if (resultByTranslations.Any())
result.AddRange(resultByTranslations);
if (data.MinImdb != 0)
var resultByImdb = MotusElasticsearch.SearchByIMDB(data.MinImdb);
if (result.Any() && resultByImdb.Any())
result.Intersect(resultByImdb);
else if (resultByImdb.Any())
result.AddRange(resultByImdb);
if (data.MinKinopoisk != 0)
var resultByKinopoisk = MotusElasticsearch.SearchByKinopoiskRating(data.MinKinopoisk);
if (result.Any() && resultByKinopoisk.Any())
result.Intersect(resultByKinopoisk);
else if (resultByKinopoisk.Any())
result.AddRange(resultByKinopoisk);
if (data.MaxReliseDateValue != 0)
var resultByReliseDate = MotusElasticsearch.SearchByReliseDate(data.MinReliseDateValue,data.MaxReliseDateValue);
if (result.Any() && resultByReliseDate.Any())
result.Intersect(resultByReliseDate);
else if (resultByReliseDate.Any())
result.AddRange(resultByReliseDate);
return result;
c# .net
New contributor
$endgroup$
add a comment |
$begingroup$
I do not like the repetition of the code and the use of slow LINQ. Cannot change search methods. It is necessary to optimize the code in this context. Thanks for any help.
public static IEnumerable<ElasticVideoMaterial> FilerResults(FilterData data)
List<ElasticVideoMaterial> result = new List<ElasticVideoMaterial>();
if (data.Countries != null && data.Countries.Any())
string countries = string.Join(",", data.Countries);
var resultByCountries = MotusElasticsearch.SearchByCountrieName(countries);
if(resultByCountries.Any())
result.AddRange(resultByCountries);
if (data.Genres != null && data.Genres.Any())
string genres = string.Join(",", data.Genres);
var resultByGenres = MotusElasticsearch.SearchByGenreTitle(genres);
if (result.Any() && resultByGenres.Any())
result.Intersect(resultByGenres);
else if (resultByGenres.Any())
result.AddRange(resultByGenres);
if (data.Translations != null && data.Translations.Any())
string translations = string.Join(",", data.Translations);
var resultByTranslations = MotusElasticsearch.SearchByTranslationTitle(translations);
if (result.Any() && resultByTranslations.Any())
result.Intersect(resultByTranslations);
else if (resultByTranslations.Any())
result.AddRange(resultByTranslations);
if (data.MinImdb != 0)
var resultByImdb = MotusElasticsearch.SearchByIMDB(data.MinImdb);
if (result.Any() && resultByImdb.Any())
result.Intersect(resultByImdb);
else if (resultByImdb.Any())
result.AddRange(resultByImdb);
if (data.MinKinopoisk != 0)
var resultByKinopoisk = MotusElasticsearch.SearchByKinopoiskRating(data.MinKinopoisk);
if (result.Any() && resultByKinopoisk.Any())
result.Intersect(resultByKinopoisk);
else if (resultByKinopoisk.Any())
result.AddRange(resultByKinopoisk);
if (data.MaxReliseDateValue != 0)
var resultByReliseDate = MotusElasticsearch.SearchByReliseDate(data.MinReliseDateValue,data.MaxReliseDateValue);
if (result.Any() && resultByReliseDate.Any())
result.Intersect(resultByReliseDate);
else if (resultByReliseDate.Any())
result.AddRange(resultByReliseDate);
return result;
c# .net
New contributor
$endgroup$
I do not like the repetition of the code and the use of slow LINQ. Cannot change search methods. It is necessary to optimize the code in this context. Thanks for any help.
public static IEnumerable<ElasticVideoMaterial> FilerResults(FilterData data)
List<ElasticVideoMaterial> result = new List<ElasticVideoMaterial>();
if (data.Countries != null && data.Countries.Any())
string countries = string.Join(",", data.Countries);
var resultByCountries = MotusElasticsearch.SearchByCountrieName(countries);
if(resultByCountries.Any())
result.AddRange(resultByCountries);
if (data.Genres != null && data.Genres.Any())
string genres = string.Join(",", data.Genres);
var resultByGenres = MotusElasticsearch.SearchByGenreTitle(genres);
if (result.Any() && resultByGenres.Any())
result.Intersect(resultByGenres);
else if (resultByGenres.Any())
result.AddRange(resultByGenres);
if (data.Translations != null && data.Translations.Any())
string translations = string.Join(",", data.Translations);
var resultByTranslations = MotusElasticsearch.SearchByTranslationTitle(translations);
if (result.Any() && resultByTranslations.Any())
result.Intersect(resultByTranslations);
else if (resultByTranslations.Any())
result.AddRange(resultByTranslations);
if (data.MinImdb != 0)
var resultByImdb = MotusElasticsearch.SearchByIMDB(data.MinImdb);
if (result.Any() && resultByImdb.Any())
result.Intersect(resultByImdb);
else if (resultByImdb.Any())
result.AddRange(resultByImdb);
if (data.MinKinopoisk != 0)
var resultByKinopoisk = MotusElasticsearch.SearchByKinopoiskRating(data.MinKinopoisk);
if (result.Any() && resultByKinopoisk.Any())
result.Intersect(resultByKinopoisk);
else if (resultByKinopoisk.Any())
result.AddRange(resultByKinopoisk);
if (data.MaxReliseDateValue != 0)
var resultByReliseDate = MotusElasticsearch.SearchByReliseDate(data.MinReliseDateValue,data.MaxReliseDateValue);
if (result.Any() && resultByReliseDate.Any())
result.Intersect(resultByReliseDate);
else if (resultByReliseDate.Any())
result.AddRange(resultByReliseDate);
return result;
c# .net
c# .net
New contributor
New contributor
New contributor
asked 5 hours ago
jhllkl kuylhjhllkl kuylh
1
1
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "196"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
jhllkl kuylh is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215531%2fis-it-possible-to-get-rid-of-code-repetition-and-speed-up-its-execution%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
jhllkl kuylh is a new contributor. Be nice, and check out our Code of Conduct.
jhllkl kuylh is a new contributor. Be nice, and check out our Code of Conduct.
jhllkl kuylh is a new contributor. Be nice, and check out our Code of Conduct.
jhllkl kuylh is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215531%2fis-it-possible-to-get-rid-of-code-repetition-and-speed-up-its-execution%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown