如何跟踪软件运行/输出

时间:2014-07-17 16:48:44

标签: software-design

背景

我开始在工作中开拓更多的软件工程角色。我没有计算机科学背景,并且学会了自己编写一些高级语言(主要是R,python和ruby)。在我开始找到自己的问题解决方案之前,我想知道保持最后一次运行程序的最佳实践。

具体来说,我正在编写一个程序来清理数据库中的数据(查找丢失的数据,插补等...)。它需要知道上次运行的时间,因此它不会检索太多数据。

问题:

如何最好地跟踪以前的代码运行?

我正在编写生产级代码。这些脚本和函数将自动运行(可能每晚或每周),结果将输出到文件。这些程序中的每一个都取决于它最后运行的时间。我可以看到这涉及到几个方面。

  1. 输出文件名(或诊断文件名)包含运行的最后日期/时间。即'output_file_2014_07_11_01_00_04.txt'从这个名称,程序可以确定它上次运行的时间。

  2. 保留一个单独的信息文件,程序只是将上次运行时间附加到运行时列表中。

  3. 这些解决方案似乎容易出问题。是否有更安全有效的方法来记录/读取上次运行日期?

1 个答案:

答案 0 :(得分:1)

我喜欢把它放在文件名中的想法。这将运行时间绑定到实际数据。如果将运行时间保存在单独的文件中,则数据可以与元数据(即运行时)分开。

这适用于受信任的环境。如果意外或恶意破坏是一个问题,如更改文件名是一个问题,那么很多其他事情也会成为问题。

第三种方法是创建一个"标题"或数据文件本身的注释部分。标题中的运行时间。当您读取数据时,您的跳过可以跳过标题并直接获取数据,或检查标题并提取元数据(即运行时或其他属性)。

这种方法的优点是:(a)元数据和数据保持在一起;(b)您可以包含更多的元数据而不仅仅是运行时间。这种方法的缺点是,任何读取数据的程序必须首先跳过标题。有关此方法的示例,请参阅http://www.cs.waikato.ac.nz/ml/weka/arff.html

处的属性 - 关系文件格式(ARFF)