What Defines Excellent Software Design? Ensuring Stability Through Early Non‑Functional Planning
The article argues that excellent software design requires anticipating non‑functional issues—such as sudden database load, traffic spikes, or third‑party timeouts—by implementing retries, degradation, monitoring, and boundary checks early in the design phase, and by isolating core modules, exemplified by a micro‑service per payment channel architecture.
The author repeatedly stresses that programmers must consider non‑functional problems—issues that product specifications rarely mention—when writing code.
Typical scenarios include a sudden surge in database pressure, unexpected traffic spikes, massive timeouts from third‑party APIs, and failures in non‑core features that cascade into core functionality problems.
A mature software engineer begins each day thinking about how to handle these cases through retries, graceful degradation, monitoring, and boundary checks, ensuring the program does not simply quit when an exception occurs; this habit reflects one aspect of excellent software design.
Going further, the author advocates guaranteeing system stability already during the design phase. The provided case study describes a payment platform where each payment channel (WeChat, Alipay, Douyin, foreign payments, etc.) is implemented as an independent microservice. The system processes half a million orders daily, so a failure in any single channel could cause massive loss.
In this context, isolating each payment method into its own microservice is presented as a good design choice. When the WeChat callback failed, the team immediately disabled (grayed out) the WeChat option at the checkout, allowing users to complete payments via other channels without total service interruption.
The author also emphasizes protecting core modules: as long as core components remain stable, minor faults elsewhere are tolerable. Consequently, any business requirement that modifies core modules must be handled with extra caution, employing various techniques to safeguard those modules.
Finally, the author concludes that mastering three practices—early planning for non‑functional concerns, isolating critical services such as payment channels, and continuously protecting core modules—identifies an engineer capable of producing truly excellent software designs.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
samdeepthink
Knowledge Planet: Old Dock's Tech Chronicles Zhihu: SamDeepThinking A technical manager who still codes heavily on the front line. From junior developer to tech lead, then tech manager, now leading the whole front‑ and back‑end development team—leveling up along the way. I have some insights on programming, career development, and tech management.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
