Why "For empty arrays and dictionaries, use type annotation. "
oneGain opened this issue · comments
oneGain commented
Type Inference
Prefer compact code and let the compiler infer the type for constants or variables of single instances. Type inference is also appropriate for small, non-empty arrays and dictionaries. When required, specify the specific type such as CGFloat or Int16.
Preferred:
let message = "Click the button" let currentBounds = computeViewBounds() var names = ["Mic", "Sam", "Christine"] let maximumWidth: CGFloat = 106.5
Not Preferred:
let message: String = "Click the button" let currentBounds: CGRect = computeViewBounds() var names = [String]() Type Annotation for Empty Arrays and Dictionaries For empty arrays and dictionaries, use type annotation. (For an array or dictionary assigned to a large, multi-line literal, use type annotation.)
Preferred:
var names: [String] = [] var lookup: [String: Int] = [:]
Not Preferred:
var names = [String]() var lookup = [String: Int]()
NOTE: Following this guideline means picking descriptive names is even more important than before.
Why "For empty arrays and dictionaries, use type annotation. "
Jessy Catterwaul commented
Hey!
I think this is addressed in #269.