Tagged articles

Software Design

439 articles · Page 5 of 5
Tencent Cloud Developer
Tencent Cloud Developer
Mar 22, 2018 · Fundamentals

Story Scenario Tree: Practicing Simple Design in Software Development

The Story Scenario Tree is presented as a practical tool that guides developers to apply simple design principles—defining tasks, external interfaces, and upfront test cases—to create isolated, high‑quality code that evolves healthily, with progress measured objectively and defects minimized across changes.

Software DesignTest‑Driven Developmentagile development
0 likes · 5 min read
Story Scenario Tree: Practicing Simple Design in Software Development
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Mar 19, 2018 · Fundamentals

12 Must‑Read Books Every Software Engineer Should Read

This article presents a curated list of twelve influential programming books—ranging from classic software design and algorithms to practical coding guides—explaining why each title is essential for developers seeking to deepen their craft regardless of language or experience level.

AlgorithmsSoftware DesignSoftware Engineering
0 likes · 12 min read
12 Must‑Read Books Every Software Engineer Should Read
Java Captain
Java Captain
Feb 25, 2018 · Fundamentals

Writing Well‑Designed Code: Ensuring Logical Correctness, Reducing Complexity, and Decoupling Business Logic

The article shares practical experiences on writing high‑quality code by emphasizing logical correctness, the necessity of handling the else branch, techniques for lowering logical complexity, and strategies for decoupling business logic from implementation, all illustrated with clear Java examples.

Code ReviewSoftware Designcomplexity reduction
0 likes · 13 min read
Writing Well‑Designed Code: Ensuring Logical Correctness, Reducing Complexity, and Decoupling Business Logic
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Feb 5, 2018 · Fundamentals

How to Eliminate 22 Common Code Smells with Refactoring Techniques

This article enumerates twenty‑two typical code smells—from duplicated code and long methods to speculative generality—and provides concrete refactoring tactics such as Extract Method, Pull Up Method, Introduce Parameter Object, and Move Method to improve design, readability, and maintainability of object‑oriented software.

Object-OrientedSoftware Designclean code
0 likes · 24 min read
How to Eliminate 22 Common Code Smells with Refactoring Techniques
Architecture Digest
Architecture Digest
Dec 10, 2017 · Fundamentals

Understanding Software Architecture: Definitions, Lifecycle, Importance, and the Role of an Architect

This article explains the concept of software architecture, its definition, lifecycle, importance, characteristics of good and bad designs, essential technical knowledge for Java architects, functional versus non‑functional requirements, types of architects, required hard and soft skills, and guidance on becoming and maintaining an effective software architect.

Software Designarchitect rolenon-functional requirements
0 likes · 13 min read
Understanding Software Architecture: Definitions, Lifecycle, Importance, and the Role of an Architect
Architecture Digest
Architecture Digest
Dec 4, 2017 · Fundamentals

Rethinking Object‑Oriented Programming: From Myth to Practical Understanding

The article reflects on a decade of programming experience to demystify object‑oriented programming, arguing that OOP should be taught as a practical tool for reducing complexity rather than an abstract doctrine, and discusses how to organize functions into classes, avoid misuse of inheritance and design patterns, and focus on solving real problems.

Code OrganizationDesign PatternsProgramming Fundamentals
0 likes · 10 min read
Rethinking Object‑Oriented Programming: From Myth to Practical Understanding
21CTO
21CTO
Nov 25, 2017 · Backend Development

From Monolith to Microservices: How Application Architecture Evolves

This article traces the evolution of application architectures—from vertical monolithic designs through RPC and SOA to modern microservices—explaining the motivations, key characteristics, deployment patterns, and trade‑offs of each approach for scalable, maintainable backend systems.

Software Designbackendservice-oriented
0 likes · 7 min read
From Monolith to Microservices: How Application Architecture Evolves
Java Captain
Java Captain
Jul 23, 2017 · Fundamentals

30 Essential Java Coding Practices for Writing Clean and Maintainable Code

This article presents thirty practical Java coding guidelines covering naming conventions, class design, method granularity, encapsulation, documentation, error handling, and performance considerations to help developers produce clean, robust, and maintainable software.

Object-OrientedSoftware Designbest practices
0 likes · 14 min read
30 Essential Java Coding Practices for Writing Clean and Maintainable Code
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Jul 2, 2017 · Fundamentals

Bridging Development and Architecture: How to Become a Software Architect

This article explores the blurry line between development and software architecture, outlines the responsibilities and evolution of a software architect, and provides practical guidance on defining architecture, managing non‑functional requirements, selecting technologies, evaluating designs, and leading teams toward successful releases.

Software Designnon-functional requirementssoftware architecture
0 likes · 12 min read
Bridging Development and Architecture: How to Become a Software Architect
21CTO
21CTO
Jun 25, 2017 · Fundamentals

Why Refactoring Matters: A Practical Guide to Cleaner Code

