Tagged articles

software design

448 articles · Page 1 of 5
Thought Artisan
Thought Artisan
Sep 5, 2026 · Fundamentals

Naming as Abstraction: SICP's Lessons on Software Design

The article explores naming as a fundamental abstraction mechanism in programming, drawing on SICP to show how naming enables modularity, controls complexity, creates vocabularies, and underpins environments, scope, and first-class functions, arguing naming is not mere labeling but a cognitive tool for building higher-level concepts.

EnvironmentSICPabstraction
0 likes · 15 min read
Naming as Abstraction: SICP's Lessons on Software Design
Continuous Delivery 2.0
Continuous Delivery 2.0
Aug 27, 2026 · Fundamentals

Six AI Coding Failure Modes and How to Fix Them: Be the Strategic Commander

Matt Pocock identifies six failure modes in AI-assisted programming — misaligned intent, verbose but unclear output, unrunnable code, shallow module proliferation, cognitive overload, and disinvestment in system design — and prescribes strategic remedies like Grill Me questioning, ubiquitous language glossaries, TDD feedback loops, deep module design, interface-first delegation, and daily design investment to keep AI as a tactical executor under human strategic command.

AI codingDDDGrill Me
0 likes · 9 min read
Six AI Coding Failure Modes and How to Fix Them: Be the Strategic Commander
samdeepthink
samdeepthink
Aug 20, 2026 · Fundamentals

Why Good Code Should Require Minimal Maintenance

The article argues that truly good code is measured by how rarely developers need to revisit and modify it, emphasizing design and programming techniques that make systems resilient to exceptions and adaptable to business changes without frequent code changes.

code qualityexception handlingmaintainability
0 likes · 5 min read
Why Good Code Should Require Minimal Maintenance
Code Farming
Code Farming
Aug 17, 2026 · Backend Development

How DDD Handles Four E‑Commerce Payment Changes Step‑by‑Step

The article walks through a real e‑commerce payment case, showing how Domain‑Driven Design models entities, uses two key questions to split responsibilities, and continuously evolves the model to accommodate discounts, VIP features, and new payment adapters, reducing code churn.

DDDDomain-Driven DesignSingle Responsibility Principle
0 likes · 6 min read
How DDD Handles Four E‑Commerce Payment Changes Step‑by‑Step
James' Growth Diary
James' Growth Diary
Aug 8, 2026 · R&D Management

Design Retrospective: Splitting Tools and Delegating Judgment to AI

The article analyzes nine pitfalls encountered while building a CLI tool for AI, derives a core principle of separating deterministic execution from ambiguous judgment, and presents concrete design rules, a skill‑packaging approach, and two real‑world case studies that illustrate the solution.

AI toolsautomation safetyjudgment‑execution separation
0 likes · 16 min read
Design Retrospective: Splitting Tools and Delegating Judgment to AI
Dabaoshi
Dabaoshi
Aug 4, 2026 · Fundamentals

Factory Method Pattern: Deciding Which Variant to Create

This article walks through the evolution from direct object instantiation to Simple Factory and finally to the Factory Method pattern, explaining why scattering new statements is problematic, how Simple Factory centralizes creation but still violates the Open/Closed principle, and how the Factory Method delegates the decision to specialized factories, complete with code examples, role definitions, and guidance on when to apply each approach.

Design PatternJavaObject Creation
0 likes · 16 min read
Factory Method Pattern: Deciding Which Variant to Create
AI Engineer Programming
AI Engineer Programming
Jul 29, 2026 · Backend Development

Imperative Control Flow vs Declarative Workflow Orchestration: When to Use State Machines

The article compares traditional imperative sequencing of function calls with declarative workflow orchestration using state machines, highlighting how the latter separates business logic into data-driven transition tables to improve flexibility, observability, and error recovery in complex, mutable backend systems.

declarative programmingimperative programmingsoftware design
0 likes · 9 min read
Imperative Control Flow vs Declarative Workflow Orchestration: When to Use State Machines
Coder Life Journal
Coder Life Journal
Jul 26, 2026 · Industry Insights

Why Writing Less Code with AI Makes Developers More Anxious

Although AI coding tools let Java developers generate DTOs, interfaces, tests and business logic faster, the resulting speed boost often leaves them uneasy because the reasoning and design decisions that used to be embedded in handwritten code disappear, leading to deeper doubts during review and deployment.

