216/365 | ¥10M Job Challenge - Abstraction

While working on a system tool today, I noticed something: even if a piece of code appears more than twice in the system, it doesn’t necessarily mean we need to abstract it. Sometimes abstraction can actually cause issues—like breaking IntelliSense, or requiring changes to the abstracted class and all related subclasses later on due to new needs. So my takeaway is: apply abstraction moderately. Observe the situation first, and then decide whether or not refactoring is necessary. In the fast-paced world of AI, we humans should value our time more and not chase perfection too obsessively. After all, even AI isn’t perfect at this stage. Instead, we should leverage our human strengths—based on experience, learning to tolerate a certain level of imperfection is the smarter way forward.

May 17, 2025 - 17:04
 0
216/365 | ¥10M Job Challenge - Abstraction

While working on a system tool today, I noticed something: even if a piece of code appears more than twice in the system, it doesn’t necessarily mean we need to abstract it.

Sometimes abstraction can actually cause issues—like breaking IntelliSense, or requiring changes to the abstracted class and all related subclasses later on due to new needs. So my takeaway is: apply abstraction moderately. Observe the situation first, and then decide whether or not refactoring is necessary.

In the fast-paced world of AI, we humans should value our time more and not chase perfection too obsessively. After all, even AI isn’t perfect at this stage. Instead, we should leverage our human strengths—based on experience, learning to tolerate a certain level of imperfection is the smarter way forward.