hrntsm/Tunny

View on GitHub

Showing 185 of 198 total issues

Method HumanSliderInputOptimization has 9 arguments (exceeds 4 allowed). Consider refactoring.
Open

        private void HumanSliderInputOptimization(int nBatch, double timeout, string[] directions, dynamic sampler, dynamic storage, dynamic artifactBackend, out Parameter[] parameter, out TrialGrasshopperItems result, out StudyWrapper study)
Severity: Major
Found in Tunny/Solver/Algorithm.cs - About 1 hr to fix

    Method GetStudyDirections has 28 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

            public StudyDirection[] GetStudyDirections(int studyId)
            {
                if (_studies.TryGetValue(studyId, out Study.Study value))
                {
                    return value.Directions;
    Severity: Minor
    Found in Optuna/Storage/RDB/Storage.cs - About 1 hr to fix

      Method AddVariablesToFishEgg has 28 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

              private void AddVariablesToFishEgg(Dictionary<string, double[]> variableRange, IEnumerable<Dictionary<string, string>> csvData)
              {
      
                  foreach (Dictionary<string, string> data in csvData)
                  {
      Severity: Minor
      Found in Tunny/Component/Operation/ConstructFishEggByCsv.cs - About 1 hr to fix

        Method SetTrialUserAttr has 28 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                private static void SetTrialUserAttr(TrialGrasshopperItems result, TrialWrapper trial, OptimizationHandlingInfo optSet)
                {
                    TLog.MethodStart();
                    if (result.GeometryJson.Length != 0)
                    {
        Severity: Minor
        Found in Tunny/Solver/Algorithm.cs - About 1 hr to fix

          Function truncate has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
          Open

          def truncate(fig, study: Study) -> go.Figure:
              user_attr = study.trials[0].user_attrs
              has_geometry = "Geometry" in user_attr
              if has_geometry == False:
                  return fig
          Severity: Minor
          Found in Optuna/Visualization/Python/plot_pareto_front.py - About 1 hr to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          fig.update_layout(
              plot_bgcolor="white",
              xaxis=dict(
                  title="x+y",
                  showline=True,
          Severity: Major
          Found in Examples/Python/plot_with_coloring_of_results.py and 1 other location - About 1 hr to fix
          Examples/Python/plot_with_coloring_of_results.py on lines 55..79

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 39.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Method SetObjectives has 27 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                  private bool SetObjectives()
                  {
                      TLog.MethodStart();
                      if (_component.Params.Input[1].SourceCount == 0)
                      {
          Severity: Minor
          Found in Tunny/Util/GrasshopperInOut.cs - About 1 hr to fix

            Method TTDesignExplorerToolStripMenuItem_Click has 27 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                    private void TTDesignExplorerToolStripMenuItem_Click(object sender, EventArgs e)
                    {
                        TLog.MethodStart();
                        string settingsPath = TEnvVariables.OptimizeSettingsPath;
                        string storagePath = string.Empty;
            Severity: Minor
            Found in Tunny/Component/LoadingInstruction/RegisterTunnyToolbarItems.cs - About 1 hr to fix

              Method InstallPackages has 27 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                      private void InstallPackages(string[] packageList)
                      {
                          TLog.MethodStart();
                          int num = packageList.Length;
                          for (int i = 0; i < num; i++)
              Severity: Minor
              Found in Tunny/WPF/Common/PythonInstaller.cs - About 1 hr to fix

                Method InitializeObjectivesAndVariables has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                        private void InitializeObjectivesAndVariables()
                        {
                            Util.GrasshopperInOut ghIO = SharedItems.Component.GhInOut;
                            ObjectiveSettingItems = new ObservableCollection<ObjectiveSettingItem>();
                            foreach (string item in ghIO.Objectives.GetNickNames())
                Severity: Minor
                Found in Tunny/WPF/ViewModels/Optimize/OptimizeViewModel.cs - About 1 hr to fix

                  Method ProgressStatePropertiesTest has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          [Fact]
                          public void ProgressStatePropertiesTest()
                          {
                              var param = new List<Input.Parameter>();
                              double[][] bests = new double[1][];
                  Severity: Minor
                  Found in Tunny.CoreTests/Handler/ProgressStateTests.cs - About 1 hr to fix

                    Method FilterInputVariables has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                            private bool FilterInputVariables()
                            {
                                TLog.MethodStart();
                                var errorInputGuids = new List<Guid>();
                                foreach ((IGH_DocumentObject docObject, int _) in _inputGuids.Select((guid, i) => (_document.FindObject(guid, false), i)))
                    Severity: Minor
                    Found in Tunny/Util/GrasshopperInOut.cs - About 1 hr to fix

                      Consider simplifying this complex logical expression.
                      Open

                                  if (
                                      (samplerType == SamplerType.GP || samplerType == SamplerType.CmaEs || samplerType == SamplerType.QMC || samplerType == SamplerType.Random || samplerType == SamplerType.AUTO || samplerType == SamplerType.BruteForce)
                                      && hasConstraints
                                  )
                                  {
                      Severity: Major
                      Found in Tunny/Solver/Algorithm.cs - About 1 hr to fix

                        Identical blocks of code found in 3 locations. Consider refactoring.
                        Open

                                private bool CheckIsNicknameDuplicated()
                                {
                                    var nicknames = Params.Input.Select(x => x.NickName).ToList();
                                    var hashSet = new HashSet<string>();
                        
                        
                        Severity: Major
                        Found in Tunny/Component/Obsolete/ConstructFishAttribute_v0_11_1.cs and 2 other locations - About 1 hr to fix
                        Tunny/Component/Obsolete/ConstructFishAttribute_v0_12_0.cs on lines 121..134
                        Tunny/Component/Operation/ConstructFishAttribute.cs on lines 95..108

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 88.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Identical blocks of code found in 3 locations. Consider refactoring.
                        Open

                                private bool CheckIsNicknameDuplicated()
                                {
                                    var nicknames = Params.Input.Select(x => x.NickName).ToList();
                                    var hashSet = new HashSet<string>();
                        
                        
                        Severity: Major
                        Found in Tunny/Component/Obsolete/ConstructFishAttribute_v0_12_0.cs and 2 other locations - About 1 hr to fix
                        Tunny/Component/Obsolete/ConstructFishAttribute_v0_11_1.cs on lines 89..102
                        Tunny/Component/Operation/ConstructFishAttribute.cs on lines 95..108

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 88.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Identical blocks of code found in 2 locations. Consider refactoring.
                        Open

                                protected override void Render(GH_Canvas canvas, Graphics graphics, GH_CanvasChannel channel)
                                {
                                    switch (channel)
                                    {
                                        case GH_CanvasChannel.First:
                        Tunny/Component/Operation/ConstructFishEggAttributes.cs on lines 16..33

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 88.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Identical blocks of code found in 3 locations. Consider refactoring.
                        Open

                                private bool CheckIsNicknameDuplicated()
                                {
                                    var nicknames = Params.Input.Select(x => x.NickName).ToList();
                                    var hashSet = new HashSet<string>();
                        
                        
                        Severity: Major
                        Found in Tunny/Component/Operation/ConstructFishAttribute.cs and 2 other locations - About 1 hr to fix
                        Tunny/Component/Obsolete/ConstructFishAttribute_v0_11_1.cs on lines 89..102
                        Tunny/Component/Obsolete/ConstructFishAttribute_v0_12_0.cs on lines 121..134

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 88.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Identical blocks of code found in 2 locations. Consider refactoring.
                        Open

                                protected override void Render(GH_Canvas canvas, Graphics graphics, GH_CanvasChannel channel)
                                {
                                    switch (channel)
                                    {
                                        case GH_CanvasChannel.First:
                        Severity: Minor
                        Found in Tunny/Component/Operation/ConstructFishEggAttributes.cs and 1 other location - About 1 hr to fix
                        Tunny/Component/Operation/ConstructFishEggByCsvAttributes.cs on lines 16..33

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 88.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                public static bool IsPositiveInt(string input, bool includeZero)
                                {
                                    if (string.IsNullOrWhiteSpace(input))
                                    {
                                        return false;
                        Severity: Minor
                        Found in Tunny.Core/Input/InputValidator.cs and 1 other location - About 55 mins to fix
                        Tunny.Core/Input/InputValidator.cs on lines 50..60

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 87.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Similar blocks of code found in 2 locations. Consider refactoring.
                        Open

                                public static bool IsPositiveDouble(string input, bool includeZero)
                                {
                                    if (string.IsNullOrWhiteSpace(input))
                                    {
                                        return false;
                        Severity: Minor
                        Found in Tunny.Core/Input/InputValidator.cs and 1 other location - About 55 mins to fix
                        Tunny.Core/Input/InputValidator.cs on lines 9..19

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 87.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Severity
                        Category
                        Status
                        Source
                        Language