Kinvey/swift-sdk

View on GitHub
Kinvey/Kinvey/Migration.swift

Summary

Maintainability
A
2 hrs
Test Coverage

Function execute has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
Open

    open func execute<T: Entity>(_ type: T.Type, oldClassName: String? = nil, migrationObjectHandler: MigrationObjectHandler? = nil) {
        let className = type.className()
        let oldSchemaClassName = oldClassName ?? className
        let oldObjectSchema = realmMigration.oldSchema[oldSchemaClassName]
        if let oldObjectSchema = oldObjectSchema {
Severity: Minor
Found in Kinvey/Kinvey/Migration.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 performMigration has 5 arguments (exceeds 4 allowed). Consider refactoring.
Open

        persistenceId: String,
        encryptionKey: Data? = nil,
        schemaVersion: CUnsignedLongLong = 0,
        migrationHandler: Migration.MigrationHandler? = nil,
        compactCacheOnLaunch: Bool = true
Severity: Minor
Found in Kinvey/Kinvey/Migration.swift - About 35 mins to fix

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Single-line comment should start with whitespace
    Open

            var realmBaseConfiguration = Realm.Configuration.defaultConfiguration //copy
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    comment-whitespace

    Prefer at least one whitespace character after a comment opening symbol (//, ///, /*, or /**) and at least one whitespace character before a comment closing symbol (*/).

    Preferred

    // This is a comment
    
    /// This is a documentation comment
    
    /* This is a
    multi-line comment */
    
    /* This is a
    multi-line comment
    */
    
    /** This is a
    documentation multi-line
    comment
    */

    Not Preferred

    //This is a comment
    
    ///This is a documentation comment
    
    /*This is a
    multi-line comment*/
    
    /**This is a multi-line
    documentation comment */

    Single-line comment should start with whitespace
    Open

            var realmConfiguration = realmConfiguration //copy
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    comment-whitespace

    Prefer at least one whitespace character after a comment opening symbol (//, ///, /*, or /**) and at least one whitespace character before a comment closing symbol (*/).

    Preferred

    // This is a comment
    
    /// This is a documentation comment
    
    /* This is a
    multi-line comment */
    
    /* This is a
    multi-line comment
    */
    
    /** This is a
    documentation multi-line
    comment
    */

    Not Preferred

    //This is a comment
    
    ///This is a documentation comment
    
    /*This is a
    multi-line comment*/
    
    /**This is a multi-line
    documentation comment */

    Single-line comment should start with whitespace
    Open

                    var realmConfiguration = realmBaseConfiguration //copy
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    comment-whitespace

    Prefer at least one whitespace character after a comment opening symbol (//, ///, /*, or /**) and at least one whitespace character before a comment closing symbol (*/).

    Preferred

    // This is a comment
    
    /// This is a documentation comment
    
    /* This is a
    multi-line comment */
    
    /* This is a
    multi-line comment
    */
    
    /** This is a
    documentation multi-line
    comment
    */

    Not Preferred

    //This is a comment
    
    ///This is a documentation comment
    
    /*This is a
    multi-line comment*/
    
    /**This is a multi-line
    documentation comment */

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

                        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Closure is the function's final argument and may be passed as a trailing closure instead
    Open

                for realmFileURL in allFilesURL.filter({ $0.lastPathComponent.hasSuffix(".realm") }) {
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-closure

    Closures that are the last argument of a function should be passed into the function using trailing closure syntax.

    Preferred

    reversed = names.sort { s1, s2 in return s1 > s2 }

    Not Preferred

    reversed = names.sort({ s1, s2 in return s1 > s2 })

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    Line should not have any trailing whitespace
    Open

        
    Severity: Minor
    Found in Kinvey/Kinvey/Migration.swift by tailor

    trailing-whitespace

    Flag whitespace after the last non-whitespace character on each line until the newline.

    Preferred

    let number = 42¬

    Not Preferred

    let number = 42••¬

    There are no issues that match your filters.

    Category
    Status