gitlabhq/gitlabhq

View on GitHub

Showing 2,285 of 2,285 total issues

Class Project has 276 methods (exceeds 20 allowed). Consider refactoring.
Open

class Project < ApplicationRecord
  include Gitlab::ConfigHelper
  include Gitlab::ShellAdapter
  include Gitlab::VisibilityLevel
  include AccessRequestable
Severity: Major
Found in app/models/project.rb - About 5 days to fix

    File project.rb has 1771 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    require 'carrierwave/orm/activerecord'
    
    class Project < ApplicationRecord
      include Gitlab::ConfigHelper
      include Gitlab::ShellAdapter
    Severity: Major
    Found in app/models/project.rb - About 4 days to fix

      Class User has 198 methods (exceeds 20 allowed). Consider refactoring.
      Open

      class User < ApplicationRecord
        extend Gitlab::ConfigHelper
      
        include Gitlab::ConfigHelper
        include Gitlab::SQL::Pattern
      Severity: Major
      Found in app/models/user.rb - About 3 days to fix

        File entities.rb has 1471 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        module API
          module Entities
            class BlameRangeCommit < Grape::Entity
              expose :id
              expose :parent_ids
        Severity: Major
        Found in lib/api/entities.rb - About 3 days to fix

          File notes.js has 1317 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          /* eslint-disable no-restricted-properties, no-var, camelcase,
          no-unused-expressions, one-var, default-case,
          consistent-return, no-alert, no-param-reassign, no-else-return,
          vars-on-top, no-shadow, no-useless-escape,
          class-methods-use-this */
          Severity: Major
          Found in app/assets/javascripts/notes.js - About 3 days to fix

            Class MergeRequest has 164 methods (exceeds 20 allowed). Consider refactoring.
            Open

            class MergeRequest < ApplicationRecord
              include AtomicInternalId
              include IidRoutes
              include Issuable
              include Noteable
            Severity: Major
            Found in app/models/merge_request.rb - About 3 days to fix

              File user.rb has 1210 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              require 'carrierwave/orm/activerecord'
              
              class User < ApplicationRecord
                extend Gitlab::ConfigHelper
              
              
              Severity: Major
              Found in app/models/user.rb - About 3 days to fix

                File merge_request.rb has 1091 lines of code (exceeds 250 allowed). Consider refactoring.
                Open

                class MergeRequest < ApplicationRecord
                  include AtomicInternalId
                  include IidRoutes
                  include Issuable
                  include Noteable
                Severity: Major
                Found in app/models/merge_request.rb - About 2 days to fix

                  Class Repository has 139 methods (exceeds 20 allowed). Consider refactoring.
                  Open

                  class Repository
                    REF_MERGE_REQUEST = 'merge-requests'
                    REF_KEEP_AROUND = 'keep-around'
                    REF_ENVIRONMENTS = 'environments'
                    REF_PIPELINES = 'pipelines'
                  Severity: Major
                  Found in app/models/repository.rb - About 2 days to fix

                    Method services has 538 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                          def self.services
                            {
                              'asana' => [
                                {
                                  required: true,
                    Severity: Major
                    Found in lib/api/helpers/services_helpers.rb - About 2 days to fix

                      Class Repository has 125 methods (exceeds 20 allowed). Consider refactoring.
                      Open

                          class Repository
                            include Gitlab::Git::RepositoryMirroring
                            include Gitlab::Git::WrapsGitalyErrors
                            include Gitlab::EncodingHelper
                            include Gitlab::Utils::StrongMemoize
                      Severity: Major
                      Found in lib/gitlab/git/repository.rb - About 2 days to fix

                        Class Build has 108 methods (exceeds 20 allowed). Consider refactoring.
                        Open

                          class Build < CommitStatus
                            include Ci::Processable
                            include Ci::Metadatable
                            include Ci::Contextable
                            include Ci::PipelineDelegator
                        Severity: Major
                        Found in app/models/ci/build.rb - About 2 days to fix

                          Function constructor has 412 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                            constructor(els, options = {}) {
                              var _this, $els;
                              _this = this;
                          
                              $els = $(els);
                          Severity: Major
                          Found in app/assets/javascripts/labels_select.js - About 2 days to fix

                            File gl_dropdown.js has 837 lines of code (exceeds 250 allowed). Consider refactoring.
                            Open

                            /* eslint-disable func-names, no-underscore-dangle, no-var, one-var, vars-on-top, no-shadow, no-cond-assign, no-return-assign, no-else-return, camelcase, no-lonely-if, guard-for-in, no-restricted-syntax, consistent-return, no-param-reassign, no-loop-func */
                            
                            import $ from 'jquery';
                            import _ from 'underscore';
                            import fuzzaldrinPlus from 'fuzzaldrin-plus';
                            Severity: Major
                            Found in app/assets/javascripts/gl_dropdown.js - About 2 days to fix

                              File repository.rb has 830 lines of code (exceeds 250 allowed). Consider refactoring.
                              Open

                              require 'securerandom'
                              
                              class Repository
                                REF_MERGE_REQUEST = 'merge-requests'
                                REF_KEEP_AROUND = 'keep-around'
                              Severity: Major
                              Found in app/models/repository.rb - About 1 day to fix

                                Class Pipeline has 98 methods (exceeds 20 allowed). Consider refactoring.
                                Open

                                  class Pipeline < ApplicationRecord
                                    extend Gitlab::Ci::Model
                                    include HasStatus
                                    include Importable
                                    include AfterCommitQueue
                                Severity: Major
                                Found in app/models/ci/pipeline.rb - About 1 day to fix

                                  File repository.rb has 768 lines of code (exceeds 250 allowed). Consider refactoring.
                                  Open

                                  require 'tempfile'
                                  require 'forwardable'
                                  require "rubygems/package"
                                  
                                  module Gitlab
                                  Severity: Major
                                  Found in lib/gitlab/git/repository.rb - About 1 day to fix

                                    File services_helpers.rb has 729 lines of code (exceeds 250 allowed). Consider refactoring.
                                    Open

                                    module API
                                      module Helpers
                                        # Helpers module for API::Services
                                        #
                                        # The data structures inside this model are returned using class methods,
                                    Severity: Major
                                    Found in lib/api/helpers/services_helpers.rb - About 1 day to fix

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

                                          const memoizedLocaleRemaining = () => {
                                            const cache = [];
                                      
                                            const timeAgoLocaleRemaining = [
                                              () => [s__('Timeago|just now'), s__('Timeago|right now')],
                                      Severity: Major
                                      Found in app/assets/javascripts/lib/utils/datetime_utility.js and 1 other location - About 1 day to fix
                                      app/assets/javascripts/lib/utils/datetime_utility.js on lines 131..158

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

                                      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

                                          const memoizedLocale = () => {
                                            const cache = [];
                                      
                                            const timeAgoLocale = [
                                              () => [s__('Timeago|just now'), s__('Timeago|right now')],
                                      Severity: Major
                                      Found in app/assets/javascripts/lib/utils/datetime_utility.js and 1 other location - About 1 day to fix
                                      app/assets/javascripts/lib/utils/datetime_utility.js on lines 102..129

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

                                      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