One of my developer quirks, (i.e. a sign that you're looking at my code) is that I avoid 'default' in switch statements. If a new enum case is added, I want my code to break. For example, I don't do this:
switch format {
case .date: // Handle date
case .dateTime: // Handle dateTime
default: break
}
If a new kind of date format is added, (e.g. dateTimeLocal), this will continue to compile. This is bad. I want the compiler to direct my attention to this switch so that I know I need to support the new case. My code would look like this:
switch format {
case .date: // Handle date
case .dateTime: // Handle dateTime
case .text, .richText, .number:
break
}
If a new type is added (date or otherwise), I’ll be forced to revisit this switch.
=> More informations about this toot | More toots from mattcomi@hachyderm.io
Another developer quirk of mine (this one is particularly quirky).
If I'm conforming to a protocol, and a function is being intentionally left blank, I'll put the opening and closing brackets on the same line, after the declaration.
struct ConsoleLogger: Logger {
…
func flush() {}
}
This signals that the function has been left blank deliberately, not accidentally.
=> More informations about this toot | More toots from mattcomi@hachyderm.io
Here's another one of my (Swift) developer quirks: I break my guards into separate lines.
I do this:
guard let provider = widgetProvider() else { return nil }
guard let widget = provider?.widget else { return nil }
guard widget.isFancy else { return nil }
Not this:
guard let widget = widgetProvider()?.widget, widget.isFancy else { return nil }
This makes it possible to use breakpoints to instantly determine what's wrong with the widget. If you used the single guard, you'd have to do some digging to work out exactly where it failed.
=> More informations about this toot | More toots from mattcomi@hachyderm.io
@mattcomi ok. We have ceased to be identical. I guess we really are two different people. Also you are now banned from my code base for this heresy.
=> More informations about this toot | More toots from rustyshelf@mastodon.social
@rustyshelf ok cool, I’m just going to add a calendar event for Jan 25, 2025: the day we became sworn enemies. I suggest you do the same.
=> More informations about this toot | More toots from mattcomi@hachyderm.io
@mattcomi don’t worry. Siri added a reminder next January to alienate and swerve Jeremy. I’m sure I’ll remember what that means.
=> More informations about this toot | More toots from rustyshelf@mastodon.social This content has been proxied by September (3851b).Proxy Information
text/gemini