我正在研究“意大利面条代码”项目,并且在修复错误和实现新功能的同时,我还进行了一些重构,以使代码可以进行单元测试。
这些代码通常紧密耦合或非常复杂,以至于修复一个小错误将导致许多类被重写。因此,我决定在代码中停止重构的位置画一条线。为了清楚起见,我在解释这种情况的代码中添加了一些注释,例如:
class RefactoredClass {
private SingletonClass xyz;
// I know SingletonClass is a Singleton, so I would not need to pass it here.
// However, I would like to get rid of it in the future, so it is passed as a
// parameter here to make this change easier later.
public RefactoredClass(SingletonClass xyz) {
this.xyz = xyz;
}
}
或者,另一块蛋糕:
// This might be a good candidate to be refactored. The structure is like:
// Version String
// |
// +--> ...
// |
// +--> ...
// |
// ... and so on ...
//
Map map = new HashMap<String, Map<String, Map<String, List<String>>>>();
这是一个好主意吗?这样做时我应该记住什么?
1
相关/重复:TODO注释有意义吗?
—
蚊蚋
这是一个基于意见的主题;但是我个人的看法是,这正是有用的注释类型,我希望可以在其他人的代码中找到:它告诉您代码中尚不明显的重要信息;不方法做什么,而是为什么。
—
Kilian Foth,
HashMap <String,Map <String,Map <String,List <String >>>>:o
—
margabit
告诉我为什么一段代码看起来很臭的注释受到了极大的赞赏。我可能没有您对代码库的了解,所以我将看到一个问题并思考“该死的什么?”,但是注释解释其原故将帮助我更快地理解代码。是的,这非常有用。(当然,假设您无法将代码修复为不是WTF!)
—
Phoshi