Tagged articles

software design

411 articles · Page 1 of 5
Linyb Geek Road
Linyb Geek Road
Jul 1, 2026 · Fundamentals

Why Random Feature Flags Turn Good Software Into a Nightmare

The article analyzes how the unchecked addition of configuration flags inflates code complexity, creates combinatorial testing burdens, and hides design flaws, while offering practical guidelines and community perspectives on managing flag debt responsibly.

configuration managementfeature flagssoftware design
0 likes · 11 min read
Why Random Feature Flags Turn Good Software Into a Nightmare
ZhiKe AI
ZhiKe AI
Jun 24, 2026 · Fundamentals

Why One Architecture Diagram Never Captures an Entire System (Lessons After 3 Years)

After three years of drawing architecture diagrams, the author realized that a single diagram cannot convey a whole system; instead, a set of purpose‑specific diagrams—business, application, system, technical, data, and deployment—must be used, each tailored to its audience and clarified with the C4 modeling approach.

C4 modelarchitecture diagramssoftware design
0 likes · 23 min read
Why One Architecture Diagram Never Captures an Entire System (Lessons After 3 Years)
ZhiKe AI
ZhiKe AI
Jun 3, 2026 · Fundamentals

Why the Dependency Rule Is the Real Soul of Clean Architecture

The article explains that Clean Architecture’s true essence lies in the immutable Dependency Rule—dependencies must always point inward—while the four‑layer diagram is merely a flexible skeleton, and it clarifies common misconceptions, ties to SOLID, and shows how to apply the rule across Hexagonal and Onion variants.

Clean ArchitectureDependency RuleSOLID
0 likes · 12 min read
Why the Dependency Rule Is the Real Soul of Clean Architecture
ZhiKe AI
ZhiKe AI
Jun 1, 2026 · Fundamentals

When Knowing 7 Development Principles Still Fails: How to Apply DRY, KISS, YAGNI, POLA, and More

The article argues that merely knowing popular coding principles is insufficient, and it provides concrete decision frameworks, code examples, and trade‑off analyses for DRY, KISS, YAGNI, POLA, the Boy Scout Rule, Fail‑Fast, and Separation of Concerns so developers can choose when to abstract, simplify, defer implementation, ensure expected behavior, improve incrementally, expose errors early, and isolate change boundaries.

DRYKISSPOLA
0 likes · 14 min read
When Knowing 7 Development Principles Still Fails: How to Apply DRY, KISS, YAGNI, POLA, and More
AI Engineer Programming
AI Engineer Programming
Apr 29, 2026 · Fundamentals

Balancing Core Stability and Extensibility: Design and Implementation of pi Agent’s Extension System

The article explains how the pi agent’s extension system resolves the tension between core stability and capability extensibility by using inversion of control, dependency injection, adapter and event‑driven patterns, two‑phase initialization, and concrete Python implementations, while comparing it with other plugin architectures.

AI AgentDependency InjectionPython
0 likes · 26 min read
Balancing Core Stability and Extensibility: Design and Implementation of pi Agent’s Extension System
Architecture Musings
Architecture Musings
Apr 17, 2026 · Artificial Intelligence

Building AI‑Native Design Docs with Architecture as Code

The article explains why traditional diagram‑as‑code approaches fall short for AI agents, introduces Architecture as Code as a structured, version‑controlled alternative, discusses the role of interface contracts and narrative documentation, and outlines the need for deterministic context engineering to make design documents truly live for both humans and machines.

AI AgentsDiagram as Codearchitecture as code
0 likes · 22 min read
Building AI‑Native Design Docs with Architecture as Code
Yunqi AI+
Yunqi AI+
Apr 11, 2026 · Fundamentals

Two Principles to Make AI‑Generated Code Easy to Maintain

The article explains how the Composed Method Pattern (CMP) and the Single Level of Abstraction Principle (SLAP) can keep AI‑generated code readable, maintainable, and team‑friendly by structuring entry methods as narratives and ensuring each method stays at a single abstraction level.

AI code generationCMPSLAP
0 likes · 16 min read
Two Principles to Make AI‑Generated Code Easy to Maintain
Architecture Musings
Architecture Musings
Apr 4, 2026 · Industry Insights

Exploring the Harness Architecture Concept: A First Look

This article examines the emerging "Harness Architecture" idea, arguing that constraints should be applied before AI code generation by leveraging stepwise refinement, modular contracts, and living design documents to improve precision, reduce token usage, and prevent architectural drift in large software projects.

AI EngineeringHarness architectureStepwise Refinement
0 likes · 8 min read
Exploring the Harness Architecture Concept: A First Look
AI Waka
AI Waka
Mar 25, 2026 · Artificial Intelligence

Why Persistent Specs Matter: Building Reliable AI Agents with an Artifact Layer

The article explains how an artifact layer—comprising specs, guidance files, skills, tests, and logs—preserves intent across AI agent sessions, enabling reliable, secure, and maintainable agent‑driven software development through spec‑first practices, bounded loops, and robust verification stacks.

AI AgentsAgent Engineeringartifact layer
0 likes · 16 min read
Why Persistent Specs Matter: Building Reliable AI Agents with an Artifact Layer
Selected Java Interview Questions
Selected Java Interview Questions
Mar 10, 2026 · Backend Development

Why Over‑Encapsulation Breaks Your Code and How to Fix It

The article explains how excessive, fake, or chaotic encapsulation creates hidden risks, reduces maintainability, and hampers extensibility, then provides concrete refactoring examples and practical principles to achieve clean, purposeful encapsulation in backend code.

