Post B7TGhQtBGZ0pF0qpf6 by nullenvk@yourwalls.today
(DIR) More posts by nullenvk@yourwalls.today
(DIR) Post #B7TFzTPAYCrIIoqt3g by wolf480pl@mstdn.io
0 likes, 0 repeats
Something that's probably obvious to y'all but I've only recently started doing it:When trying to preserve backwards compatibility, design for that compatibility to be removed.
(DIR) Post #B7TGhQtBGZ0pF0qpf6 by nullenvk@yourwalls.today
0 likes, 0 repeats
@wolf480pl as in, designing software so that it's possible to implement a compatibility layer on top of it?
(DIR) Post #B7TGhR4Abhnpn5zbn6 by nullenvk@yourwalls.today
0 likes, 0 repeats
@wolf480pl i generally agree with the statement, but i can think of at least a few possible interpretations here
(DIR) Post #B7TGhRF9wqaqLB8Nv6 by wolf480pl@mstdn.io
0 likes, 0 repeats
@nullenvk for example:1. think of the most orthogonal, elegant, simple way of expressing the logic you want to express2. observe that it's not backwards compatible3. add an ugly if at the start that handles the differences in a backwards-compatible manner, and prints a warning4. put that in an #ifdef to see if it works without it as wellofc implementing the old behaviour as a wrapper around the new behaviour is also good, but not always possible
(DIR) Post #B7TIvjDs6A5G44TQHY by wolf480pl@mstdn.io
0 likes, 0 repeats
@nullenvk one way to help with 1-3 is to make a table of all the cases, with input bits split between rows and columns, ordered in gray code, like if you were designing a digital circuit