AI codingCode ReviewJava
0 likes · 7 min read
Why Writing Less Code with AI Makes Developers More Anxious
samdeepthink
samdeepthink
Jul 20, 2026 · Fundamentals

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.

core module protectionmicroservicesnon-functional requirements
0 likes · 4 min read
What Defines Excellent Software Design? Ensuring Stability Through Early Non‑Functional Planning
IT Learning Made Simple
IT Learning Made Simple
Jul 19, 2026 · Fundamentals

Key Takeaways from “System Architecture Design”: A Structured Overview

This article provides a comprehensive, step‑by‑step overview of system architecture design, covering definitions, quality attributes, architectural styles, design processes, decision‑making, validation methods, documentation practices, and core principles for building complex software systems.

architectural stylesarchitecture decision recorddesign process
0 likes · 10 min read
Key Takeaways from “System Architecture Design”: A Structured Overview
IT Learning Made Simple
IT Learning Made Simple
Jul 18, 2026 · Fundamentals

Key Takeaways from Clean Architecture: A Practical Summary

This article distills the core concepts of Robert C. Martin’s Clean Architecture, covering layered design, SOLID principles, component cohesion and coupling rules, boundary strategies, the onion model, and why databases are merely infrastructure, all illustrated with concrete code examples and diagrams.

SOLIDclean architecturedependency inversion
0 likes · 12 min read
Key Takeaways from Clean Architecture: A Practical Summary
samdeepthink
samdeepthink
Jul 18, 2026 · Fundamentals

Decade-Long Coding Habits That Boost Code Quality

After years of writing code, the author shares three disciplined habits—anticipating non‑functional scenarios, structuring code to reflect business flow, and adopting spec‑driven development—to improve code quality and resilience in production systems.

Spec-Driven Developmentbusiness logiccode quality
0 likes · 6 min read
Decade-Long Coding Habits That Boost Code Quality
YiSu Grain
YiSu Grain
Jul 15, 2026 · R&D Management

Day 22: Architects Choose Trade‑offs, Not Just Draw Diagrams

The article explains how a system architect resolves conflicting stakeholder demands—such as simplicity for patients, strict security, rapid delivery, low cost, and high reliability—by translating them into documented, reviewable, implementable and evolvable architecture decisions and by continuously balancing business goals, quality attributes, technical constraints and cost.

Software EngineeringStakeholder Analysisrisk management
0 likes · 24 min read
Day 22: Architects Choose Trade‑offs, Not Just Draw Diagrams
samdeepthink
samdeepthink
Jul 14, 2026 · Fundamentals

Why Spec‑Driven Development Is the Core of Vibe Coding

The article argues that mastering Spec‑Driven Development, especially when collaborating with AI, solves most programming problems, improves code‑generation accuracy, and makes the overall development workflow smoother than chasing countless AI‑generated code tweaks.

AI-assisted codingSpec-Driven DevelopmentVibe Coding
0 likes · 8 min read
Why Spec‑Driven Development Is the Core of Vibe Coding
IT Learning Made Simple
IT Learning Made Simple
Jul 13, 2026 · R&D Management

Treating Architecture Decisions as a Black Box: Why ADRs Matter

This article explains why Architecture Decision Records (ADRs) are essential, defines them as a “black box” for recording decisions, outlines their value, formats, lifecycle, creation process, management tools, and provides concrete ADR examples such as using JWT for authentication and Kafka for messaging.

ADRarchitecturedocumentation
0 likes · 12 min read
Treating Architecture Decisions as a Black Box: Why ADRs Matter
YiSu Grain
YiSu Grain
Jul 13, 2026 · Fundamentals

What Do UML’s Solid Lines, Dashed Lines, Hollow Triangles, and Diamonds Actually Represent?

This article explains the meaning of each UML line style—solid, dashed, hollow triangle, hollow diamond, and solid diamond—covers class‑diagram relationships, use‑case include/extend, activity vs. state diagrams, component vs. deployment diagrams, and provides exam‑style practice questions with concrete examples.

Class DiagramUMLUse Case
0 likes · 12 min read
What Do UML’s Solid Lines, Dashed Lines, Hollow Triangles, and Diamonds Actually Represent?
YiSu Grain
YiSu Grain
Jul 11, 2026 · Fundamentals

UML: Choose the Right System View Before You Start Drawing