Encapsulationbest practicescode maintainability
0 likes · 11 min read
Why Over‑Encapsulation Breaks Your Code and How to Fix It
IT Services Circle
IT Services Circle
Mar 4, 2026 · Fundamentals

Why utils.py Turns Into a Code Dump and 3 Better Alternatives

A bloated utils.py quickly becomes a maintenance nightmare because it mixes unrelated logic, hides business rules, and creates tight coupling, but by reorganizing functions into domain‑specific modules, class methods, or tiny generic utility packages you can restore clarity, testability, and scalability.

code organizationrefactoringsoftware design
0 likes · 11 min read
Why utils.py Turns Into a Code Dump and 3 Better Alternatives
Code Wrench
Code Wrench
Feb 20, 2026 · Fundamentals

Why Go and Rust Reject Inheritance: Embracing Composition Over Class Hierarchies

Developers transitioning from Java or C# to Go or Rust often miss class inheritance, but both languages deliberately avoid it; this article explains the pitfalls of inheritance, the benefits of composition, interfaces, and traits, and offers practical guidance for designing maintainable, concurrent systems without inheritance.

Traitssoftware design
0 likes · 10 min read
Why Go and Rust Reject Inheritance: Embracing Composition Over Class Hierarchies
IT Learning Made Simple
IT Learning Made Simple
Feb 11, 2026 · R&D Management

Chapter 1: Why a System Architect Is the Tech Industry’s “Chief Director”

The article explains that a system architect functions like a film’s chief director—interpreting requirements, designing the overall structure, coordinating teams, ensuring delivery, and continuously improving the system—while highlighting common misconceptions, core responsibilities, required abilities, and exam‑focused pitfalls.

architecture patternsexam preparationsoftware design
0 likes · 34 min read
Chapter 1: Why a System Architect Is the Tech Industry’s “Chief Director”
Shepherd Advanced Notes
Shepherd Advanced Notes
Feb 4, 2026 · Backend Development

Mastering Java Code Comments: The Ultimate Guide to High‑Quality, Readable, Architecture‑Level Documentation

The article explains why high‑quality Javadoc is essential for enterprise‑level Java backend projects, walks through the most common Javadoc tags and HTML elements, provides concrete code examples—including @param, @return, @throws, @see, @deprecated—and shows how thorough comments improve readability, maintainability, and serve as a catalyst for refactoring.

Backend DevelopmentJavabest practices
0 likes · 14 min read
Mastering Java Code Comments: The Ultimate Guide to High‑Quality, Readable, Architecture‑Level Documentation
SpringMeng
SpringMeng
Jan 29, 2026 · Fundamentals

Stop Over‑Encapsulating: How Bad Encapsulation Leads to Hidden Bugs

The article analyzes three harmful forms of improper encapsulation—over‑encapsulation, fake encapsulation, and chaotic encapsulation—illustrates each with Java code examples, explains the resulting development inefficiencies, extensibility issues, and debugging difficulties, and offers concrete principles to avoid these pitfalls.

EncapsulationJavacode quality
0 likes · 12 min read
Stop Over‑Encapsulating: How Bad Encapsulation Leads to Hidden Bugs
java1234
java1234
Jan 29, 2026 · Fundamentals

When Over‑Encapsulation Breaks Your Code: Real‑World Pitfalls and Fixes

The article analyzes three common forms of bad encapsulation in Java—over‑encapsulation, false encapsulation, and chaotic encapsulation—illustrates their hidden risks with concrete code examples, and offers practical principles to restore clear responsibilities, minimal interfaces, and flexible design.

EncapsulationJavacode quality
0 likes · 13 min read
When Over‑Encapsulation Breaks Your Code: Real‑World Pitfalls and Fixes
Shepherd Advanced Notes
Shepherd Advanced Notes
Jan 13, 2026 · Fundamentals

How to Name Code for Maximum Readability and Maintainability

The article explains why clean, well‑named code is essential for productivity, outlines the hidden costs of messy naming, and provides concrete guidelines and examples—including variable, class, package, and method naming patterns—to help developers write code that communicates clearly with both machines and engineers.

best practicescode namingmaintainability
0 likes · 19 min read
How to Name Code for Maximum Readability and Maintainability
macrozheng
macrozheng
Jan 4, 2026 · Fundamentals

Master KISS, DRY, and SOLID: Practical Tips and Real‑World Code Examples

This article explains the core software design principles KISS, DRY, and SOLID, shows why they matter for readability and maintainability, provides concrete Java examples and step‑by‑step guidelines, and lists actionable rules developers can follow to write cleaner, more reusable code.

DRYKISSSOLID
0 likes · 19 min read
Master KISS, DRY, and SOLID: Practical Tips and Real‑World Code Examples
Tencent Cloud Developer
Tencent Cloud Developer
Nov 5, 2025 · Fundamentals

What Is Architecture? From 4+1 to C4 and Enterprise EA Explained

This article demystifies the concept of architecture by tracing its origins, explaining the 4+1 and C4 modeling approaches, introducing TOGAF‑4A, and clarifying the role of enterprise architecture in aligning people, processes, technology, and data to manage complexity across large organizations.

C4 modelEnterprise ArchitectureTOGAF
0 likes · 12 min read
What Is Architecture? From 4+1 to C4 and Enterprise EA Explained
Tech Minimalism
Tech Minimalism
Nov 2, 2025 · Artificial Intelligence

Claude Code: How a Minimalist Design Turns an AI Tool into a True Programming Partner

Claude Code redefines AI programming assistants by abandoning complex multi‑agent architectures in favor of a single‑loop, single‑file design, leveraging Unix‑style simplicity, LLM‑based search, and sophisticated context engineering to act as a collaborative partner rather than a mere code‑completion tool.

Claude Codeai programming assistantcontext engineering
0 likes · 12 min read
Claude Code: How a Minimalist Design Turns an AI Tool into a True Programming Partner
Liangxu Linux
Liangxu Linux
Oct 12, 2025 · Fundamentals

Mastering Strong and Weak Functions in C for Flexible Embedded Design

This article explains the concept of strong and weak functions in C, shows how to declare them with GCC and other compilers, outlines the linker selection rules, and demonstrates practical uses such as library overrides, interrupt handlers, callbacks, test stubs, plugin systems, and related pitfalls.

C#EmbeddedLinker
0 likes · 9 min read
Mastering Strong and Weak Functions in C for Flexible Embedded Design
21CTO
21CTO
Sep 25, 2025 · Fundamentals

Master Python Coding Standards: 50 Essential Best Practices for Clean, Maintainable Code

This comprehensive guide presents 50 practical Python coding best‑practice rules covering naming, function design, object‑oriented principles, exception handling, code style, and project structure, showing how to write self‑explanatory, reusable, and robust code that stands the test of time and team collaboration.

Pythonclean codecoding standards
0 likes · 25 min read
Master Python Coding Standards: 50 Essential Best Practices for Clean, Maintainable Code
Tencent Cloud Developer
Tencent Cloud Developer
Sep 25, 2025 · Fundamentals

Unlock the Secrets of Object‑Oriented Analysis & Design for Better Software

This comprehensive guide explores the evolution of object‑oriented programming, clarifies its core concepts, and walks readers through use‑case modeling, static and dynamic modeling, responsibility‑driven design patterns, and advanced modeling techniques, providing a complete knowledge framework for software engineers and architects.

AnalysisDDDUML
0 likes · 44 min read
Unlock the Secrets of Object‑Oriented Analysis & Design for Better Software
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Sep 17, 2025 · Fundamentals

What Is Enterprise Application Architecture and How to Design It?

This article explains the definition of application architecture, distinguishes enterprise‑level and system‑level designs, outlines its core components—application services, structure, and interaction—and illustrates layered architectures and service interactions with diagrams, helping readers understand how to translate business architecture into concrete IT solutions.

Enterprise ArchitectureSystem Designapplication architecture
0 likes · 3 min read
What Is Enterprise Application Architecture and How to Design It?
Java Web Project
Java Web Project
Sep 1, 2025 · Information Security

Why the Word “User” Is Killing Your Software Security and Design

The article argues that the vague term “user” misleads software design, illustrates the problem with airline reservation, Unix, and SaaS examples, shows how it creates security flaws like the Confused Deputy issue, and urges precise terminology early in projects to avoid costly rework.

Access ControlSaaSTerminology
0 likes · 8 min read
Why the Word “User” Is Killing Your Software Security and Design
DaTaobao Tech
DaTaobao Tech
Aug 27, 2025 · Fundamentals

What Defines Good Code? Multi‑Dimensional Standards, Bad Smells, and Design Patterns Explained

This article explores what makes code truly good by examining functional, stability, user experience, efficiency, and cost dimensions, presenting the "Gold Code" evaluation criteria, discussing design principles, common code smells, practical examples, and how design patterns and layering affect readability and maintainability.

code qualitycode reviewgood code
0 likes · 15 min read
What Defines Good Code? Multi‑Dimensional Standards, Bad Smells, and Design Patterns Explained
Liangxu Linux
Liangxu Linux
Aug 3, 2025 · Information Security

Why Calling Everyone a “User” Undermines Security and Design

The article explains how the vague term “user” leads to flawed requirements, security vulnerabilities such as the Confused Deputy problem, and costly redesigns, urging developers to adopt precise terminology like “traveler”, “agent”, or “member” early in a project.

Access ControlTerminologysoftware design
0 likes · 7 min read
Why Calling Everyone a “User” Undermines Security and Design
MoonWebTeam
MoonWebTeam
Jul 24, 2025 · Fundamentals

Mastering the Open-Closed Principle: Benefits, Pitfalls, and Real-World Examples

This article explores the Open‑Closed Principle (OCP) in depth, covering its definition, evolution, practical applications, common misconceptions, code comparisons, and best‑practice guidelines to help developers balance extensibility with simplicity in modern software design.

SOLIDTypeScriptopen-closed-principle
0 likes · 19 min read
Mastering the Open-Closed Principle: Benefits, Pitfalls, and Real-World Examples
Code Mala Tang
Code Mala Tang
Jul 17, 2025 · Fundamentals

Why Object‑Oriented Programming Transforms Your Python Data Projects

Object‑oriented programming, though often overlooked in data‑centric Python scripts, becomes essential for managing complexity, improving readability, and enabling collaboration, as this guide demonstrates eight core OOP concepts—classes, encapsulation, inheritance, polymorphism, composition, class/staticmethods, magic methods, and abstract base classes—through clear examples.

OOPObject-Oriented Programmingsoftware design
0 likes · 10 min read
Why Object‑Oriented Programming Transforms Your Python Data Projects
Didi Tech
Didi Tech
Jul 10, 2025 · Backend Development

Why Unit Testing Matters: Go Basics, Mocking, and Table‑Driven Tests

This article explains why unit testing is essential for code quality, API design, and documentation, then walks through Go's built‑in testing conventions, common *testing.T methods, table‑driven test patterns, mocking with gomonkey, and best practices for writing maintainable tests.

GoMockingTable-Driven Tests
0 likes · 27 min read
Why Unit Testing Matters: Go Basics, Mocking, and Table‑Driven Tests
macrozheng
macrozheng
Jun 19, 2025 · Fundamentals

Master PlantUML: Quick Guide to Creating Sequence Diagrams

This tutorial introduces PlantUML, explains its core features, shows how to install plugins for popular IDEs, and provides detailed syntax examples for participants, messages, lifelines, activation bars, groups, notes, and colors, culminating in a complete login flow diagram.

Code‑Based ModelingPlantUMLSequence Diagram
0 likes · 15 min read
Master PlantUML: Quick Guide to Creating Sequence Diagrams
Programmer DD
Programmer DD
Jun 16, 2025 · Backend Development

Why Self-Contained Systems Might Replace Microservices: Key Differences Explained

This article introduces Self-Contained Systems (SCS) as an alternative to microservices, outlines SCS core characteristics, compares both approaches across granularity, communication, UI handling and integration, and concludes with practical insights for large‑scale, multi‑team projects.

architecturebackendself-contained systems
0 likes · 8 min read
Why Self-Contained Systems Might Replace Microservices: Key Differences Explained
Continuous Delivery 2.0
Continuous Delivery 2.0
Jun 12, 2025 · Backend Development

Why Over‑Engineering and Bad Code Kill Your Project—and How to Fix It

This article reveals how common bad coding practices such as over‑engineering, hidden business logic in utility classes, deep inheritance trees, excessive DTO layers, unnecessary interfaces, and contract‑less microservices degrade team efficiency and project quality, and offers concrete, principle‑driven remedies.

Anti-patternsBackend DevelopmentJava
0 likes · 8 min read
Why Over‑Engineering and Bad Code Kill Your Project—and How to Fix It
MoonWebTeam
MoonWebTeam
May 30, 2025 · Fundamentals

Why Layered Architecture Is the Key to Scalable Web Applications

This article explains the evolution and benefits of layered software architecture—from early two‑layer designs to MVC, DDD, Clean Architecture, and the Monet framework—highlighting how clear responsibilities, adaptability, and proper dependency direction improve maintainability, scalability, and team collaboration.

Clean ArchitectureDDDarchitecture
0 likes · 18 min read
Why Layered Architecture Is the Key to Scalable Web Applications
MoonWebTeam
MoonWebTeam
May 24, 2025 · Frontend Development

How Clean Architecture and Vue 3 Composition API Simplify Complex Frontend Projects

This article examines the growing complexity of a points‑mall front‑end, identifies architectural and code‑organization pain points, and demonstrates how applying Clean Architecture together with Vue 3's Composition API can decouple business logic from UI, improve maintainability, and streamline development.

Clean ArchitectureComposition APIsoftware design
0 likes · 22 min read
How Clean Architecture and Vue 3 Composition API Simplify Complex Frontend Projects
macrozheng
macrozheng
Apr 9, 2025 · Fundamentals

Why Clean Code Matters: Practical Tips for Naming, Classes, Functions & Testing

This article explains why clean code is essential for productivity and team collaboration, outlines concrete guidelines for meaningful naming, single‑responsibility classes, concise functions, and effective testing, and shows how tools and refactoring can help maintain high code quality.

Naming Conventionsbest practicesclean code
0 likes · 14 min read
Why Clean Code Matters: Practical Tips for Naming, Classes, Functions & Testing
Java Captain
Java Captain
Apr 7, 2025 · Fundamentals

Effective Object Naming: Avoiding “-er”/“-or” Suffixes, God Classes, and Building Intelligent Domain Objects

This article explains why thoughtful object naming—avoiding generic “er”/“or” suffixes and vague Service/Helper classes—improves code readability, maintainability, and AI‑assisted development, and demonstrates better designs with concrete C# examples that model real‑world business roles and adaptive behavior.

AI-assisted programmingclean codecode readability
0 likes · 12 min read
Effective Object Naming: Avoiding “-er”/“-or” Suffixes, God Classes, and Building Intelligent Domain Objects
Selected Java Interview Questions
Selected Java Interview Questions
Apr 3, 2025 · Fundamentals

How to Write Clean and Maintainable Code: Naming, Classes, Functions, and Testing

This article explains why clean code is essential for team development and provides practical guidelines on naming, class design, function composition, and testing—including SOLID principles, meaningful identifiers, single‑responsibility classes, short functions, and test‑driven development—to improve readability, extensibility, and overall software quality.

Naming ConventionsUnit Testingclean code
0 likes · 19 min read
How to Write Clean and Maintainable Code: Naming, Classes, Functions, and Testing
Architecture Breakthrough
Architecture Breakthrough
Mar 31, 2025 · Fundamentals

Why Mastering Abstraction Is the Real Skill Behind Great Software Design

The article explains that while encapsulation, inheritance, and polymorphism are often highlighted, true software craftsmanship hinges on the ability to abstract—identifying essential features, discarding irrelevant details, and modeling problem domains through steps like analysis, concept extraction, and system design, supported by principles such as low coupling, high cohesion, sufficiency, and completeness.

CohesionCouplingDomain-Driven Design
0 likes · 10 min read
Why Mastering Abstraction Is the Real Skill Behind Great Software Design
Eric Tech Circle
Eric Tech Circle
Jan 14, 2025 · Backend Development

DDD vs MVC: Practical Trade‑offs, Pitfalls, and When to Keep It Simple

This article compares Domain‑Driven Design and MVC, outlines the architectural changes such as dependency inversion and layer separation, examines common drawbacks in real projects, and offers concrete guidance on when to adopt DDD, blend it with MVC, or stick to a lightweight CRUD‑centric approach.

DDDDomain-Driven DesignMVC
0 likes · 9 min read
DDD vs MVC: Practical Trade‑offs, Pitfalls, and When to Keep It Simple
Alibaba Cloud Developer
Alibaba Cloud Developer
Jan 10, 2025 · Fundamentals

