Showing 27 of 47 total issues
Function getLocations
has a Cognitive Complexity of 68 (exceeds 5 allowed). Consider refactoring. Open
func getLocations(completion: @escaping (_ locations: [HistoricLocation]) -> Void)
{
var locations = [HistoricLocation]()
Alamofire.request(locationsUrlString).validate().responseJSON
- Read upRead up
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 getLocations
has a Cognitive Complexity of 38 (exceeds 5 allowed). Consider refactoring. Open
func getLocations(completion: @escaping ([HistoricLocation]) -> Void)
{
let historicLocationsRef = databaseRef.child("historic-locations").child("orlando")
historicLocationsRef.observeSingleEvent(of: .value, with:
- Read upRead up
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
File LocationListVC.swift
has 273 lines of code (exceeds 250 allowed). Consider refactoring. Open
import UIKit
import MapKit
import MagicalRecord
class LocationListVC: UIViewController
Function getLocations
has 59 lines of code (exceeds 25 allowed). Consider refactoring. Open
func getLocations(completion: @escaping (_ locations: [HistoricLocation]) -> Void)
{
var locations = [HistoricLocation]()
Alamofire.request(locationsUrlString).validate().responseJSON
Function getLocations
has 47 lines of code (exceeds 25 allowed). Consider refactoring. Open
func getLocations(completion: @escaping ([HistoricLocation]) -> Void)
{
let historicLocationsRef = databaseRef.child("historic-locations").child("orlando")
historicLocationsRef.observeSingleEvent(of: .value, with:
Function setAvailableTourLocations
has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring. Open
func setAvailableTourLocations(allLocations: [HistoricLocation])
{
if let tourLocations = self.tour?.historicLocations
{
if tourLocations.count > 0
- Read upRead up
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 deleteTour
has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring. Open
func deleteTour(_ sender: UIButton)
{
if let cell = sender.superview?.superview as? DashboardCollectionViewCell
{
let alertController = UIAlertController(title: "Are you sure?", message: "Are you sure you want to delete \(cell.tourName.text!)?", preferredStyle: .alert)
- Read upRead up
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 layoutAttributesForElements
has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring. Open
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]?
{
if let attributesArrayInRect = super.layoutAttributesForElements(in: rect)
{
for attributes in attributesArrayInRect
- Read upRead up
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 viewWillAppear
has 26 lines of code (exceeds 25 allowed). Consider refactoring. Open
override func viewWillAppear(_ animated: Bool)
{
super.viewWillAppear(animated)
guard let location = location else
Avoid deeply nested control flow statements. Open
if let id = subJson["id"].string
{
location.id = NumberFormatter().number(from: id)
}
Avoid deeply nested control flow statements. Open
if let description = subJson["downtown_walking_tour"].string
{
location.locationDescription = description
}
Avoid deeply nested control flow statements. Open
if let title = locationJSON["name"].string,
let description = locationJSON["description"].string,
let address = locationJSON["address"].string,
let locationType = locationJSON["type"].string
{
Avoid deeply nested control flow statements. Open
if let address = subJson["address"].string
{
location.address = address
}
Avoid deeply nested control flow statements. Open
if let localRegistryDate = locationJSON["localRegistryDate"].string
{
location.localRegistryDate = formatter.date(from: localRegistryDate) as NSDate?
}
Avoid deeply nested control flow statements. Open
if let nrhpDate = subJson["nhrp"].string
{
location.nrhpDate = DateFormatter().date(from: nrhpDate) as NSDate?
}
Avoid deeply nested control flow statements. Open
if let nationalRegistryDate = locationJSON["nationalRegistryDate"].string
{
location.nrhpDate = formatter.date(from: nationalRegistryDate) as NSDate?
}
Avoid deeply nested control flow statements. Open
if let latitude = subJson["location"]["coordinates"][1].double
{
location.latitude = NSNumber(value: latitude)
}
Avoid deeply nested control flow statements. Open
if let title = subJson["name"].string
{
location.locationTitle = title
}
Avoid deeply nested control flow statements. Open
if let longitude = subJson["location"]["coordinates"][0].double
{
location.longitude = NSNumber(value: longitude)
}
Function addToTourPressed
has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring. Open
@IBAction func addToTourPressed(sender: UIButton)
{
if let cellView = sender.findSuperViewOfType(superViewClass: LocationTableViewCell.self) as? LocationTableViewCell
{
let locationId = cellView.locationId
- Read upRead up
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"