This article explains why learning UML should begin with clarifying the system aspect you want to convey, outlines the five core activities of requirement engineering, and details the purpose and typical use cases of the seven most common UML diagram types with concrete e‑commerce examples.

Diagram TypesSystem ModelingUML
0 likes · 15 min read
UML: Choose the Right System View Before You Start Drawing
IT Learning Made Simple
IT Learning Made Simple
Jul 11, 2026 · R&D Management

How to Get Senior Leaders to Approve Your Architecture Review

This article explains what an architecture review is, outlines its types and value, details the preparation of documents and participants, provides a step‑by‑step review agenda—including opening, solution presentation, Q&A, and summary—offers tactics for handling challenges, supplies template materials, and defines acceptance criteria for a successful review.

architecture reviewrisk managementsoftware design
0 likes · 11 min read
How to Get Senior Leaders to Approve Your Architecture Review
IT Learning Made Simple
IT Learning Made Simple
Jul 5, 2026 · R&D Management

Scenario View: Use‑Case‑Driven Architecture Validation

The article explains how a scenario view—acting as the dynamic "+1" in the 4+1 model—uses use‑case‑plus‑context scenarios to validate architecture, improve communication, guide testing, prioritize key business flows, and drive development through BDD and test case generation.

BDDUse Casearchitecture validation
0 likes · 9 min read
Scenario View: Use‑Case‑Driven Architecture Validation
IT Services Circle
IT Services Circle
Jul 5, 2026 · Backend Development

Eliminate if…else Hell with the Lightweight Easy Rules Engine

The article examines the drawbacks of deep if…else chains in Java business logic and introduces Easy Rules, a lightweight, annotation‑based rule engine that separates rules from code, improves readability, maintainability, testability, and supports multiple definition styles.

BackendEasy RulesJava
0 likes · 19 min read
Eliminate if…else Hell with the Lightweight Easy Rules Engine
samdeepthink
samdeepthink
Jul 4, 2026 · Fundamentals

How Bruce Eckel Interprets Functions and Their Role in Programming

The article examines Bruce Eckel’s perspective on functions, tracing their origins from early assembly language to modern high‑level languages, highlighting practical motivations such as code reuse, debugging efficiency, and meaning‑driven design, while contrasting historical structured programming with contemporary polymorphic concepts.

FunctionsPolymorphismprogramming concepts
0 likes · 13 min read
How Bruce Eckel Interprets Functions and Their Role in Programming
Architectural Methodology
Architectural Methodology
Jul 3, 2026 · Fundamentals

From DDD’s Four‑Layer Model to Clean Architecture: Tracing the Evolution of Layered Design

The article examines how software architecture has progressed from the traditional DDD four‑layer structure through Hexagonal, Onion, and Clean architectures, explaining essential versus accidental complexity, layering principles, dependency inversion, and how each pattern refines modularity, testability, and dependency direction.

CQRSDDDOnion Architecture
0 likes · 12 min read
From DDD’s Four‑Layer Model to Clean Architecture: Tracing the Evolution of Layered Design
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.

Feature Flagsconfiguration managementsoftware 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.

Architecture DiagramsC4 modelSystem Modeling
0 likes · 23 min read
Why One Architecture Diagram Never Captures an Entire System (Lessons After 3 Years)
samdeepthink
samdeepthink
Jun 18, 2026 · Fundamentals

Why Code Cleanliness Is a Professional Habit, Not Just a Quirk

The article argues that code cleanliness—careful naming, clear responsibilities, consistent abstraction levels, and purposeful design patterns—boosts maintainability and delivery efficiency, while warning against over‑formatting, premature abstraction, and needless refactoring of legacy code.

Strategy Patternclean codecoding standards
0 likes · 10 min read
Why Code Cleanliness Is a Professional Habit, Not Just a Quirk
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.

Dependency RuleOnion ArchitectureSOLID
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 InjectionPlugin Architecture
0 likes · 26 min read
Balancing Core Stability and Extensibility: Design and Implementation of pi Agent’s Extension System
Node.js Tech Stack
Node.js Tech Stack
Apr 19, 2026 · Fundamentals

Generate High‑Quality Architecture Diagrams in One Sentence with This Claude Skill

The article presents a Claude AI Skill that automatically creates detailed, color‑coded architecture diagrams as standalone HTML files, explains its design system, shows installation options via manual zip or Skills Hub, and demonstrates fast generation and iterative editing through simple prompts.

AI‑generated diagramsArchitecture DiagramClaude AI
0 likes · 7 min read
Generate High‑Quality Architecture Diagrams in One Sentence with This Claude Skill
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 generationCMPCode Readability
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 ArchitectureSpec-Driven Development
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 EngineeringSpec-Driven Development
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.

Best PracticesCode MaintainabilityEncapsulation
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
Thought Artisan
Thought Artisan
Feb 14, 2026 · Fundamentals

Abstraction Level Leaps: How Software Engineering Evolves Through Structural Design

This article explores software engineering as a progression of abstraction levels — from functions and classes to libraries, platforms, and AI-driven design primitives — arguing that each leap releases productivity by encoding structural 'genes' that enable building more complex systems.

AI in software engineeringSoftware Engineeringabstraction levels
0 likes · 5 min read
Abstraction Level Leaps: How Software Engineering Evolves Through Structural Design
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.

Best PracticesJavabackend development
0 likes · 14 min read
Mastering Java Code Comments: The Ultimate Guide to High‑Quality, Readable, Architecture‑Level Documentation
Thought Artisan
Thought Artisan
Jan 29, 2026 · Fundamentals

Software Engineering's Core Laws vs. LLM Limits: The Agent Boundary Question

The article examines software engineering's fundamental complexity laws, large language model limitations including context constraints and hallucination, Rice's Theorem implications, and questions the boundaries of AI agents in solving real software problems despite improved memory, tools, and context organization.

AI AgentsRice's TheoremSoftware Engineering
0 likes · 3 min read
Software Engineering's Core Laws vs. LLM Limits: The Agent Boundary Question
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.

EncapsulationJavaSingle Responsibility
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
Programmer1970
Programmer1970
Jan 11, 2026 · Fundamentals

Mastering YAGNI in Java: How to Avoid Premature Architecture

The article explains the YAGNI principle, showing how focusing on current requirements, using simple solutions, and refactoring when real needs arise can prevent over‑engineering, reduce technical debt, and keep Java code clean and adaptable.

DRYJavaKISS
0 likes · 7 min read
Mastering YAGNI in Java: How to Avoid Premature Architecture
Programmer1970
Programmer1970
Jan 9, 2026 · Fundamentals

Rethinking DRY: Eliminate Knowledge Duplication, Not Just Similar Code

The article clarifies that the DRY principle targets hidden knowledge duplication rather than superficial code similarity, explains why over‑abstraction can be harmful, and provides concrete Java examples of both violations and correct applications, while also discussing how to balance DRY with YAGNI.

DRYJavaYAGNI
0 likes · 10 min read
Rethinking DRY: Eliminate Knowledge Duplication, Not Just Similar Code
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 modelTOGAFarchitecture
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.

AI programming assistantClaude Codecontext 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++GCCLinker
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.

System Designapplication architectureenterprise architecture
0 likes · 3 min read
What Is Enterprise Application Architecture and How to Design It?
21CTO
21CTO
Sep 13, 2025 · Fundamentals

Why Linus Torvalds Calls Certain Code “Garbage” and What It Means for Cognitive Load

Linus Torvalds harshly criticized a Meta engineer's pull request as garbage, using the incident to illustrate how unnecessary abstractions increase cognitive load, why code should be clear and self‑contained, and how modern tools like IDEs and LLMs change the cost of refactoring.

Linus TorvaldsPR reviewSoftware Engineering
0 likes · 7 min read
Why Linus Torvalds Calls Certain Code “Garbage” and What It Means for Cognitive Load
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 ControlSaaSSecurity
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 Reviewcode qualitygood 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.

Open-Closed PrincipleSOLIDTypeScript
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 ModelingPlantUMLUML
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.

Backendarchitectureself-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-PatternsJavabackend development
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.

BackendDDDarchitecture
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.

Composition APIclean architecturesoftware 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.

Best Practicesclean codenaming conventions
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 programmingCode Readabilityclean code
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.

clean codenaming conventionsrefactoring
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.

Best PracticesDDDDomain-Driven Design
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.

Business ModelSDKarchitecture
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.

Artificial IntelligenceCore SkillsIT architecture
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.

Complexitycode qualitymodular design
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.

Design by ContractOpenAPIProtobuf
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 managementSystem thinking
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.

Best PracticesKISS principlearchitecture
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.

DDDDRY Principlecode reuse
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