ephread/Instructions

View on GitHub

Showing 32 of 63 total issues

File CoachMarksViewController.swift has 298 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import UIKit

// TODO: ❗️ Find a good way to refactor this growing controller
// swiftlint:disable file_length
// MARK: - Main Class
Severity: Minor
Found in Sources/Instructions/Core/Internal/CoachMarksViewController.swift - About 3 hrs to fix

    Function initializeViewHierarchy has 65 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        func initializeViewHierarchy() {
            backgroundColor = .clear
            translatesAutoresizingMaskIntoConstraints = false
    
            initializeAccessibilityIdentifier()

      Function showNew has 45 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          func showNew(coachMarkView: CoachMarkView, from coachMark: CoachMark,
                       at index: Int, animated: Bool = true, completion: (() -> Void)? = nil) {
              guard let overlay = overlayManager else { return }
      
              prepare(coachMarkView: coachMarkView, forDisplayIn: overlay.overlayView.superview!,

        Function hide has 44 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            func hide(coachMarkView: UIView, from coachMark: CoachMark, at index: Int,
                      animated: Bool, beforeTransition: Bool, completion: (() -> Void)? = nil) {
                guard let overlay = overlayManager else { return }
        
                guard animated else {

          Function defaultConstraints has 39 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              private func defaultConstraints(for skipView: (UIView & CoachMarkSkipView), in parentView: UIView)
              -> [NSLayoutConstraint] {
                  var constraints = [NSLayoutConstraint]()
          
                  let trailingAnchor: NSLayoutXAxisAnchor
          Severity: Minor
          Found in Sources/Instructions/Managers/Internal/SkipViewDisplayManager.swift - About 1 hr to fix

            Function defaultConstraints has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
            Open

                private func defaultConstraints(for skipView: (UIView & CoachMarkSkipView), in parentView: UIView)
                -> [NSLayoutConstraint] {
                    var constraints = [NSLayoutConstraint]()
            
                    let trailingAnchor: NSLayoutXAxisAnchor
            Severity: Minor
            Found in Sources/Instructions/Managers/Internal/SkipViewDisplayManager.swift - About 1 hr 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

            Function constraints has 32 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                func constraints(
                    for coachMarkView: CoachMarkView,
                    coachMark: CoachMark,
                    parentView: UIView,
                    layoutDirection: UIUserInterfaceLayoutDirection? = nil,
            Severity: Minor
            Found in Sources/Instructions/Helpers/Internal/CoachMarkLayoutHelper.swift - About 1 hr to fix

              Function showNextCoachMark has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
              Open

                  internal func showNextCoachMark(hidePrevious: Bool = true) {
                      if disableFlow || isPaused || !canShowCoachMark { return }
              
                      let previousIndex = currentIndex
              
              
              Severity: Minor
              Found in Sources/Instructions/Managers/Public/FlowManager.swift - About 1 hr 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

              Function showOverlay has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
              Open

                  func showOverlay(_ show: Bool, withDuration duration: TimeInterval,
                                   completion: ((Bool) -> Void)?) {
                      sizeTransitionOverlay?.isHidden = true
                      let subviews = overlayView?.holder.subviews
              
              

              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

              Function start has 31 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  func start(in presentationContext: PresentationContext) {
                      guard let dataSource = self.dataSource else {
                          print(ErrorMessage.Warning.nilDataSource)
                          return
                      }
              Severity: Minor
              Found in Sources/Instructions/Core/Public/CoachMarksController.swift - About 1 hr to fix

                Function showCutout has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                Open

                    func showCutout(_ show: Bool, withDuration duration: TimeInterval,
                                    completion: ((Bool) -> Void)?) {
                        if onGoingTransition { return }
                        let subviews = overlayView?.holder.subviews
                
                

                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

                Function hitTest has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                Open

                    override public func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
                        let hitView = super.hitTest(point, with: event)
                
                        if hitView == self {
                            guard !forwardTouchEvents else { return nil }
                Severity: Minor
                Found in Sources/Instructions/Views/OverlayView.swift - About 1 hr 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

                Function showCutout has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    func showCutout(_ show: Bool, withDuration duration: TimeInterval,
                                    completion: ((Bool) -> Void)?) {
                        if onGoingTransition { return }
                        let subviews = overlayView?.holder.subviews
                
                

                  Function showPreviousCoachMark has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                      internal func showPreviousCoachMark(hidePrevious: Bool = true) {
                          if disableFlow || isPaused || !canShowCoachMark { return }
                  
                          let previousIndex = currentIndex
                  
                  
                  Severity: Minor
                  Found in Sources/Instructions/Managers/Public/FlowManager.swift - About 45 mins 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

                  Function convert has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                      public func convert(rect: CGRect, from superview: UIView?) -> CGRect {
                          // No superview, assuming frame in `instructionsRootView`'s coordinate system.
                          guard let superview = superview else {
                              print(ErrorMessage.Warning.anchorViewIsNotInTheViewHierarchy)
                              return rect
                  Severity: Minor
                  Found in Sources/Instructions/Helpers/Public/CoachMarkCoordinateConverter.swift - About 45 mins 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

                  Function hide has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                      func hide(coachMarkView: UIView, from coachMark: CoachMark, at index: Int,
                                animated: Bool, beforeTransition: Bool, completion: (() -> Void)? = nil) {
                          guard let overlay = overlayManager else { return }
                  
                          guard animated else {
                  Severity: Minor
                  Found in Sources/Instructions/Managers/Internal/CoachMarkDisplayManager.swift - About 45 mins 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

                  Function createAndShowCoachMark has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                      internal func createAndShowCoachMark(afterResuming: Bool = false,
                                                           changing change: ConfigurationChange = .nothing) {
                          if disableFlow { return }
                          if currentIndex < 0 { return }
                  
                  
                  Severity: Minor
                  Found in Sources/Instructions/Managers/Public/FlowManager.swift - About 45 mins 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

                  Function showOverlay has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                      func showOverlay(_ show: Bool, withDuration duration: TimeInterval,
                                       completion: ((Bool) -> Void)?) {
                          guard let overlay = overlayView else { return }
                  
                          overlay.isHidden = false

                  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

                  Function convert has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
                  Open

                      public func convert(point: CGPoint, from superview: UIView?) -> CGPoint {
                          // No superview, assuming frame in `instructionsRootView`'s coordinate system.
                          guard let superview = superview else {
                              print(ErrorMessage.Warning.anchorViewIsNotInTheViewHierarchy)
                              return point
                  Severity: Minor
                  Found in Sources/Instructions/Helpers/Public/CoachMarkCoordinateConverter.swift - About 45 mins 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

                  Function hide has 6 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                      func hide(coachMarkView: UIView, from coachMark: CoachMark, at index: Int,
                                animated: Bool, beforeTransition: Bool, completion: (() -> Void)? = nil) {
                  Severity: Minor
                  Found in Sources/Instructions/Managers/Internal/CoachMarkDisplayManager.swift - About 45 mins to fix
                    Severity
                    Category
                    Status
                    Source
                    Language