bcdice/BCDice

View on GitHub

Showing 1,176 of 1,233 total issues

File StarryDolls.rb has 608 lines of code (exceeds 250 allowed). Consider refactoring.
Open

require "bcdice/dice_table/chain_table"
require "bcdice/dice_table/sai_fic_skill_table"
require "bcdice/dice_table/table"
require "bcdice/format"

Severity: Major
Found in lib/bcdice/game_system/StarryDolls.rb - About 1 day to fix

    File IfIfIf.rb has 607 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    module BCDice
      module GameSystem
        class IfIfIf < Base
          ID = "IfIfIf"
    
    
    Severity: Major
    Found in lib/bcdice/game_system/IfIfIf.rb - About 1 day to fix

      Method translate_tables has 259 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

              def translate_tables(locale)
                {
                  "CO" => YearTable.from_i18n(
                    "Dracurouge.table.CO",
                    locale,
      Severity: Major
      Found in lib/bcdice/game_system/Dracurouge.rb - About 1 day to fix

        File NeverCloud.rb has 585 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        require "bcdice/dice_table/table"
        
        module BCDice
          module GameSystem
            class NeverCloud < Base
        Severity: Major
        Found in lib/bcdice/game_system/NeverCloud.rb - About 1 day to fix

          Method eval_game_system_specific_command has 234 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                def eval_game_system_specific_command(command)
                  output = ""
                  type = ""
                  total_n = ""
          
          
          Severity: Major
          Found in lib/bcdice/game_system/MeikyuKingdom.rb - About 1 day to fix

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

              module GameSystem
                class MeikyuKingdom
                  # 単語表1(D66)
                  def mk_word_1_table(num)
                    table = [
            Severity: Major
            Found in lib/bcdice/game_system/meikyu_kingdom/word_table.rb and 1 other location - About 1 day to fix
            lib/bcdice/game_system/meikyu_kingdom_basic/word_table.rb on lines 4..119

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

            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

              module GameSystem
                class MeikyuKingdomBasic
                  # 単語表1(D66)
                  # override
                  def mk_word_1_table(num)
            Severity: Major
            Found in lib/bcdice/game_system/meikyu_kingdom_basic/word_table.rb and 1 other location - About 1 day to fix
            lib/bcdice/game_system/meikyu_kingdom/word_table.rb on lines 4..115

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

            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

            File tables.rb has 531 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            module BCDice
              module GameSystem
                class MeikyuKingdom
                  # 生活散策表(2d6)
                  def mk_life_research_table
            Severity: Major
            Found in lib/bcdice/game_system/meikyu_kingdom/tables.rb - About 1 day to fix

              File DeadlineHeroes.rb has 519 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              require 'bcdice/dice_table/range_table'
              
              module BCDice
                module GameSystem
                  class DeadlineHeroes < Base
              Severity: Major
              Found in lib/bcdice/game_system/DeadlineHeroes.rb - About 1 day to fix

                File Yggdrasill.rb has 517 lines of code (exceeds 250 allowed). Consider refactoring.
                Open

                require "bcdice/base"
                
                module BCDice
                  module GameSystem
                    class Yggdrasill < Base
                Severity: Major
                Found in lib/bcdice/game_system/Yggdrasill.rb - About 1 day to fix

                  File InfiniteBabeL.rb has 504 lines of code (exceeds 250 allowed). Consider refactoring.
                  Open

                  require "bcdice/game_system/ShoujoTenrankai"
                  
                  module BCDice
                    module GameSystem
                      class InfiniteBabeL < ShoujoTenrankai
                  Severity: Major
                  Found in lib/bcdice/game_system/InfiniteBabeL.rb - About 1 day to fix

                    File tables.rb has 493 lines of code (exceeds 250 allowed). Consider refactoring.
                    Open

                    module BCDice
                      module GameSystem
                        class CyberpunkRed < Base
                          NIGHT_MARKET_FOODS_TABLE = DiceTable::RangeTable.new(
                            "食品とドラッグ",
                    Severity: Minor
                    Found in lib/bcdice/game_system/cyberpunk_red/tables.rb - About 7 hrs to fix

                      File ColossalHunter.rb has 492 lines of code (exceeds 250 allowed). Consider refactoring.
                      Open

                      require "bcdice/format"
                      
                      module BCDice
                        module GameSystem
                          class ColossalHunter < Base
                      Severity: Minor
                      Found in lib/bcdice/game_system/ColossalHunter.rb - About 7 hrs to fix

                        File TwilightGunsmoke.rb has 492 lines of code (exceeds 250 allowed). Consider refactoring.
                        Open

                        require 'bcdice/dice_table/table'
                        require 'bcdice/dice_table/d66_range_table'
                        require 'bcdice/dice_table/d66_grid_table'
                        require 'bcdice/format'
                        
                        
                        Severity: Minor
                        Found in lib/bcdice/game_system/TwilightGunsmoke.rb - About 7 hrs to fix

                          Method eval_game_system_specific_command has a Cognitive Complexity of 50 (exceeds 5 allowed). Consider refactoring.
                          Open

                                def eval_game_system_specific_command(string)
                                  tableName = ""
                                  result = ""
                                  number = 0
                          
                          
                          Severity: Minor
                          Found in lib/bcdice/game_system/GurpsFW.rb - About 7 hrs 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

                          File BattleTech.rb has 481 lines of code (exceeds 250 allowed). Consider refactoring.
                          Open

                          require 'bcdice/format'
                          require 'bcdice/command/parser'
                          require 'bcdice/dice_table/table'
                          require 'bcdice/dice_table/range_table'
                          
                          
                          Severity: Minor
                          Found in lib/bcdice/game_system/BattleTech.rb - About 7 hrs to fix

                            File Cthulhu7th.rb has 481 lines of code (exceeds 250 allowed). Consider refactoring.
                            Open

                            require "bcdice/game_system/cthulhu7th/rollable"
                            require "bcdice/game_system/cthulhu7th/full_auto"
                            
                            module BCDice
                              module GameSystem
                            Severity: Minor
                            Found in lib/bcdice/game_system/Cthulhu7th.rb - About 7 hrs to fix

                              File SteamPunkers.rb has 479 lines of code (exceeds 250 allowed). Consider refactoring.
                              Open

                              require 'bcdice/base'
                              require 'bcdice/dice_table/d66_range_table'
                              
                              module BCDice
                                module GameSystem
                              Severity: Minor
                              Found in lib/bcdice/game_system/SteamPunkers.rb - About 7 hrs to fix

                                File DemonParasite.rb has 479 lines of code (exceeds 250 allowed). Consider refactoring.
                                Open

                                module BCDice
                                  module GameSystem
                                    class DemonParasite < Base
                                      # ゲームシステムの識別子
                                      ID = 'DemonParasite'
                                Severity: Minor
                                Found in lib/bcdice/game_system/DemonParasite.rb - About 7 hrs to fix

                                  File Villaciel.rb has 472 lines of code (exceeds 250 allowed). Consider refactoring.
                                  Open

                                  module BCDice
                                    module GameSystem
                                      class Villaciel < Base
                                        # ゲームシステムの識別子
                                        ID = 'Villaciel'
                                  Severity: Minor
                                  Found in lib/bcdice/game_system/Villaciel.rb - About 7 hrs to fix
                                    Severity
                                    Category
                                    Status
                                    Source
                                    Language