给出两个选项(如我所见,请随时告诉我),例如,在检查两个字符串的相等性时,我想知道它在转到:
中是否是首选/惯用的将这两个字符串分配给内存中的变量,例如:
OR
请不要花时间思考
问题是,哪个是首选的?将内存分配给内存(仅稍作同意),提高了可读性,或者只是"去做"并在运行时直接在
是否还有我忽略的第三个选项,我也很想知道这一点。谢谢大家!
有一些启发性的回答,我感谢所有花时间考虑我的问题的人。获得的经验教训:
- 只是因为一个人没有分配给变量,就不能将其保存到堆栈(duh)中。
- 请始终考虑其易读性和可维护性
- 使用良好的变量名
- 如果没有GC,编译器等的高级知识,偏爱更快的事物就是在错误的树上求助。
我修改后的方法:
对于那些为此道歉感到烦恼的人,只是一个新手,他们正在寻找社区的真知灼见。如果我违反了发布指南,请通知我。
再次感谢您。
对于您而言,第二个版本的可读性要差得多。如果给变量取一个明智的名称(而不是
我什至不会考虑您所说的"分配给内存"的任何可能的开销,因为首先您不知道编译器是否进行了优化,更重要的是,即使没有进行优化,这也不是程序的瓶颈,不是视频编辑工具的紧密循环,也不是服务器负责的部分每秒处理十亿个请求,或任何其他速度真正重要的示例。
总是喜欢可读性,而不是您认为可能较慢的东西。
如果您确实遇到速度或内存问题程序的使用情况,那么您可以考虑对其进行改进(针对实际情况,而不是通过" inline "变量进行改进),但是在那种情况下,您首先必须实际剖析瓶颈所在。
您甚至可以进一步提高程序的可读性。根据实际情况,您可以考虑给
另一点:您的程序显示
但是,如果该表达式易于理解并且希望保持不变,那么您可能想要坚持比较这些表达式。