Seb configuration tools1/3/2024 ![]() ![]() ![]() The one in front of the door is closest, so when I can, I store my bike there. One is right in front of the door, the other around the corner. There are two bike stalls near my apartment. There's no silver bullet to UI complexity, all methods have their caveats. Introduce a message bus: connect the inventory table and the user avatar component to the shared pipe that is used for distributing events in the applicationĬonnect the boxes and lift the state up seem to be the most common choices for React apps respectively prop drilling and context or single state trees (like Redux).Lift the state up: move the internal state of the user avatar component and the state of the inventory table into a separate box/class.Connect the boxes: create the user avatar component and pass its instance to the inventory table component.RoyalSloth reviews the three most common patterns to model interconnected state in a user interface. ↗ The complexity that lives in the GUI This lowers the odds that a comment will get out of sync, especially useful in configuration files.įor more context head to Henrik's blog, The Pug Automatic. Whether the discrepancy is caught immediately by the author, or in review, or by another developer far down the line, it will be explicitly clear that the comment was not intended for the current value. ![]() + $timeoutMs = 1000 // 1000ms equals 1 second Henrik Nyh suggests to make comments more resilient to change with double-entry bookkeeping. This is a short writeup on the thought process we went through as we updated our logic to support a new feature now and allow more options in the future. It was food for thought about the flexibility granular interfaces provide, and choosing the right abstraction at the right time. It is a LOT easier to scale code from a cardinality of 2 to 3 than it is to refactor from a cardinality of 1 to 2.Ī few weeks ago a spec change for an application we're working on forced us to refactor part of the codebase. Until we decide to add multi-team support, and the $user->team BelongsTo relation suddenly needs to be replaced in 50 places. This one's permanently stored in my Pinboard - a conversation I had this morning triggered a re-read. … by chasing trends we would never be the ones to set them. Don't choose a direction based on the tools in your disposal. ![]() Set a direction, and choose the tools you'll need to get there. Just one line of space can make the difference.Ĭrypto, AI, JavaScript frameworks,… are interesting tech, but that doesn't mean they need to be shoehorned into every product. We like to say we add some "breathing space" to our code. Just like reading text, grouping code in paragraphs can be helpful to improve its readability. Grug no able see complexity demon, but grug sense presence in code base So much good stuff in here I could quote just any paragraph.Ĭomplexity is spirit demon that enter codebase through well-meaning but ultimately very clubbable non grug-brain developers and project managers who not fear complexity spirit demon or even know about sometime If you're going to read one thing today, make it this. Standards are useful, but after a while they represent the beliefs of the past, not the needs of the future.Ī good quote from Mathias Verraes on standards. The further away from your comfort zone the better. If you want to become a better programmer, my number one advice is to learn another programming language. Explore the other side & learn a new language ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |