Posts under the category Software Development

Why C++ Needs a Built-in Reallocation Operator: Designing the 'rew' Keyword for Efficient Memory Management

Introduction: The Unpredictability of Software DevelopmentSoftware development is filled with unexpected challenges. Every line of code we write carries uncertainty, and we must always leave room for the unknown. This philosophical observation mirrors a very practical problem in C++ programming: the lack of a proper reallocation mechanism for dynamically allocated objects.Just as the lyrics suggest—"accidents are everywhere, leave room for the unknown"—memory management in C++ requires careful consideration. We need mechanisms that are both ...

Feign Best Practices: Why Extracting to a Public Module Isn't the Answer

The Common RecommendationMost blog posts and online resources recommend extracting Feign call-related DTOs and clients into a single shared module. This approach appears more convenient for usage and enables easy code reuse across projects.However, this common practice fundamentally misunderstands Feign's architectural role.The Core Problem: Feign's True NatureFeign is fundamentally the caller's infrastructure component, not the service provider's API definition carrier.This distinction is critical for understanding proper architectural boun...

After One Year of AI Programming, Do I Still Remember How to Write Code Manually? The Answer Silenced Me

Last week, an intern joined our team.On the first day while familiarizing with the environment, he sat beside me watching me write code.After watching for a while, he asked me:"Teacher, how fast can you write code without using AI normally?"I naturally responded: "Of course I can write code. I've been writing code for 12 years."Then he asked a second question:"When was the last time you wrote code manually without AI?"I paused.After thinking carefully, I couldn't remember.That evening, I made a decision: Turn off Cursor, turn off Copilot, tu...

Mastering DFS Algorithms: Complete Training Guide with Problem-Solving Templates

Depth-First Search (DFS) represents one of the most fundamental and versatile algorithms in computer science. This comprehensive training guide covers essential DFS patterns, templates, and problem-solving strategies drawn from extensive competitive programming experience. Whether you're preparing for coding interviews, participating in programming contests, or simply strengthening your algorithmic foundation, this guide provides the practical knowledge you need.Understanding Memory Limits in Competitive ProgrammingBefore diving into DFS imp...

Replicating ByteDance AI Development Workflow: Building a Universal Node.js Scaffold

Introduction: Insights from ByteDance AI PracticesRecent discussions with a former colleague—now a Tech Lead at ByteDance managing a team of nearly 10 people—revealed valuable insights into their team's AI workflow practices, along with some industry observations.Industry Observations1. Talent Reserve ChangesTheir team has essentially stopped recruiting interns, hiring only one this year.Interpretation: Under AI collaboration models, the marginal utility of new hires has decreased dramatically.2. Organizational Expectation ShiftsMultiple lea...

Claude Code Mastery Guide Part 4: Custom Commands for Eliminating Repetitive Typing

Welcome to the fourth installment of the Claude Code Mastery Guide. This article unlocks a productivity-boosting feature that will double your efficiency: Custom Commands. Transform those repetitive instructions and complex workflows you type daily into simple slash commands, freeing yourself from manual repetition forever.The Problem: Repetitive Command FatigueHave you experienced these scenarios?"Please check my code style using Google Java Format""Generate test cases using JUnit 5 and Mockito, cover all branches, name test classes xxxTest...