This article explains why refactoring is essential for maintaining legacy systems, defines refactoring, outlines when to start and stop, describes the step‑by‑step process, discusses code smells and techniques, and offers resources for mastering clean, maintainable software.

Software Designclean codecode quality
0 likes · 13 min read
Why Refactoring Matters: A Practical Guide to Cleaner Code
Architecture Digest
Architecture Digest
Jun 25, 2017 · Fundamentals

Why and How to Refactor Code: Principles, Process, and Best Practices

The article explains why refactoring is essential for maintaining and evolving legacy code, defines refactoring, outlines when to start and stop, lists prerequisites, describes a step‑by‑step process with testing and version control, and connects refactoring to design principles and large‑scale systems.

Software DesignSoftware Engineeringclean code
0 likes · 13 min read
Why and How to Refactor Code: Principles, Process, and Best Practices
Qunar Tech Salon
Qunar Tech Salon
Mar 29, 2017 · Fundamentals

Is Good Architecture Designed or Evolved? Insights from Senior Software Architects

The article explores whether effective software architecture stems from upfront design or gradual evolution, presenting viewpoints from senior architects, discussing stakeholder concerns, non‑functional requirements, real‑world evolution cases like 58.com and Google, and urging readers to share their own conclusions.

Software DesignSystem Designevolution
0 likes · 17 min read
Is Good Architecture Designed or Evolved? Insights from Senior Software Architects
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Feb 27, 2017 · Fundamentals

25 Essential Principles to Master Software Model Design

The article outlines twenty‑five practical principles for becoming an excellent software model designer, emphasizing the importance of people over technology, thorough requirement analysis, humility, low coupling, high cohesion, portability, scalability, performance, proper documentation, and continuous learning to build robust, maintainable systems.

ModelingSoftware DesignSoftware Engineering
0 likes · 14 min read
25 Essential Principles to Master Software Model Design
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Jan 9, 2017 · Fundamentals

Why Great Code Needs Great Diagrams: Unlocking Visual Design in Software Development

The article reflects on the shift from pure coding to embracing requirement analysis, testing, and especially diagramming, explaining how visual representations externalize information, foster exploration, support global thinking, and make abstract concepts intuitive, ultimately improving software quality and collaboration.

Coding PracticesSoftware DesignSoftware Engineering
0 likes · 6 min read
Why Great Code Needs Great Diagrams: Unlocking Visual Design in Software Development
Architecture Digest
Architecture Digest
Nov 20, 2016 · Fundamentals

Principles of Object‑Oriented Architecture and Common Design Patterns

This article explains core OO architecture principles such as low coupling and high cohesion, outlines methods to reduce coupling, advocates composition over inheritance, and provides concise overviews of widely used design patterns like MVC, MVVM, Factory, Singleton, Builder, and many others.

CouplingOO architectureSoftware Design
0 likes · 7 min read
Principles of Object‑Oriented Architecture and Common Design Patterns

Can Disposable Code Outperform Reusable Code? A Deep Dive into Maintainability

The article argues that treating lines of code as a cost rather than a product encourages writing disposable, loosely‑coupled software, and it walks through practical stages—from avoiding code entirely to using feature flags—to build systems that are easier to modify, replace, or discard.

Feature FlagsLoose CouplingModular Architecture
0 likes · 20 min read
Can Disposable Code Outperform Reusable Code? A Deep Dive into Maintainability
Architecture Digest
Architecture Digest
Jun 24, 2016 · Fundamentals

Rethinking Web Frameworks: From Ideal Design to Practical Implementation

This article explores how an ideal web framework—featuring a unified data model, reusable code, event‑driven logic, and language‑agnostic architecture—can be realized in practice, discussing frontend and backend realities, graph‑based data modeling, and the benefits for maintainability and extensibility.

Data ModelingSoftware DesignWeb Framework
0 likes · 25 min read
Rethinking Web Frameworks: From Ideal Design to Practical Implementation
21CTO
21CTO
Apr 6, 2016 · Fundamentals

Avoid These 4 Programming Traps That Turn Good Intentions into Hell

The article reveals four common programming pitfalls—premature or late optimization, over‑complex abstractions, misuse of tools, and misguided cross‑platform efforts—and provides practical patches to keep developers from sinking into endless deadlines and frustration.

Software Designbest practicescode optimization
0 likes · 12 min read
Avoid These 4 Programming Traps That Turn Good Intentions into Hell
Qunar Tech Salon
Qunar Tech Salon
Mar 27, 2016 · Backend Development

Understanding Architecture Corruption and How to Mitigate It

The article examines why software architectures inevitably degrade over time in long‑running projects, analyzes the stages of decay, and presents practical strategies—including environment upgrades, phased and distributed builds, component isolation, and platform‑plus‑app designs—to keep systems maintainable and performant.

Build OptimizationSoftware Designarchitecture
0 likes · 23 min read
Understanding Architecture Corruption and How to Mitigate It
21CTO
21CTO
Dec 19, 2015 · Fundamentals

Rethinking Imports, Interfaces, and Common Coding Rules: When Best Practices Miss the Mark

