好吧,只是一些关于性能的问题,但我认为其中一些问题是合乎逻辑的: - 如果我使用具有短名称的变量会更好/更快地处理?示例:“String s”,将优于“String superphrase”。- 关于文件名,如果文件名短的话访问速度会更快吗?示例:(几乎相同)filename.txt 或 f.txt。
感谢所有人,我真的很想尽可能地让我的软件变得更好:)
好吧,只是一些关于性能的问题,但我认为其中一些问题是合乎逻辑的: - 如果我使用具有短名称的变量会更好/更快地处理?示例:“String s”,将优于“String superphrase”。- 关于文件名,如果文件名短的话访问速度会更快吗?示例:(几乎相同)filename.txt 或 f.txt。
感谢所有人,我真的很想尽可能地让我的软件变得更好:)
如果我使用短名称的变量会更好/更快地处理?
不,变量名甚至可能不在生成的字节码中。在一天结束时,变量被映射到寄存器/堆栈操作数。变量名无关紧要。它只适用于人类。他们往往更superPhrase
喜欢s
.
如果文件名很短,访问它会更快
不。文件,就像变量一样,是使用特殊标识符(例如 inode)引用的。只有在打开/定位文件时才需要文件名。与实际文件访问相比,它要快几个数量级。这同样适用于 Java 应用程序和其他操作系统进程。
除了 Tomasz 的出色回答外,您还展示了早期优化的所有迹象。有几个问题:
1)在遇到问题之前,您不知道要优化什么:减少 CPU 使用率是与减少内存或减少磁盘使用率不同的优化
2) 优化会耗费时间,要么是您的个人时间(有价值),要么是您公司的时间(具有更容易平等的价值)。没有必要的优化是浪费金钱。
3)如果要优化的重要事情是“程序员花费时间来计算软件的功能”,那么减少可变长度(即使它确实有所作为)将是无关紧要的。可读的代码很重要——好的变量名是其中的重要部分。