Questions tagged «code-organization»


18
Python单元测试去哪儿了?
如果您正在编写库或应用程序,则单元测试文件会放在哪里? 将测试文件与主应用程序代码分开是很好的选择,但是将它们放在应用程序根目录内的“ tests”子目录中是很尴尬的,因为这使得导入要测试的模块更加困难。 这里有最佳实践吗?

11
如何组织大型R程序?
当我进行任何复杂的R项目时,我的脚本很快就会变得冗长而混乱。 我可以采用哪些实践来使我的代码始终令人愉快?我在考虑类似 函数在源文件中的放置 何时将内容分解到另一个源文件 主文件中应包含什么 将功能用作组织单位(鉴于R使其难以访问全局状态,这是否值得) 缩进/换行的做法。 对待(如{? 将}}之类的内容放在1或2行上? 基本上,组织大型R脚本的经验法则是什么?


2
我应该如何组织Python源代码?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我正在开始使用Python(现在是时候尝试了),并且我正在寻找一些最佳实践。 我的第一个项目是一个在多个线程中运行命令行实验的队列。我开始得到一个很长的main.py文件,我想将其分解。总的来说,我在寻找:python程序员如何组织多个源文件?有没有适合您的特定结构? 我的具体问题包括: 每个类都应该放在单独的文件中吗? 我应该如何组织相对于源代码的单元测试? 我应该在哪里放置doc注释,尤其是命令行操作的注释? 如果使用多个目录,如何在它们之间导入类? 我可能会通过反复试验得出一些自己的结论,但是我宁愿从好的东西开始。

1
Spark代码组织和最佳实践
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 因此,在面向对象的世界中花了很多年并始终考虑代码重用,设计模式和最佳实践之后,我发现自己在Spark世界中在代码组织和代码重用方面有些挣扎。 如果我尝试以可重用的方式编写代码,那么它几乎总是会带来性能上的损失,最终我会将其重写为适合我的特定用例的最佳方式。这个常量“写出最适合该特定用例的内容”也会影响代码的组织,因为当“它们都真正属于一起”时,很难将代码拆分为不同的对象或模块,因此我最终只有很少的包含长代码的“上帝”对象复杂转换链。实际上,我经常认为,如果我回顾了当我在面向对象的世界中工作时所写的大部分Spark代码,我会退缩并将其视为“意大利面条式代码”。 我上网冲浪试图找到与面向对象世界的最佳做法相当的东西,但是运气不佳。我可以找到一些函数式编程的“最佳实践”,但是Spark只是增加了一层,因为性能是这里的主要因素。 所以我想问的是,您是否有任何Spark专家找到了一些您可以推荐的编写Spark代码的最佳实践? 编辑 正如评论中所写,我实际上并不希望有人发布有关如何解决该问题的答案,而是我希望这个社区中的某人遇到过一些Martin Fowler类型的人,他曾在某处写过som文章或博客文章。关于如何解决Spark世界中代码组织的问题。 @DanielDarabos建议我举一个例子说明代码组织和性能冲突的情况。虽然我发现我在日常工作中经常遇到此问题,但我很难将其归结为一个很好的最小示例;)但我会尝试的。 在面向对象的世界中,我是“单一责任原则”的忠实拥护者,因此,我将确保我的方法仅负责一件事。它使它们可重用且易于测试。因此,例如,如果我必须计算列表中某些数字的总和(与某些条件匹配),并且必须计算同一数字的平均值,那么我绝对可以创建两种方法-一种计算和,然后计算平均值。像这样: def main(implicit args: Array[String]): Unit = { val list = List(("DK", 1.2), ("DK", 1.4), ("SE", 1.5)) println("Summed weights for DK = " + summedWeights(list, "DK") println("Averaged weights for DK = " + averagedWeights(list, "DK") } def summedWeights(list: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.