zhuhaow/NEKit

View on GitHub

Showing 607 of 607 total issues

Function should have at least one blank line after it
Open

    }
Severity: Minor
Found in src/Event/DebugObserver.swift by tailor

function-whitespace

Every function and method declaration should have one blank line before and after itself. An exception to this rule are functions that are declared at the start of a file (only need one blank line after their declaration) or at the end of a file (only need one blank line before their declaration). Comments immediately before a function declaration (no blank lines between them and the function) are considered to be part of the declaration.

Preferred

func function1() {
  var text = 1
  var text = 2
}

function1()

// a comment
func function2() {
  // something goes here
}

struct SomeStruct {

  func function3() {
    // something goes here
  }

  func function4() {
    // something else goes here
  };

}

func function5() {
  // something goes here
}

Not Preferred

func function1() {
  var text = 1
  var text = 2
}
function1()
// a comment
func function2() {
  // something goes here
}

struct SomeStruct {
  func function3() {
    // something goes here
  }

  func function4() {
    // something else goes here
  };
}
func function5() {
  // something goes here
}

Force casts should be avoided
Open

        udpParser.destinationPort = (session.requestIPPacket!.protocolParser as! UDPProtocolParser).sourcePort
Severity: Minor
Found in src/IPStack/DNS/DNSServer.swift by tailor

forced-type-cast

Avoid using the forced form of the type cast operator (as!) because Swift is not able to determine at compile time if the type conversion will succeed. In the event of an unsuccessful conversion, a runtime error will be triggered. The conditional form of the type cast operator (as?) is safer and should be used when possible.

Preferred

if let movie = item as? Movie {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}

Not Preferred

let movie = item as! Movie
print("Movie: '\(movie.name)', dir. \(movie.director)")

Line should not have any trailing whitespace
Open

     
Severity: Minor
Found in src/IPStack/Packet/IPPacket.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 src/IPStack/Packet/IPPacket.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 src/IPStack/Packet/IPPacket.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 src/IPStack/TUNInterface.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••¬

Colon at column 78 should have exactly one space after it
Open

    try moduleMapFile.write(toFile: moduleMapPath, atomically: true, encoding:String.Encoding.utf8)
Severity: Minor
Found in GenerateCommonCryptoModule.swift by tailor

colon-whitespace

There should be no whitespace preceding the colon, exactly one whitespace after the colon for: * var, class, struct, protocol, extension, func, and tuple declarations * dict literals and types * case statements

However, for conditional expressions there should be a single whitespace before and after the colon.

Variable declarations

Preferred

var x: Int = 2

Not Preferred

var x : Int
var y:   String

Dictionary literals and types

Preferred

var x = [ 'key1': 1, 'key2': 2 ]
var y: [ Int: String ]

Not Preferred

var x = [ 'key1' : 1, 'key2':  3]
var y: [ Int :    String ]

Case statements

Preferred

switch character {
case "a": doSomething(a);
default: alert();
}

Not Preferred

switch character {
case "a" : doSomething(a);
default:     alert();
}

Class, Struct, Protocol, and Extension declarations

Preferred

class ClassName: BaseClass {
}

struct StructName: BaseStruct {
}

protocol ProtocolName: AnotherProtocol {
}

extension TypeName: ProtocolName {
}

Not Preferred

class ClassName : BaseClass {
}

struct StructName:  BaseStruct {
}

protocol ProtocolName:AnotherProtocol {
}

extension TypeName : ProtocolName {
}

Tuple declarations

Preferred

var y = (key: 1, value: 2)

Not Preferred

var y = (key:1, value : 2)

Function declarations

Preferred

func someFunction<t: someclass u: someprotocol>(someT: T, someU: U) {
}</t:>

Not Preferred

func someFunction<t : someclass u:someprotocol>(someT: T, someU: U) {
}</t>

Conditional expressions

Preferred

var x = condition ? a : b

Not Preferred

var x = condition ? a: b
var x = condition ? a   : b

Function should have at least one blank line after it
Open

    }
Severity: Minor
Found in src/IPStack/TUNInterface.swift by tailor

function-whitespace

Every function and method declaration should have one blank line before and after itself. An exception to this rule are functions that are declared at the start of a file (only need one blank line after their declaration) or at the end of a file (only need one blank line before their declaration). Comments immediately before a function declaration (no blank lines between them and the function) are considered to be part of the declaration.

Preferred

func function1() {
  var text = 1
  var text = 2
}

function1()

// a comment
func function2() {
  // something goes here
}

