delphi - 与其他语言相比,Delphi 是否更有可能重用临时变量?

标签 delphi variables

由于 Delphi 让您一直到方法的 var 部分来声明局部变量,您是否发现自己破坏了 "Curly's Law" (重用变量)比你在大学时更频繁?(当然,除非你在大学里编写过 Pascal 程序)。

如果是这样,您会采取什么措施来打破这种习惯,尤其是在需要获取和/或设置大量属性的函数中。是否存在可以接受声明 TempInt : Integer 的阈值?和TempStr : String 。 (您是否有时在 T<b>e</b>mp 中使用“e”,而有时不使用?)

最佳答案

我几乎从不重用变量。我不想说永远不会,但它接近永远

原因如下:

  • 小方法(保持方法和属性 getter / setter 尽可能简洁是一个很好的做法)。
    • 当只完成一件事时,不需要重用变量
    • var 部分始终显示在屏幕上。
  • 编译器会根据需要重用存储,因此重用只是懒惰编码人员的拐杖,不会提高性能。
  • 较新版本的 Delphi 可以CTRL+SHIFT+V 来声明变量(如果我觉得懒)。
  • 重用变量使调试变得更加困难 - 更多的时间和精力花在维护上,而不是开发上(对于任何严肃的应用程序),因此总是做一些事情使维护更容易,甚至如果这会让开发变得更困难。
  • 首选用户定义的类型,因此帐户余额是一种特定类型,而不仅仅是一种货币。这意味着无论如何,变量的可重用性都较低。
  • For 循环变量(常见的重用变量)使用较少,因为我们可以同时使用 for in跳过迭代器
  • 我的变量有描述性名称,因此脱离上下文使用它们是没有意义的。

一般来说,我喜欢将所有变量放在顶部,就像我喜欢在我的设备上有一个接口(interface)部分一样。这有点像在论文上写一个摘要——让我对正在发生的事情有一个大概的了解,而不必阅读整篇论文。 Delphi 可以受益于在“内部范围”声明变量的能力,例如在 for 循环或其他 begin/end block 中,但我不知道有多少会分散 Delphi 代码的整洁性和可读性。

关于delphi - 与其他语言相比,Delphi 是否更有可能重用临时变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1159008/

相关文章:

delphi - 通过 IDispatch Invoke 实现识别 COM 事件的调用者

ios - 德尔福 + iOS : Error by "translating" of "UIContextualAction" interface from ObjectiveC to Delphi

mysql - 使用变量对MySQL表进行排序

php - 在 php 中插入 Javascript 变量

delphi - 当鼠标离开我的控制时如何触发事件?

delphi tserversocket 忽略第一条消息

delphi - 更新 Parse 安装对象将其删除

c++ - For循环设置变量条件

mysql - c 将变量插入 mysql 数据库 beaglebone

java - 在 Java 中为变量分配动态名称