How to Design an SDK Business Model Diagram: A Step‑by‑Step Guide

This article explains how to build a business model diagram for an SDK from a design perspective, covering the definition of business model diagrams, their purpose, expression methods, layered architecture, derivation principles, a six‑step modeling process, and evaluation criteria to ensure clarity, correctness, and extensibility.

architecturebusiness modelmodeling
0 likes · 21 min read
How to Design an SDK Business Model Diagram: A Step‑by‑Step Guide
IT Architects Alliance
IT Architects Alliance
Dec 30, 2024 · Fundamentals

Building Scalable Modular System Architecture: Concepts, Steps, and Best Practices

The article explains why a scalable modular system architecture is essential, outlines its core concepts, detailed implementation steps, design principles, and real‑world case studies, and highlights technologies such as micro‑services, containers, and API gateways that enhance extensibility and maintainability.

modular architecturesoftware designsystem integration
0 likes · 16 min read
Building Scalable Modular System Architecture: Concepts, Steps, and Best Practices
IT Architects Alliance
IT Architects Alliance
Dec 23, 2024 · Industry Insights

What Core Skills Must Modern IT Architects Master to Thrive?

This comprehensive guide outlines the essential technical, business, and leadership competencies—including programming, multi‑technology mastery, architectural principles, forward‑looking tech awareness, business understanding, and team management—that IT architects need to succeed in today’s fast‑evolving digital landscape.

Core SkillsIT ArchitectureLeadership
0 likes · 26 min read
What Core Skills Must Modern IT Architects Master to Thrive?
Smart Era Software Development
Smart Era Software Development
Dec 6, 2024 · Fundamentals

Key Takeaways from A Philosophy of Software Design (2nd Edition)

The article reviews the main ideas of John Ousterhout's *A Philosophy of Software Design* (2nd edition), explaining how the book defines software complexity, proposes strategies such as eliminating or encapsulating complexity, and discusses deep classes, shallow interfaces, naming, strategic versus tactical programming, and practical warnings for developers.

Naming Conventionscode qualitycomplexity
0 likes · 14 min read
Key Takeaways from A Philosophy of Software Design (2nd Edition)
Programmer DD
Programmer DD
Dec 5, 2024 · Fundamentals

Why AI Isn’t a Silver Bullet: Core Software Design Principles Revealed

The article argues that despite AI’s recent breakthroughs, it cannot solve the inherent complexity of software development, and revisits classic software design principles—from modularity and code design to maintenance and performance—presented in John Ousterhout’s “Software Design Philosophy (2nd edition)” as essential guidance for developers.

AIAgilecomplexity
0 likes · 9 min read
Why AI Isn’t a Silver Bullet: Core Software Design Principles Revealed
Top Architect
Top Architect
Dec 1, 2024 · Fundamentals

Fundamentals of Software Design Documentation and UML Modeling

This article introduces the basics of software design documentation, explaining how software modeling and UML diagrams such as class, sequence, component, deployment, use case, state, and activity charts are used to capture domain problems and system architecture throughout requirement analysis, high‑level design, and detailed design phases.

UMLdocumentationrequirements
0 likes · 16 min read
Fundamentals of Software Design Documentation and UML Modeling
Tencent Cloud Developer
Tencent Cloud Developer
Nov 28, 2024 · Backend Development

Contract-Based Design and Communication Challenges in Software Development

The article highlights how fragmented, undocumented cross‑team communication creates fragile software, then advocates adopting contract‑based design—preconditions, postconditions, invariants—and AI‑assisted tooling to formalize API contracts throughout the development lifecycle, aligning teams, reducing errors, and improving system reliability.

OpenAPIcommunicationcontract programming
0 likes · 18 min read
Contract-Based Design and Communication Challenges in Software Development
Smart Era Software Development
Smart Era Software Development
Nov 15, 2024 · Fundamentals

Can Great Programmers Be Taught? Insights from a Software Design Workshop

The article explores whether great programmers can be cultivated by examining problem decomposition, the value of deep and generic class design, the pitfalls of tactical coding versus strategic programming, and lessons learned from the author’s CS190 software‑design workshop at Stanford.

deep class designgeneric vs specializedproblem decomposition
0 likes · 28 min read
Can Great Programmers Be Taught? Insights from a Software Design Workshop
Alibaba Cloud Developer
Alibaba Cloud Developer
Nov 15, 2024 · R&D Management

Why Technical Architects Matter: System Thinking and Collaboration Models Explained

This article explores the essential role of technical architects, detailing their responsibilities, the challenges of traditional waterfall collaboration, and introducing a triangular collaboration model and a structured architecture design thinking framework to foster system thinking, proactive decision‑making, and effective team leadership.

Collaboration ModelR&D Managementsoftware design
0 likes · 19 min read
Why Technical Architects Matter: System Thinking and Collaboration Models Explained
21CTO
21CTO
Nov 13, 2024 · Fundamentals

Why Clean Architecture Is the Key to Scalable, Resilient Software

Clean software architecture, built on principles like vertical and horizontal separation and proper module qualification, reduces complexity and technical debt, boosts scalability, flexibility, and reliability, and guides organizations in proactively managing architectural health through continuous assessment, AI-driven observability, and targeted team training.

Clean ArchitectureMicroservicessoftware design
0 likes · 9 min read
Why Clean Architecture Is the Key to Scalable, Resilient Software
JD Tech
JD Tech
Nov 5, 2024 · Fundamentals

Simplifying Complexity: Principles and Practices for Cleaner Software Design

