我试着用一个变量来计算一些东西,试了两个星期.
事实证明我之前设置变量以暂时解决另一个问题,并且从未回过头来纠正它.
通常,我尝试使用// ToDo标记代码以提醒我删除临时变量.
在这种情况下,我没有标记它,因为我正在试图解决更多的事情.(我无法弄清楚发生了什么,所以我尝试了各种各样的东西!)
如何标记以后要删除的临时变量?
标记以后需要删除的变量的最佳做法是什么?
(当然没有一个真正有组织的大脑...)
oop*_*ase 36
使用注释 @Deprecated
@Deprecated
public void Test() {
//
}
Run Code Online (Sandbox Code Playgroud)
Vie*_*jes 14
经过一段谷歌搜索后发现它,因为我也很好奇.
@Deprecated
public void speak() {
System.out.println("Meow.");
}
Run Code Online (Sandbox Code Playgroud)
来自维基百科,关于Java注释:
Java定义了一组内置于该语言中的注释.应用于java代码的注释:@Override - 检查该函数是否为覆盖.如果在其中一个父类中找不到该函数,则会发出编译警告.@Deprecated - 将函数标记为已过时.如果使用该函数,则会发出编译警告.@SuppressWarnings - 指示编译器抑制注释参数中指定的编译时警告应用于其他注释的注释:@Retention - 指定标记注释的存储方式 - 无论是仅代码,编译到类中,还是在运行时通过反射可用.@Documented - 标记另一个注释以包含在文档中.@Target - 标记另一个注释以限制注释可以应用于@Inherited的哪种java元素 - 将另一个注释标记为要继承到注释类的子类(默认情况下,注释不会继承到子类).
最佳做法是使用版本控制.一旦你修复了一个bug,就可以使用git/hg/svn diff检查自上次提交以来你做了什么,并删除任何临时更改.如果您需要解决其他错误,但保持"临时改变"过多次提交,你可以做部分的提交(GIT添加--patch,或HG qrecord),这样你的"临时更改"永远不会犯和被遗忘.对于非常大的临时(不是最佳实践,但可能会发生),您可以创建一个本地分支,您可以继续使用普通代码.一旦确定要删除"临时更改",您只需清理所有未提交的更改,然后测试问题.
我想我不会对每一个想法/建议发表评论,而是回答,然后让您对此答案进行投票。
首先,非常感谢您分享您的流程和想法。对此,我真的非常感激。
我认为有很多因素在起作用,这些因素应该是由避免犯愚蠢错误或遭受已经犯过的错误的愿望所驱动的。我做了一个(很多)。
让我们假设版本控制和团队审查胜过一切;但是超出版本控制范围(假设您将crappola 提交给您的良好代码):
@Deprecated 非常好。它似乎在瞪着你。我们都需要耀眼。希望我们能透过树木看到森林。
对我来说,差异很繁重,因为我经常进行彻底的更改,但这是一个在很多情况下都有效的好建议。
一些值得注意的事情:
由于我通常是唯一的开发人员,因此我依赖 ToDos。它们很容易使用。我有一个包含待办事项的非正式评级系统。例如,真正需要清理的东西如下所示:
//TODO * Might be a future crash here // where one star is something I really have to clean up before I ship.
//TODO *** Can some lines be trimmed from this view adapter?
Run Code Online (Sandbox Code Playgroud)
多颗星是任意的,甚至可能是可选的。我不断地骑着自行车穿过它们。@BriGuy37 - 这是一个有趣的想法。@Sriram - 这也很有趣 - 在某些条件下设置标签。
就我而言,我没有对 //TODO 进行人肉搜索,这让我很恼火。
其中最大的规则也许是:
以一种不会犯这样的愚蠢错误的方式来统一你的工作。了解您正在做出哪些改变以及何时进行。保持冷静。
再次感谢!很高兴从社区中获取最佳实践并融入到您的工作中!