New account since lemmyrs.org went down, other @Deebsters are available.

  • 0 Posts
  • 112 Comments
Joined 1 year ago
cake
Cake day: October 16th, 2023

help-circle











  • In time-based pagination, the suggested fix to lots of data in a selected timespan is:

    simply adding a limit to the amount of records returned (potentially via a query parameter) transparently solves it.

    This means clients can’t see all the results, unless you add a way to view other pages of data, which is just pagination again. Or is the intended design that clients view either the first x results (the default) or view all results?

    The problem with articles like OPs and others is that they don’t allow custom sorting, which is often a requirement, e.g. interfaces that present the data in a table, where column headers can be clicked to sort.



  • I felt the same when reading that book, and I never finished it because following the rules he suggested produced horrible code.

    If memory serves, he also suggested that the ideal if statement only had one line inside, and you should move multiple lines into a function to achieve this.

    I once had to work on a codebase that seemed like it had followed his style, and it was an awful experience. There were hundreds of tiny functions (most only used once) and even with an IDE it was a chore to follow the logic. Best case the compiler removed most of this “clean” code and the runtime wasn’t spending most of its time managing the stack like a developer had to do.




  • If you need to refer to a key with ~ or / in its name, you must escape the characters with ~0 and ~1 respectively. For example, to get “baz” from { “foo/bar~”: “baz” } you’d use the pointer /foo1bar0.

    I guess they’re using ~ for escaping since backslash is already escaping text content, not that you’d see it very often in keys.

    Having magic values instead of using ~~ and ~/ feels ugly.