While many languages recommend importing specific classes and programming to interfaces, these practices often add maintenance overhead without tangible benefits, especially in Java, and can even hinder readability; the article critiques such rules, urging developers to evaluate the real value of coding conventions.

Software Designcoding best practicesimport statements
0 likes · 6 min read
Rethinking Imports, Interfaces, and Common Coding Rules: When Best Practices Miss the Mark
21CTO
21CTO
Oct 19, 2015 · Fundamentals

18 Essential Programming Principles Every Developer Should Follow

This article presents eighteen core programming principles—from DRY and KISS to the Open/Closed and Law of Demeter—that help developers write cleaner, more maintainable code, reduce bugs, and adapt to change effectively.

Software DesignSoftware Engineeringbest practices
0 likes · 8 min read
18 Essential Programming Principles Every Developer Should Follow
21CTO
21CTO
Oct 16, 2015 · Fundamentals

Master Extract Method Refactoring: Simplify Your PHP Code with Real Examples

This article explains the Extract Method refactoring technique, its definition, benefits, and step‑by‑step PHP examples that show how to split a long method into smaller, well‑named methods, improving readability, reusability, and adherence to the Single Responsibility Principle.

Software Designcode readabilityextract-method
0 likes · 10 min read
Master Extract Method Refactoring: Simplify Your PHP Code with Real Examples
21CTO
21CTO
Oct 3, 2015 · Fundamentals

What Exactly Should You Look for When Reviewing Code?

This article provides a comprehensive checklist for code reviewers, covering formatting, design, readability, functionality, security, testing, performance, and resource usage, while explaining why many of these aspects can be automated and how to balance manual inspection with tooling.

Code ReviewSoftware DesignSoftware testing
0 likes · 23 min read
What Exactly Should You Look for When Reviewing Code?

Focus on Learning Languages Over Frameworks and Writing Minimal, Modular Code

Learning the core programming language rather than relying on heavy frameworks, building small independent modules, and keeping code minimal and readable improves flexibility, performance, maintainability, and reduces bugs, ultimately leading to higher productivity and better collaboration among developers.

Software Designcode qualitylanguage fundamentals
0 likes · 9 min read
Focus on Learning Languages Over Frameworks and Writing Minimal, Modular Code

Microservices Architecture: Evolution, Characteristics, and Practical Considerations

The article examines the evolution from traditional SOA and ESB to modern microservices, outlining key characteristics such as componentization via services, business‑aligned team structures, treating services as products, lightweight communication, decentralization, automation, failure‑tolerance, and evolutionary design, while discussing practical adoption challenges.

Cloud NativeSOASoftware Design
0 likes · 11 min read
Microservices Architecture: Evolution, Characteristics, and Practical Considerations
Architect
Architect
May 12, 2015 · Fundamentals

12 Rules for Successful Architecture Refactoring – Insights from Uber’s Raffi Krikorian

The article presents Uber engineering leader Raffi Krikorian’s twelve practical rules for planning, executing, and managing software architecture refactoring, emphasizing clear purpose, measurable goals, incremental delivery, data‑driven decisions, technical debt control, realistic technology choices, and stakeholder communication.

Software Designdata-drivenincremental delivery
0 likes · 13 min read
12 Rules for Successful Architecture Refactoring – Insights from Uber’s Raffi Krikorian

12 Rules for Successful Architecture Refactoring – Insights from Uber’s Engineering Leader

The article presents Uber engineering manager Raffi Krikorian’s twelve practical rules for planning, executing, and evaluating software architecture refactoring, emphasizing clear purpose, measurable goals, incremental delivery, current state assessment, data‑driven decisions, and diligent management of technical debt.

Software Designincremental deliveryrefactoring
0 likes · 8 min read
12 Rules for Successful Architecture Refactoring – Insights from Uber’s Engineering Leader
Qunar Tech Salon
Qunar Tech Salon
Dec 6, 2014 · Fundamentals

Why Code Becomes Unreadable Over Time and How to Keep It Simple

The article explains how over‑complex mental models, poor translation of semantic ideas into code, inadequate naming, missing design chunks, unclear usage patterns, and lack of smooth model transitions cause code to decay, and offers practical principles such as DDD, SRP, good naming, testing, and reusing existing algorithms to maintain readability.

Domain-Driven DesignSingle Responsibility PrincipleSoftware Design
0 likes · 10 min read
Why Code Becomes Unreadable Over Time and How to Keep It Simple
Baidu Tech Salon
Baidu Tech Salon
Aug 5, 2014 · Backend Development

A Tale of Bug Fixing: Thinking Beyond the Immediate Solution

After a rushed fix for a division‑by‑zero bug caused incorrect results, the team learns to validate data at its source, adopt proper validation frameworks, and step back to understand underlying requirements, emphasizing that thoughtful design outweighs quick code patches.

Bug fixingInput ValidationPHP
0 likes · 6 min read
A Tale of Bug Fixing: Thinking Beyond the Immediate Solution