This article explores why simplicity is essential in software development, examines the distinction between essential and accidental complexity, presents real‑world case studies of product and code complexity, and offers practical guidelines such as KISS, single‑responsibility, API minimization, and automation to achieve more maintainable and understandable systems.

API designKISScode simplicity
0 likes · 24 min read
Simplifying Complexity: Principles and Practices for Cleaner Software Design
JD Cloud Developers
JD Cloud Developers
Oct 29, 2024 · Fundamentals

Why Simplicity Wins: Turning Complex Code and Design into Clean Solutions

The article explores how software engineers can reduce both essential and accidental complexity by unifying terminology, eliminating side‑effects, applying the KISS principle, and adopting clear architectural and API designs, ultimately delivering more maintainable and understandable systems.

KISS principlearchitecturebest practices
0 likes · 23 min read
Why Simplicity Wins: Turning Complex Code and Design into Clean Solutions
DaTaobao Tech
DaTaobao Tech
Oct 21, 2024 · Fundamentals

The True Purpose of Classes and Functions: Beyond Reuse

The article argues that classes and functions serve as fundamental structural elements rather than mere tools for reuse, contending that excessive reuse can increase complexity while intentional redundancy simplifies maintenance, and advocating deep modules over shallow ones, illustrated by examples from Supercell, DingTalk, and a trivial shallow‑module code snippet.

Code ReuseDDDDRY principle
0 likes · 8 min read
The True Purpose of Classes and Functions: Beyond Reuse
Code Mala Tang
Code Mala Tang
Oct 3, 2024 · Fundamentals

Mastering the Interface Segregation Principle: Why Small Interfaces Boost Code Quality

Learn how the Interface Segregation Principle (ISP) of SOLID design encourages splitting large interfaces into focused, minimal ones, reducing unnecessary method implementations, improving maintainability, and enhancing modularity across backend Java code, frontend React components, and state‑management modules, while also noting its trade‑offs.

JavaReActSOLID
0 likes · 16 min read
Mastering the Interface Segregation Principle: Why Small Interfaces Boost Code Quality
Test Development Learning Exchange
Test Development Learning Exchange
Sep 25, 2024 · Fundamentals

Duck Typing and Polymorphism in Python

This article explains duck typing and polymorphism in Python, two fundamental object-oriented programming concepts, with practical code examples demonstrating how objects can be treated based on their behavior rather than their type.

Code examplesPythonduck-typing
0 likes · 8 min read
Duck Typing and Polymorphism in Python
DevOps
DevOps
Sep 24, 2024 · Fundamentals

From Business Modeling to Use Case Diagrams: A Comprehensive Guide

This article explains how to move from business modeling to business and system use case diagrams, covering vision definition, business sequence diagrams, system use case creation, use case specifications, and concludes with a brief promotion for a DevOps certification course, offering practical guidance for software engineers.

Use Case Diagrambusiness modelingrequirements analysis
0 likes · 17 min read
From Business Modeling to Use Case Diagrams: A Comprehensive Guide
Architect
Architect
Sep 17, 2024 · Fundamentals

Why Design and Modeling Matter Before You Start Coding – A Practical Guide

The article examines modern software development challenges, explains why thorough design and modeling are essential before coding, and outlines three key practices—business modeling, business process analysis, and system modeling—along with class analysis techniques to improve collaboration, reduce rework, and build robust architectures.

architecturebusiness modelingclass design
0 likes · 12 min read
Why Design and Modeling Matter Before You Start Coding – A Practical Guide
DevOps
DevOps
Sep 12, 2024 · Fundamentals

Advantages, Disadvantages, and Principles of Layered Architecture

This article examines the common benefits, drawbacks, and design principles of layered architecture across micro‑service, data‑warehouse, and protocol designs, illustrating each point with real‑world examples and offering practical guidance on when and how to apply layering effectively.

Data Warehousedesign principleslayered architecture
0 likes · 11 min read
Advantages, Disadvantages, and Principles of Layered Architecture
Tencent Cloud Developer
Tencent Cloud Developer
Sep 11, 2024 · Fundamentals

Advantages, Disadvantages, and Principles of Layered Architecture in Software Systems

Layered architecture offers abstract stability, functional reuse, cohesion, hidden complexity, and scalability, but can introduce extra complexity, performance overhead, and dependency risk, so designers should retain essential layers, enforce one‑way cross‑layer calls, depend only on lower layers, keep lower layers stable, and ensure each layer has a clear purpose.

DDDData WarehouseMicroservices
0 likes · 11 min read
Advantages, Disadvantages, and Principles of Layered Architecture in Software Systems
G7 EasyFlow Tech Circle
G7 EasyFlow Tech Circle
Sep 9, 2024 · Product Management

What Can Logistics Software Learn from Oracle EBS and OFSA Design?

This article examines how the flexible, metadata‑driven architecture and configurable features of Oracle E‑Business Suite and OFSA can inspire more adaptable, modular, and user‑centric logistics software, covering design principles, extensibility, integration, and data‑model strategies.

MetadataOFSAOracle EBS
0 likes · 25 min read
What Can Logistics Software Learn from Oracle EBS and OFSA Design?
DevOps
DevOps
Sep 4, 2024 · Fundamentals

Concept‑Driven Software Design: From Daniel Jackson’s “Concept” to Business‑Service‑Driven Development with AI Assistance

The article analyses Daniel Jackson’s concept‑driven software design presented at the 2024 Global Software R&D Conference, relates it to domain‑driven design and business services, and demonstrates how AI‑augmented prompts can generate Java domain models and a Spring‑Boot RESTful API for order submission.

