Language agnostic 从多个方法写入文件的最佳实践
我有一个类,其中包含一系列方法,用于检查每周收集的数据(如格式良好和收集数据时的其他错误)。每个方法都执行一个测试,然后打印测试摘要 我想将这些测试的输出打印到一个文件中,但我不确定最好的方法是什么。例如Language agnostic 从多个方法写入文件的最佳实践,language-agnostic,logging,Language Agnostic,Logging,我有一个类,其中包含一系列方法,用于检查每周收集的数据(如格式良好和收集数据时的其他错误)。每个方法都执行一个测试,然后打印测试摘要 我想将这些测试的输出打印到一个文件中,但我不确定最好的方法是什么。例如 类是否应该为文件保存一个实例变量,并且每个方法都应该打开/追加/关闭文件?(问题是方法有时会调用其他方法,所以这看起来有点混乱?) 每个方法都应该作为参数传递文件吗?(看起来也很凌乱。) 每个方法是否应该返回一个字符串,调用所有其他测试的“中心”方法是否应该将所有这些字符串输出到一个文件
- 类是否应该为文件保存一个实例变量,并且每个方法都应该打开/追加/关闭文件?(问题是方法有时会调用其他方法,所以这看起来有点混乱?)
- 每个方法都应该作为参数传递文件吗?(看起来也很凌乱。)
- 每个方法是否应该返回一个字符串,调用所有其他测试的“中心”方法是否应该将所有这些字符串输出到一个文件
- 空结果数
- 结果长度
- 结果中的怪异人物
- 等等
- 检查\u num\u empty\u结果
- 检查\u奇怪的\u字符
- check_scrap(调用一系列其他检查)
- check_scrape_pair(有时我想检查成对的刮片,例如,将结果相互匹配,因此单独检查每个刮片是不同的)
- 等等
我想让我的“scrape checker”程序打印出一个总结所有检查的文件。最终,这取决于您使用的语言 如果您的语言允许,第一种解决方案最有意义。对于日志类的每个实例,都有一个用于读取/写入文件对象的字段。这基本上相当于将file对象作为参数传递给每个方法
也就是说,大多数成熟的语言都有模块,这些模块将为您完成很多这方面的工作;在我的sh/awk、Perl和Python的基础上,我想到它们都适合这个任务(不过,如果您愿意,可以使用Java或其他语言)。最终,这取决于您使用的语言 如果您的语言允许,第一种解决方案最有意义。对于日志类的每个实例,都有一个用于读取/写入文件对象的字段。这基本上相当于将file对象作为参数传递给每个方法
也就是说,大多数成熟的语言都有模块,这些模块将为您完成很多这方面的工作;在我的sh/awk、Perl和Python的基础上,我想到了它们都适合这个任务(尽管如果你想,你可以使用Java或其他东西)。似乎日志框架将是一个完美的解决方案。如果您使用的是Java或.NET,那么log4j和log4net实际上就是这方面的标准 日志框架似乎是一个完美的解决方案。如果您使用的是Java或.NET,那么log4j和log4net实际上就是这方面的标准 关注点分离。编写关注刮取活动的代码,并返回刮取的值。然后用于日志记录,这可以大大简化问题,因为方面包含对文件或日志记录API的引用 关注点分离。编写关注刮取活动的代码,并返回刮取的值。然后用于日志记录,这可以大大简化问题,因为方面包含对文件或日志记录API的引用