Ancestors

Written by mattcomi on 2025-01-09 at 03:29

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

Toot

Written by mattcomi on 2025-01-14 at 04:06

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

Descendants

Written by Russell Ivanovic on 2025-01-14 at 04:31

@mattcomi ha. Same. So far all your crazy quirks just seem like the way I program. What if everyone does this?!

=> More informations about this toot | More toots from rustyshelf@mastodon.social

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113824732230527763
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
255.963215 milliseconds
Gemini-to-HTML Time
1.07763 milliseconds

This content has been proxied by September (ba2dc).