AI‑assisted developmentDomain-Driven Designbusiness services
0 likes · 17 min read
Concept‑Driven Software Design: From Daniel Jackson’s “Concept” to Business‑Service‑Driven Development with AI Assistance
DevOps
DevOps
Aug 12, 2024 · Fundamentals

The Importance of Design and Modeling in Software Development

This article explains why software engineers should perform design and modeling—such as business modeling, process analysis, and system modeling—before writing code, highlighting how these practices align development with business goals, improve collaboration, and reduce costly rework caused by changing requirements.

modelingobject-orientedrequirements engineering
0 likes · 9 min read
The Importance of Design and Modeling in Software Development
Tencent Cloud Developer
Tencent Cloud Developer
Aug 7, 2024 · Fundamentals

Design and Modeling: Essential Practices for Effective Software Development

Before writing code, developers should perform systematic design and modeling—including business modeling, process analysis, and system modeling—followed by class analysis and state‑machine design, to align software with business goals, reduce changing requirements, improve quality, and keep teams motivated.

software designsoftware engineeringsystem architecture
0 likes · 10 min read
Design and Modeling: Essential Practices for Effective Software Development
Top Architect
Top Architect
Jul 15, 2024 · Fundamentals

Clean Code Practices: Naming, Classes, Functions, and Testing

This article explains why maintaining clean, well‑structured code is essential for productivity and team collaboration, covering naming conventions, class design principles, function responsibilities, testing strategies, and tools like SonarLint, while providing concrete Java code examples for each concept.

Naming Conventionsclean codesoftware design
0 likes · 16 min read
Clean Code Practices: Naming, Classes, Functions, and Testing
macrozheng
macrozheng
Jun 29, 2024 · Fundamentals

Master Clean Code: Proven Naming Conventions Every Developer Should Follow

This article explains why clean, well‑named code is essential for productivity, outlines practical naming rules—such as avoiding ambiguity, preventing misleading names, making meaningful distinctions, and keeping identifiers searchable—and provides concrete Java examples and patterns to help developers write maintainable, testable software.

Naming Conventionsclean codecode readability
0 likes · 18 min read
Master Clean Code: Proven Naming Conventions Every Developer Should Follow
DevOps
DevOps
Jun 17, 2024 · Product Management

Understanding Software Requirement Changes and the Software Value Model

The article examines why software requirements frequently change, introduces a four‑layer software value model—from business value to UI aesthetics—and explains how this model guides product managers and engineers in handling requirement volatility, balancing flexibility, and maintaining architectural integrity.

business valueproduct managementsoftware architecture
0 likes · 8 min read
Understanding Software Requirement Changes and the Software Value Model
Go Programming World
Go Programming World
May 30, 2024 · Backend Development

Standardizing RESTful API Error Handling with Business Error Codes and an Error Package in Go

This article explains how to design a unified business error‑code system for RESTful APIs, demonstrates the structure and format of such codes, provides a Go implementation with structs, interfaces and formatting methods, and shows practical usage in a Gin web server including logging and notification strategies.

Error CodesError handlingGin
0 likes · 22 min read
Standardizing RESTful API Error Handling with Business Error Codes and an Error Package in Go
Ops Development & AI Practice
Ops Development & AI Practice
May 27, 2024 · Fundamentals

Why Structured Programming Alone Falls Short and How OOP & FP Fill the Gaps

The article examines the drawbacks of relying solely on structured programming—such as tight module coupling, poor change isolation, and rigidity—and shows how integrating object‑oriented and functional programming can improve modularity, flexibility, and maintainability in complex software systems.

Functional ProgrammingObject-Oriented ProgrammingProgramming Paradigms
0 likes · 5 min read
Why Structured Programming Alone Falls Short and How OOP & FP Fill the Gaps
Dangbei Technology Team
Dangbei Technology Team
May 27, 2024 · Backend Development

How COLA Architecture Transforms Complex Backend Systems

The COLA (Clean Object‑Oriented and Layered Architecture) framework replaces traditional monolithic MVC Service layers with a clear, multi‑layered structure—Adapter, Application, Domain, Infrastructure, and Client—enhancing code cohesion, reducing coupling, and improving maintainability, as illustrated through a detailed order‑creation example with refactored Java code.

COLA ArchitectureJavaMicroservices
0 likes · 11 min read
How COLA Architecture Transforms Complex Backend Systems
Architecture Breakthrough
Architecture Breakthrough
May 27, 2024 · Fundamentals

Mastering Problem Analysis: A Six‑Step Framework for Clear Requirements

This article presents a practical six‑step framework that guides teams from clarifying business goals and core concepts to objectively breaking down issues, restructuring existing designs, proposing solutions, and finalizing implementation plans, helping avoid wasted effort on ill‑defined problems.

object-oriented analysisproblem analysisrequirements engineering
0 likes · 8 min read
Mastering Problem Analysis: A Six‑Step Framework for Clear Requirements
Su San Talks Tech
Su San Talks Tech
May 27, 2024 · Fundamentals

Master PlantUML: From Quick Start to Advanced Sequence Diagram Techniques

This article introduces PlantUML, explains its core features, walks through quick installation and plugin setup, demonstrates basic and advanced sequence diagram syntax with code examples, and provides a complete login flow illustration, helping developers create clear, version‑controlled diagrams efficiently.

PlantUMLSequence DiagramUML
0 likes · 13 min read
Master PlantUML: From Quick Start to Advanced Sequence Diagram Techniques
21CTO
21CTO
May 19, 2024 · Fundamentals

Mastering Software Abstraction: How to Design Clear, Maintainable Systems

This article explores the power of abstraction in software design, explaining its hierarchical levels, the role of interfaces, and practical questions to ask when modeling real‑world problems, guiding developers to create more maintainable, scalable, and communicative systems.