struct SomeStruct {

  func function3() {
    // something goes here
  }

  func function4() {
    // something else goes here
  };

}

func function5() {
  // something goes here
}

Not Preferred

func function1() {
  var text = 1
  var text = 2
}
function1()
// a comment
func function2() {
  // something goes here
}

struct SomeStruct {
  func function3() {
    // something goes here
  }

  func function4() {
    // something else goes here
  };
}
func function5() {
  // something goes here
}

Line should not have any trailing whitespace
Open

    
Severity: Minor
Found in src/Messages/ConnectSession.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 src/Messages/ConnectSession.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••¬

Colon at column 78 should have exactly one space after it
Open

    static func parseSpeedAdapterFactory(_ config: Yaml, factoryDict: [String:AdapterFactory]) throws -> SpeedAdapterFactory {

colon-whitespace

There should be no whitespace preceding the colon, exactly one whitespace after the colon for: * var, class, struct, protocol, extension, func, and tuple declarations * dict literals and types * case statements

However, for conditional expressions there should be a single whitespace before and after the colon.

Variable declarations

Preferred

var x: Int = 2

Not Preferred

var x : Int
var y:   String

Dictionary literals and types

Preferred

var x = [ 'key1': 1, 'key2': 2 ]
var y: [ Int: String ]

Not Preferred

var x = [ 'key1' : 1, 'key2':  3]
var y: [ Int :    String ]

Case statements

Preferred

switch character {
case "a": doSomething(a);
default: alert();
}

Not Preferred

switch character {
case "a" : doSomething(a);
default:     alert();
}

Class, Struct, Protocol, and Extension declarations

Preferred

class ClassName: BaseClass {
}

struct StructName: BaseStruct {
}

protocol ProtocolName: AnotherProtocol {
}

extension TypeName: ProtocolName {
}

Not Preferred

class ClassName : BaseClass {
}

struct StructName:  BaseStruct {
}

protocol ProtocolName:AnotherProtocol {
}

extension TypeName : ProtocolName {
}

Tuple declarations

Preferred

var y = (key: 1, value: 2)

Not Preferred

var y = (key:1, value : 2)

Function declarations

Preferred

func someFunction<t: someclass u: someprotocol>(someT: T, someU: U) {
}</t:>

Not Preferred

func someFunction<t : someclass u:someprotocol>(someT: T, someU: U) {
}</t>

Conditional expressions

Preferred

var x = condition ? a : b

Not Preferred

var x = condition ? a: b
var x = condition ? a   : b

Line should not have any trailing whitespace
Open

    
Severity: Minor
Found in src/Messages/ConnectSession.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••¬

Parentheses content should not start with whitespace
Open

    open func update( _ data: inout Data) {
Severity: Minor
Found in src/Crypto/CCCrypto.swift by tailor

Line should not have any trailing whitespace
Open

 
Severity: Minor
Found in src/ProxyServer/ProxyServer.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 src/RawSocket/GCDTCPSocket.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••¬

Colon at column 21 should have exactly one space after it
Open

        case .SHA512:   result = kCCHmacAlgSHA512
Severity: Minor
Found in src/Crypto/CryptoEnum.swift by tailor

colon-whitespace

There should be no whitespace preceding the colon, exactly one whitespace after the colon for: * var, class, struct, protocol, extension, func, and tuple declarations * dict literals and types * case statements

However, for conditional expressions there should be a single whitespace before and after the colon.

Variable declarations

Preferred

var x: Int = 2

Not Preferred

var x : Int
var y:   String

Dictionary literals and types

Preferred

var x = [ 'key1': 1, 'key2': 2 ]
var y: [ Int: String ]

Not Preferred

var x = [ 'key1' : 1, 'key2':  3]
var y: [ Int :    String ]

Case statements

Preferred

switch character {
case "a": doSomething(a);
default: alert();
}

Not Preferred

switch character {
case "a" : doSomething(a);
default:     alert();
}

Class, Struct, Protocol, and Extension declarations

Preferred

class ClassName: BaseClass {
}

struct StructName: BaseStruct {
}

protocol ProtocolName: AnotherProtocol {
}

extension TypeName: ProtocolName {
}

Not Preferred

class ClassName : BaseClass {
}

struct StructName:  BaseStruct {
}

protocol ProtocolName:AnotherProtocol {
}

extension TypeName : ProtocolName {
}

Tuple declarations

Preferred

var y = (key: 1, value: 2)

Not Preferred

var y = (key:1, value : 2)

Function declarations

Preferred

func someFunction<t: someclass u: someprotocol>(someT: T, someU: U) {
}</t:>

Not Preferred

func someFunction<t : someclass u:someprotocol>(someT: T, someU: U) {
}</t>

Conditional expressions

Preferred

var x = condition ? a : b

Not Preferred

var x = condition ? a: b
var x = condition ? a   : b

Colon at column 21 should have exactly one space after it
Open

        case .SHA256:   result = CC_SHA256_DIGEST_LENGTH
Severity: Minor
Found in src/Crypto/CryptoEnum.swift by tailor

colon-whitespace

There should be no whitespace preceding the colon, exactly one whitespace after the colon for: * var, class, struct, protocol, extension, func, and tuple declarations * dict literals and types * case statements

However, for conditional expressions there should be a single whitespace before and after the colon.

Variable declarations

Preferred

var x: Int = 2

Not Preferred

var x : Int
var y:   String

Dictionary literals and types

Preferred

var x = [ 'key1': 1, 'key2': 2 ]
var y: [ Int: String ]

Not Preferred

var x = [ 'key1' : 1, 'key2':  3]
var y: [ Int :    String ]

Case statements

Preferred

switch character {
case "a": doSomething(a);
default: alert();
}

Not Preferred

switch character {
case "a" : doSomething(a);
default:     alert();
}

Class, Struct, Protocol, and Extension declarations

Preferred

class ClassName: BaseClass {
}

struct StructName: BaseStruct {
}

protocol ProtocolName: AnotherProtocol {
}

extension TypeName: ProtocolName {
}

Not Preferred

class ClassName : BaseClass {
}

struct StructName:  BaseStruct {
}

protocol ProtocolName:AnotherProtocol {
}

extension TypeName : ProtocolName {
}

Tuple declarations

Preferred

var y = (key: 1, value: 2)

Not Preferred

var y = (key:1, value : 2)

Function declarations

Preferred

func someFunction<t: someclass u: someprotocol>(someT: T, someU: U) {
}</t:>

Not Preferred

func someFunction<t : someclass u:someprotocol>(someT: T, someU: U) {
}</t>

Conditional expressions

Preferred

var x = condition ? a : b

Not Preferred

var x = condition ? a: b
var x = condition ? a   : b

Line should not have any trailing whitespace
Open

     
Severity: Minor
Found in src/RawSocket/NWTCPSocket.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••¬

Colon at column 19 should have exactly one space after it
Open

        case .SHA1:     result = CC_SHA1_DIGEST_LENGTH
Severity: Minor
Found in src/Crypto/CryptoEnum.swift by tailor

colon-whitespace

There should be no whitespace preceding the colon, exactly one whitespace after the colon for: * var, class, struct, protocol, extension, func, and tuple declarations * dict literals and types * case statements

However, for conditional expressions there should be a single whitespace before and after the colon.

Variable declarations

Preferred

var x: Int = 2

Not Preferred

var x : Int
var y:   String

Dictionary literals and types

Preferred

var x = [ 'key1': 1, 'key2': 2 ]
var y: [ Int: String ]

Not Preferred

var x = [ 'key1' : 1, 'key2':  3]
var y: [ Int :    String ]

Case statements

Preferred

switch character {
case "a": doSomething(a);
default: alert();
}

Not Preferred

switch character {
case "a" : doSomething(a);
default:     alert();
}

Class, Struct, Protocol, and Extension declarations

Preferred

class ClassName: BaseClass {
}

struct StructName: BaseStruct {
}

protocol ProtocolName: AnotherProtocol {
}

extension TypeName: ProtocolName {
}

Not Preferred

class ClassName : BaseClass {
}

struct StructName:  BaseStruct {
}

protocol ProtocolName:AnotherProtocol {
}

extension TypeName : ProtocolName {
}

Tuple declarations

Preferred

var y = (key: 1, value: 2)

Not Preferred

var y = (key:1, value : 2)

Function declarations

Preferred

func someFunction<t: someclass u: someprotocol>(someT: T, someU: U) {
}</t:>

Not Preferred

func someFunction<t : someclass u:someprotocol>(someT: T, someU: U) {
}</t>

Conditional expressions

Preferred

var x = condition ? a : b

Not Preferred

var x = condition ? a: b
var x = condition ? a   : b

Line should not have any trailing whitespace
Open

    
Severity: Minor
Found in src/RawSocket/NWUDPSocket.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••¬
Severity
Category
Status
Source
Language