In this article, I will be discussing one of the most fundamental rules in component architecture. This fundamental rule is often violated, leading to issues that are very hard (if not impossible) to solve.
Although I’ll be providing examples and talking in React terms, it’s all applicable to other UI libraries/frameworks, and probably to any component-based program, where components can have bi-directional communications.
Let’s begin by defining the terms controlled and uncontrolled. In one of React’s official blog posts, they define it as follows:
Data passed in as props can be thought of as controlled (because the parent component controls…
Responsibilities and it's derivative — abstractions — are one of the more ambiguous aspects of software quality, at least to me.
When I talk about software quality, I usually talk about quantifiable/measurable things like Complexity, length, naming conventions, formatting, duplications, and so on.
These measurable aspects can be checked for and guarded against by using static code analyzers. Unfortunately, there’s no code analyzer that can enforce rules for responsibility balancing and abstractions (yet?).
That’s something that only a human can detect since it’s not something tangible. …
The software industry has changed tremendously over the past decade. One of the things that’s changed the most is the software development process.
That change was triggered by an ongoing increase in the rate at which new user requirements have to be implemented, packaged, and shipped. Instead of waiting a year or more for the next software release, software manufacturers today have monthly, weekly, and even daily (or nightly) releases.
In the past, waterfall was the prevalent software development life cycle (SDLC) model. …
I’ve recently decided to move one of my WordPress sites to use a secure SSL connection. I’ve heard that Google was starting to use HTTPS as a ranking tool, and I couldn’t let that hurt my rankings. Since my WordPress site was a multisite — this process was a bit more complicated. On top of that, I had some redirection issues since the website was using a proxy. My goal was to have the site work properly without installing any additional HTTPS-enforcing plugins. …
Front-End software developer with a passion for software architecture, algorithm design, UI & animations. Amateur Woodworker, proud father of 3.