InterfacesSOLIDabstraction
0 likes · 7 min read
Mastering Software Abstraction: How to Design Clear, Maintainable Systems
Java Architect Essentials
Java Architect Essentials
May 14, 2024 · Fundamentals

Master Clean Code: Naming, Classes, Functions, and Testing Made Simple

This article explains why clean code is essential for productivity and project health, and provides practical guidance on naming, class design, function design, and testing—including SOLID principles, parameter handling, exception use, and test‑driven development—to help developers write maintainable, high‑quality software.

Naming ConventionsSOLIDUnit Testing
0 likes · 17 min read
Master Clean Code: Naming, Classes, Functions, and Testing Made Simple
Architecture Digest
Architecture Digest
May 9, 2024 · Fundamentals

Clean Code Practices: Naming, Classes, Functions, and Testing

This article explains why clean code matters for productivity and project health, and provides practical guidelines on naming, class design, function design, SOLID principles, testing strategies, and tooling to help developers write maintainable, readable software.

Naming ConventionsSOLIDclean code
0 likes · 13 min read
Clean Code Practices: Naming, Classes, Functions, and Testing
Top Architect
Top Architect
May 7, 2024 · Fundamentals

Clean Code Principles: Naming, Classes, Functions, and Testing Practices

This article explains why clean code is essential for productivity and project health, covering naming conventions, class design, SOLID principles, function design, parameter handling, testing strategies like TDD and the FIRST principles, and tools such as SonarLint to maintain code quality.

Naming Conventionsclean coderefactoring
0 likes · 18 min read
Clean Code Principles: Naming, Classes, Functions, and Testing Practices
Sanyou's Java Diary
Sanyou's Java Diary
Apr 30, 2024 · Fundamentals

Mastering Architecture Diagrams: When, Why, and How to Build Clear System Blueprints

This comprehensive guide explains the purpose of architecture diagrams, the criteria for good diagrams, the optimal moments to create them, and detailed methods for drawing business, application, technical, code, and data architecture diagrams, complete with design principles, classification, and practical tips.

Business Architecturearchitecture diagramscode architecture
0 likes · 21 min read
Mastering Architecture Diagrams: When, Why, and How to Build Clear System Blueprints
php Courses
php Courses
Apr 15, 2024 · Fundamentals

Understanding Abstraction in Object-Oriented PHP Programming

This article explains the core concept of abstraction in software engineering, illustrating how using interfaces and abstract methods in PHP can simplify code, improve maintainability, and reduce developer focus on low‑level details, demonstrated through concrete Shape examples for rectangles, circles, and triangles.

InterfacesObject-Oriented ProgrammingPHP
0 likes · 5 min read
Understanding Abstraction in Object-Oriented PHP Programming
macrozheng
macrozheng
Apr 9, 2024 · Fundamentals

Mastering UML: 7 Essential Diagrams for Every Software Design Phase

This guide explains the seven core UML diagrams—class, sequence, component, deployment, use‑case, state, and activity—detailing when and how to use each across requirement analysis, architecture design, and detailed design to produce clear, actionable software design documentation.

Class DiagramUMLarchitecture
0 likes · 13 min read
Mastering UML: 7 Essential Diagrams for Every Software Design Phase
Java Architect Essentials
Java Architect Essentials
Mar 27, 2024 · Cloud Native

Rethinking Microservices: Why Google, Amazon and Others Are Moving Away from Traditional Microservice Architectures

In 2023, major tech companies such as Google and Amazon publicly questioned the benefits of traditional microservice architectures, presenting new "microservice 2.0" concepts, monolithic alternatives, and cost‑performance analyses that highlight a broader industry shift toward more pragmatic, cloud‑native design approaches.

architecturecloud-nativecost optimization
0 likes · 12 min read
Rethinking Microservices: Why Google, Amazon and Others Are Moving Away from Traditional Microservice Architectures
Java Backend Technology
Java Backend Technology
Mar 25, 2024 · Fundamentals

5 Powerful Alternatives to If‑Else for Cleaner, Maintainable Code

This article explains why traditional if‑else statements often lead to complex, hard‑to‑read code and presents five practical techniques—including removing unnecessary else blocks, using fast returns, guard clauses, dictionary lookups, and the strategy pattern—to refactor and eliminate if‑else structures for more robust software design.

Code RefactoringStrategy Patternguard-clauses
0 likes · 8 min read
5 Powerful Alternatives to If‑Else for Cleaner, Maintainable Code
Architect
Architect
Mar 22, 2024 · Fundamentals

Why Every Engineer Needs a Good Architecture Diagram: Purpose, Types, and How to Create One

This guide explains the purpose of architecture diagrams, defines what makes a diagram effective, outlines when to draw them, classifies the various diagram types (business, application, technical, code, data), and provides step‑by‑step design principles, visual guidelines, and real‑world examples to help engineers communicate complex systems clearly.

architecture diagramsoftware designsystem architecture
0 likes · 25 min read
Why Every Engineer Needs a Good Architecture Diagram: Purpose, Types, and How to Create One
Tencent Cloud Developer
Tencent Cloud Developer
Mar 20, 2024 · Fundamentals

How to Draw Effective Architecture Diagrams: A Comprehensive Guide

This guide explains how to create clear, visually appealing architecture diagrams—covering purpose, audience, design principles, timing, classification, and step‑by‑step drawing techniques—so teams can communicate structure, workflows, and data effectively across business, product, application, technical, and code domains.

UML diagramsarchitecture diagramssoftware design
0 likes · 20 min read
How to Draw Effective Architecture Diagrams: A Comprehensive Guide