在循环中使用查找表的方法

时间:2017-02-03 14:48:55

标签: loops methods lookup-tables

背景: 我是自学成才并为自己编写代码。因此,我的代码经常是丑陋的。虽然我仍然不想花很多时间在复杂的错误处理上,但由于我将成为唯一的用户,所以我决定修改我的方法,并采取措施迈向最佳实践"编码。在观察meta时,我发现这显然是一个坏词,不仅仅是在SO上,而是在任何网站上。由于原因似乎归结为"愚蠢的人通常使用它",强烈建议反对。但是,如果有人必须维护我的代码,我相信他们会很快决定对#34;最佳实践"并希望我至少考虑过它。有了这些信息,这是我的问题:

问题: 我经常遇到一种情况(我可以发布最新事件中尚未正常工作的代码,如果有帮助)我的程序膨胀,我想把它分解成更小的程序/方法。问题是:我的大部分程序都处于循环中(使用VBA,因此我无法访问某些.NET替代品),并且有1)使用了许多不同的变量,或者2)大型查找表。我的困境:

  1. 保持代码不变,使其变得臃肿,非模块化,难以维护
  2. 将大量的变量/表传递给方法似乎很笨拙并且难以阅读。
  3. 由于循环
  4. ,重新加载表将是一个巨大的性能损失
  5. 我被告知,如果我使用全局变量,众神会打击我。
  6. 那么,我该如何应对这种情况?

    示例:导入/分析投资交易。对于每笔交易:

    1. 查找以前的最大ID#&分配下一个ID#
    2. 搜索以前的交易(如果有的话)
    3. 查询帐户
    4. 查询交易代码(买/卖/股息/等)以确定会计规则
    5. 在找到匹配项之前搜索基金名称的描述
    6. 按基金名称和分享类查找股票代码
    7. 按报价单,日期和费用类型查询费用
    8. 通过股票代码和帐户查找共享余额和基础
    9. 使用费用,股票,帐户类型,基础,交易代码,日期和金额执行计算
    10. 添加交易记录
    11. 正如您所看到的,这涉及多次查找,这些查找很麻烦,并且每次事务都会将表重新读入内存中。

0 个答案:

没有答案