• Mezzos@fediverser.communick.devB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I’ve been largely avoiding Black for years, purely because I’m obsessive about coding style and I love how clean Python looks with single quotes (I understand why they made the choice to enforce one style, but I’ve discovered I can be very stubborn!). I would always use linters to check for PEP8 violations, but I’d then fix the style myself.

      Unironically the fact that the Ruff autoformatter allows single quotes has made the difference in convincing me to adopt it (although it also helps that Ruff is already my preferred linter!).

    • jackerhack@fediverser.communick.devB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I use Black with quote normalisation disabled. My projects have a rule about string quotes:

      1. Single quotes for symbols that must be an exact match for a symbol elsewhere. Dict hashes, equality match, etc. These will be in API contracts (think JSON APIs), so any change will require care.

      2. Double quotes for user-facing strings, including friendly error/warning messages and i18n strings. These are meant to be periodically revised to improve usability.

      3. Exceptions are allowed when a string contains quote characters. Backslash escapes are uglier.

      Quote normalisation makes it harder for developers to recognise the purpose of a string.