hrntsm/Tunny

View on GitHub

Showing 120 of 128 total issues

File Algorithm.cs has 609 lines of code (exceeds 250 allowed). Consider refactoring.
Open

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
Severity: Major
Found in Tunny/Solver/Algorithm.cs - About 1 day to fix

    File Storage.cs has 600 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    using System;
    using System.Collections.Generic;
    using System.Data.SQLite;
    using System.IO;
    using System.Linq;
    Severity: Major
    Found in Optuna/Storage/RDB/Storage.cs - About 1 day to fix

      File GrasshopperInOut.cs has 511 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      using System;
      using System.Collections.Generic;
      using System.Globalization;
      using System.Linq;
      using System.Windows.Forms;
      Severity: Major
      Found in Tunny/Util/GrasshopperInOut.cs - About 1 day to fix

        Class OptimizationWindow has 36 methods (exceeds 20 allowed). Consider refactoring.
        Open

            public partial class OptimizationWindow
            {
                private void TpeDefaultButton_Click(object sender, EventArgs e)
                {
                    TLog.MethodStart();
        Severity: Minor
        Found in Tunny/UI/Tab/SettingsTab.cs - About 4 hrs to fix

          File Storage.cs has 352 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          using System;
          using System.Collections.Generic;
          using System.IO;
          using System.Linq;
          
          
          Severity: Minor
          Found in Optuna/Storage/Journal/Storage.cs - About 4 hrs to fix

            Class SqliteStorage has 32 methods (exceeds 20 allowed). Consider refactoring.
            Open

                public class SqliteStorage : IOptunaStorage
                {
                    private readonly Dictionary<int, Study.Study> _studies = new Dictionary<int, Study.Study>();
                    private readonly SQLiteConnectionStringBuilder _sqliteConnection;
                    private int _nextStudyId;
            Severity: Minor
            Found in Optuna/Storage/RDB/Storage.cs - About 4 hrs to fix

              File SettingsTab.cs has 321 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              using System;
              
              using Optuna.Sampler;
              
              using Serilog.Events;
              Severity: Minor
              Found in Tunny/UI/Tab/SettingsTab.cs - About 3 hrs to fix

                Class JournalStorage has 30 methods (exceeds 20 allowed). Consider refactoring.
                Open

                    public class JournalStorage : IOptunaStorage
                    {
                        private readonly Dictionary<int, Study.Study> _studies = new Dictionary<int, Study.Study>();
                        private int _nextStudyId;
                        private int _trialId;
                Severity: Minor
                Found in Optuna/Storage/Journal/Storage.cs - About 3 hrs to fix

                  Method CreateBaseTables has 90 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          private void CreateBaseTables()
                          {
                              var commands = new StringBuilder();
                              commands.Append("CREATE TABLE IF NOT EXISTS alembic_version(");
                              commands.Append("   version_num VARCHAR(32) PRIMARY KEY NOT NULL");
                  Severity: Major
                  Found in Optuna/Storage/RDB/Storage.cs - About 3 hrs to fix

                    Class IOptunaStorage has 28 methods (exceeds 20 allowed). Consider refactoring.
                    Open

                        public interface IOptunaStorage
                        {
                            // Basic study manipulation
                            int CreateNewStudy(StudyDirection[] studyDirections, string studyName);
                            void DeleteStudy(int studyId);
                    Severity: Minor
                    Found in Optuna/Storage/IOptunaStorage.cs - About 3 hrs to fix

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

                      traces.append(
                          go.Scatter(
                              x=[t.values[0] for t in no_good_trials],
                              y=[t.values[1] for t in no_good_trials],
                              mode="markers",
                      Severity: Major
                      Found in Examples/Python/plot_with_coloring_of_results.py and 1 other location - About 3 hrs to fix
                      Examples/Python/plot_with_coloring_of_results.py on lines 34..40

                      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 65.

                      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

                      traces.append(
                          go.Scatter(
                              x=[t.values[0] for t in good_trials],
                              y=[t.values[1] for t in good_trials],
                              mode="markers",
                      Severity: Major
                      Found in Examples/Python/plot_with_coloring_of_results.py and 1 other location - About 3 hrs to fix
                      Examples/Python/plot_with_coloring_of_results.py on lines 44..50

                      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 65.

                      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 RunSingleOptimizeStep has 79 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                              private TrialGrasshopperItems RunSingleOptimizeStep(OptimizationHandlingInfo optInfo, Parameter[] parameter, int trialNum, DateTime startTime)
                              {
                                  TLog.MethodStart();
                                  dynamic trial;
                                  int progress = trialNum * 100 / optInfo.NTrials;
                      Severity: Major
                      Found in Tunny/Solver/Algorithm.cs - About 3 hrs to fix

                        Class Algorithm has 26 methods (exceeds 20 allowed). Consider refactoring.
                        Open

                            public class Algorithm : PythonInit
                            {
                                public Parameter[] OptimalParameters { get; private set; }
                                public EndState EndState { get; private set; }
                        
                        
                        Severity: Minor
                        Found in Tunny/Solver/Algorithm.cs - About 3 hrs to fix

                          Class GrasshopperInOut has 25 methods (exceeds 20 allowed). Consider refactoring.
                          Open

                              public class GrasshopperInOut
                              {
                                  private readonly GH_Document _document;
                                  private readonly List<Guid> _inputGuids;
                                  private readonly GH_Component _component;
                          Severity: Minor
                          Found in Tunny/Util/GrasshopperInOut.cs - About 2 hrs to fix

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

                                    private void RunPreferentialOptimize(OptimizationHandlingInfo optInfo, int nBatch, out Parameter[] parameter, out TrialGrasshopperItems result)
                                    {
                                        TLog.MethodStart();
                                        parameter = new Parameter[Variables.Count];
                                        result = new TrialGrasshopperItems();
                            Severity: Major
                            Found in Tunny/Solver/Algorithm.cs and 1 other location - About 2 hrs to fix
                            Tunny/Solver/Algorithm.cs on lines 265..289

                            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 195.

                            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

                                    private void RunHumanSidlerInputOptimize(OptimizationHandlingInfo optInfo, int nBatch, out Parameter[] parameter, out TrialGrasshopperItems result)
                                    {
                                        TLog.MethodStart();
                                        parameter = new Parameter[Variables.Count];
                                        result = new TrialGrasshopperItems();
                            Severity: Major
                            Found in Tunny/Solver/Algorithm.cs and 1 other location - About 2 hrs to fix
                            Tunny/Solver/Algorithm.cs on lines 239..263

                            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 195.

                            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

                                    protected override void RegisterInputParams(GH_InputParamManager pManager)
                                    {
                                        pManager.AddGenericParameter("Variables", "Vars", "Connect variable number slider here.", GH_ParamAccess.tree);
                                        pManager.AddGenericParameter("Objectives", "Objs", "Connect objective number component here.", GH_ParamAccess.tree);
                                        pManager.AddParameter(new Param_FishAttribute(), "Attributes", "Attrs", "Connect model attribute like some geometry or values here. Not required.", GH_ParamAccess.item);
                            Severity: Major
                            Found in Tunny/Component/Optimizer/FishingComponent.cs and 1 other location - About 2 hrs to fix
                            Tunny/Component/Obsolete/FishingComponent_v0_11_1.cs on lines 25..35

                            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 192.

                            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

                                    protected override void RegisterInputParams(GH_InputParamManager pManager)
                                    {
                                        pManager.AddGenericParameter("Variables", "Vars", "Connect variable number slider here.", GH_ParamAccess.tree);
                                        pManager.AddGenericParameter("Objectives", "Objs", "Connect objective number component here.", GH_ParamAccess.tree);
                                        pManager.AddParameter(new Param_FishAttribute(), "Attributes", "Attrs", "Connect model attribute like some geometry or values here. Not required.", GH_ParamAccess.item);
                            Severity: Major
                            Found in Tunny/Component/Obsolete/FishingComponent_v0_11_1.cs and 1 other location - About 2 hrs to fix
                            Tunny/Component/Optimizer/FishingComponent.cs on lines 21..31

                            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 192.

                            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

                                    private void SetNsga3Settings(NSGAIIISampler nsga)
                                    {
                                        TLog.MethodStart();
                                        nsga3MutationProbCheckBox.Checked = nsga.MutationProb != null;
                                        nsga3MutationProbUpDown.Enabled = nsga3MutationProbCheckBox.Checked;
                            Severity: Major
                            Found in Tunny/UI/Tab/SettingsTab.cs and 1 other location - About 2 hrs to fix
                            Tunny/UI/Tab/SettingsTab.cs on lines 157..170

                            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 168.

                            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