gitlabhq/gitlabhq

View on GitHub

Showing 2,160 of 2,160 total issues

Class Project has 264 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 1699 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 191 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 1435 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 1358 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          /* eslint-disable no-restricted-properties, func-names, no-var, camelcase,
          no-unused-expressions, one-var, default-case,
          prefer-template, consistent-return, no-alert, no-return-assign,
          no-param-reassign, prefer-arrow-callback, no-else-return, vars-on-top,
          no-unused-vars, 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 161 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 1163 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 2 days to fix

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

                class Repository
                  REF_MERGE_REQUEST = 'merge-requests'
                  REF_KEEP_AROUND = 'keep-around'
                  REF_ENVIRONMENTS = 'environments'
                
                
                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

                    File merge_request.rb has 1037 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 123 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

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

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

                          Function constructor has 424 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 repository.rb has 835 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 2 days to fix

                              Class Build has 104 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

                                File repository.rb has 752 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

                                  Class Pipeline has 91 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 services_helpers.rb has 728 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