为什么默认的IntelliJ默认类javadoc注释使用非标准语法?它不是用"User:jstauffer"创建一行,而是可以用"@author jstauffer"创建一行.它创建的其他行(日期和时间)可能没有使用javadoc语法,但为什么不在可用时使用javadoc语法?
这里有一个例子供参考:
/** * Created by IntelliJ IDEA. * User: jstauffer * Date: Nov 13, 2007 * Time: 11:15:10 AM * To change this template use File | Settings | File Templates. */
我经常看到如下代码:
Iterator i = list.iterator();
while(i.hasNext()) {
...
}
Run Code Online (Sandbox Code Playgroud)
但我写的是(当Java 1.5不可用或者每个都不能使用时):
for(Iterator i = list.iterator(); i.hasNext(); ) {
...
}
Run Code Online (Sandbox Code Playgroud)
因为
i在较小的范围内i外面使用?i声明在哪里?)我认为代码应该尽可能简单易懂,这样我才能制作复杂的代码来完成复杂的事情.你怎么看?哪个更好?
您是否通常假设任何给定对象上的toString()成本较低(即用于记录)?我做.这个假设有效吗?如果成本高,通常应该改变吗?以高成本制作toString()方法的正当理由是什么?我唯一一次关注字符串费用是因为我知道它与某些成员集合在一起.来自:http://jamesjava.blogspot.com/2007/08/tostring-cost.html
更新:另一种说法是:在调用之前,您是否经常考虑在任何给定类上调用toString的成本?
如何提高Subversion客户端更新性能?它似乎是客户端上的磁盘绑定.
细节:
除了获得更快的磁盘(特别是配置更改)之外,我对答案特别感兴趣.
一些建议的更新:
是否有任何好的资源来规划如何从架构角度使用异常?(或者直接在这里提供你的建议.)在我工作的项目中,我发现一些常见的异常被反复使用并且往往会失去意义.来自:http://jamesjava.blogspot.com/2007/10/exception-plan.html
当我构建*nix管道命令时,我发现我想在构建下一个阶段之前看到一个阶段的输出来验证正确性,但我不想重新运行每个阶段.有谁知道一个有助于此的程序?它会使最后一个阶段的输出自动用于任何新阶段.我通常通过将每个命令的结果发送到一个临时文件(即tee或每次运行一个命令)来做到这一点,但是程序处理它会很好.
我想象一个类似于选项卡式界面的东西,其中每个选项卡都标有每个管道命令,并选择一个选项卡显示将该命令应用于前一个结果的输出(至少一百行).
将Java编译器更改为自动转换是否有任何缺点或问题?在下面的示例中,list.get(0)的结果将自动转换为变量hi的类型.
List list = new ArrayList();
list.add("hi");
String hi = list.get(0);
Run Code Online (Sandbox Code Playgroud)
我知道仿制药允许你减少铸造,但他们这样做是以牺牲宣言更难为代价的.对我来说,仿制药的好处是,它们允许你有编译器执行多个规则 - 而不是他们自己减少铸件(但我没有用他们多少让我有些不知情).此提案只会减少要键入的代码量,而不会将其移动到其他位置.此外,还存在无法使用泛型的情况,因为集合可能具有不同的对象.如果根据当前使用情况"看起来太令人惊讶",可能会有语法调整来使用它.
来自:http://jamesjava.blogspot.com/2007/01/automatic-casting.html