hrntsm/Tunny

View on GitHub

Showing 185 of 198 total issues

Method GetAllStudies has 33 lines of code (exceeds 25 allowed). Consider refactoring.
Open

        public Study.Study[] GetAllStudies()
        {
            using (var connection = new SQLiteConnection(_sqliteConnection.ToString()))
            {
                connection.Open();
Severity: Minor
Found in Optuna/Storage/RDB/Storage.cs - About 1 hr to fix

    Method RunAsync has 33 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

            internal async static Task RunAsync(OptimizeViewModel optimizeViewModel)
            {
                TLog.MethodStart();
                SharedItems.Component?.GhInOutInstantiate();
                SharedItems.OptimizeViewModel = optimizeViewModel;
    Severity: Minor
    Found in Tunny/Process/OptimizeProcess.cs - About 1 hr to fix

      Method ToComponentEndMessage has 33 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

              private static void ToComponentEndMessage(Algorithm optimize)
              {
                  TLog.MethodStart();
                  string message;
                  switch (optimize.EndState)
      Severity: Minor
      Found in Tunny/Solver/Solver.cs - About 1 hr to fix

        Method SetArtifacts has 32 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

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

          Method SetNonGeometricAttr has 32 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                  private static void SetNonGeometricAttr(TrialGrasshopperItems result, TrialWrapper trial)
                  {
                      TLog.MethodStart();
                      foreach (KeyValuePair<string, List<string>> pair in result.Attribute)
                      {
          Severity: Minor
          Found in Tunny/Solver/Algorithm.cs - About 1 hr to fix

            Method ToString has 31 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                    public override string ToString()
                    {
                        var sb = new StringBuilder();
                        foreach (KeyValuePair<string, object> attr in Value)
                        {
            Severity: Minor
            Found in Tunny/Type/GH_FishAttribute.cs - About 1 hr to fix

              Method ToPython has 31 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                      public dynamic ToPython(string storagePath, PyDict x0)
                      {
                          dynamic optuna = Py.Import("optuna");
              
                          return UseWarmStart
              Severity: Minor
              Found in Optuna/Sampler/CmaEsSampler.cs - About 1 hr to fix

                Method GetParetoFrontTrials2D has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                        private static Trial.Trial[] GetParetoFrontTrials2D(List<Trial.Trial> trials, StudyDirection[] directions)
                        {
                            List<Trial.Trial> targetTrials = trials.FindAll(trial => trial.State == TrialState.COMPLETE);
                
                            int nTrials = targetTrials.Count;
                Severity: Minor
                Found in Optuna/Study/MultiObjective.cs - About 1 hr to fix

                  Method GetAttributes has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          public Dictionary<string, List<string>> GetAttributes()
                          {
                              TLog.MethodStart();
                              var attrs = new Dictionary<string, List<string>>();
                              if (_attributes.Value == null)
                  Severity: Minor
                  Found in Tunny/Util/GrasshopperInOut.cs - About 1 hr to fix

                    Method SetOptimizationParameter has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                            private void SetOptimizationParameter(Parameter[] parameter, TrialWrapper trial)
                            {
                                TLog.MethodStart();
                                foreach ((VariableBase variable, int i) in _variables.Select((v, i) => (v, i)))
                                {
                    Severity: Minor
                    Found in Tunny/Solver/Algorithm.cs - About 1 hr to fix

                      Method Plot has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                              internal static string Plot(Storage storage, PlotSettings plotSettings, string htmlPath = "")
                              {
                                  TLog.MethodStart();
                                  InitializePythonEngine();
                                  using (Py.GIL())
                      Severity: Minor
                      Found in Tunny/Process/VisualizeProcess.cs - About 1 hr to fix

                        Method SetAttributeEachItem has 30 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                                private void SetAttributeEachItem(StringBuilder sb, KeyValuePair<string, object> attr)
                                {
                                    var valueStrings = new StringBuilder();
                                    if (attr.Key == "Geometry")
                                    {
                        Severity: Minor
                        Found in Tunny/Type/GH_Fish.cs - About 1 hr to fix

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

                                  protected override void SolveInstance(IGH_DataAccess DA)
                                  {
                                      int paramCount = Params.Input.Count;
                                      var dict = new Dictionary<string, object>();
                          
                          
                          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 48..61
                          Tunny/Component/Obsolete/ConstructFishAttribute_v0_12_0.cs on lines 52..65

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

                          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

                                  protected override void SolveInstance(IGH_DataAccess DA)
                                  {
                                      int paramCount = Params.Input.Count;
                                      var dict = new Dictionary<string, object>();
                          
                          
                          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 48..61
                          Tunny/Component/Operation/ConstructFishAttribute.cs on lines 43..56

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

                          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

                                  protected override void SolveInstance(IGH_DataAccess DA)
                                  {
                                      int paramCount = Params.Input.Count;
                                      var dict = new Dictionary<string, object>();
                          
                          
                          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 52..65
                          Tunny/Component/Operation/ConstructFishAttribute.cs on lines 43..56

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

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

                                  private static void SetParamsValue(List<IGH_Param> sources, List<double> numbers, List<Bitmap> images, List<GeometryBase> geometries)
                                  {
                                      TLog.MethodStart();
                                      foreach (IGH_StructureEnumerator ghEnumerator in sources.Select(objective => objective.VolatileData.AllData(false)))
                                      {
                          Severity: Minor
                          Found in Tunny/Input/Objective.cs - About 1 hr to fix

                            Method CreateFigure has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                                    private static PlotlyFigure CreateFigure(StudyWrapper study, PlotSettings settings)
                                    {
                                        TLog.MethodStart();
                                        switch (settings.PlotTypeName)
                                        {
                            Severity: Minor
                            Found in Tunny/Process/VisualizeProcess.cs - About 1 hr to fix

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

                                      public dynamic CreateNewTStorage(bool useInnerPythonEngine, Settings.Storage storageSetting)
                                      {
                                          TLog.MethodStart();
                                          string sqlitePath = storageSetting.GetOptunaStoragePathByExtension();
                                          if (useInnerPythonEngine)
                              Severity: Major
                              Found in Tunny.Core/Storage/SqliteStorage.cs and 1 other location - About 1 hr to fix
                              Tunny.Core/Storage/JournalStorage.cs on lines 42..61

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

                              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 dynamic CreateNewTStorage(bool useInnerPythonEngine, Settings.Storage storageSetting)
                                      {
                                          TLog.MethodStart();
                                          string storagePath = storageSetting.GetOptunaStoragePathByExtension();
                                          if (useInnerPythonEngine)
                              Severity: Major
                              Found in Tunny.Core/Storage/JournalStorage.cs and 1 other location - About 1 hr to fix
                              Tunny.Core/Storage/SqliteStorage.cs on lines 16..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 99.

                              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 NormalOptimization has 9 arguments (exceeds 4 allowed). Consider refactoring.
                              Open

                                      private void NormalOptimization(int nTrials, 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
                                Severity
                                Category
                                Status
                                Source
                                Language