Java 如何将干净的代码应用于R,R有哪些特定的替代方案?

Java 如何将干净的代码应用于R,R有哪些特定的替代方案?,java,r,coding-style,Java,R,Coding Style,我自学R的方式很差,我正在努力提高。我读过Robert C.Martin(2009)的《清洁代码:敏捷软件工艺手册》,该手册提供了编码的最佳实践,我发现它很有帮助。然而,我理解它的能力是有限的,因为除了R之外,我没有编程经验,所以无法理解术语(或者许多用Java编写的示例)。我的问题是: 在所附的图片中,我列出了我不理解的干净代码中的术语,并猜测了R术语中的等效术语-如果我有任何错误,请您纠正我好吗?(我确实买了这本书,但出于这个问题的目的,在这里可以找到干净代码的pdf:) 如果我找到了其他一

我自学R的方式很差,我正在努力提高。我读过Robert C.Martin(2009)的《清洁代码:敏捷软件工艺手册》,该手册提供了编码的最佳实践,我发现它很有帮助。然而,我理解它的能力是有限的,因为除了R之外,我没有编程经验,所以无法理解术语(或者许多用Java编写的示例)。我的问题是:

  • 在所附的图片中,我列出了我不理解的干净代码中的术语,并猜测了R术语中的等效术语-如果我有任何错误,请您纠正我好吗?(我确实买了这本书,但出于这个问题的目的,在这里可以找到干净代码的pdf:)
  • 如果我找到了其他一些书,它们提供了基本的最佳实践,比如专门为R编写的Clean Code Dos,那将非常有帮助。我用R来做数据科学,我从来没有在项目中走得太远而不创造一个完整的老鼠窝;特别是,我很难写出简洁的代码,也很难知道什么时候应该开始一个新的脚本,以及如何让不同的脚本协调一致地工作

    我还阅读了Wilson等人(2017年)的《科学计算足够好的实践》,这很好。我确实使用R项目。谢谢你抽出时间


    R是一种多范式语言,因此直接采用类似OOL的代码风格来提高R技能并不是最好的主意。(因此在R中也是如此)-用面向对象的思维方式来限制自己会适得其反

    我建议阅读“干净代码”(OO代码的化妆品与FP程序员认为的“干净”)没有什么不同,但是要真正优化R代码,需要FP的补充。在这种情况下,你可以阅读大量的书籍:迈克尔逊的《通过Lambda演算介绍函数式编程》(如果你对FP完全不熟悉的话)、《函数式思维》(Neal Ford)、《变得函数化》(Joshua Backfeld)


    FP是纯未开发的功能,您可以在R中使用。为什么只使用OOP来限制自己?

    R是一种多范式语言,因此直接采用类似OOL的代码样式来提高您的R技能并不是最好的主意。(因此在R中也是如此)-用面向对象的思维方式来限制自己会适得其反

    我建议阅读“干净代码”(OO代码的化妆品与FP程序员认为的“干净”)没有什么不同,但是要真正优化R代码,需要FP的补充。在这种情况下,你可以阅读大量的书籍:迈克尔逊的《通过Lambda演算介绍函数式编程》(如果你对FP完全不熟悉的话)、《函数式思维》(Neal Ford)、《变得函数化》(Joshua Backfeld)


    FP是纯未开发的功能,您可以在R中使用。为什么只使用OOP来限制自己?

    阅读,您将更好地了解干净代码/OOP与R概念的关系。它是否相关是一个意见问题。(相关性取决于您在R中开发的项目类型…)这个问题几乎肯定会结束,因为征求建议被认为是离题的(因为无法提供客观的答案)。然而,我个人的建议是,“我不是在创造软件。所以这本书对我来说是错误的吗?”-嗯。无论何时,只要你写R代码,你(在某种意义上)就是在写软件。这不是真正的问题。问题在于您是否希望或需要您编写的R代码在将来某个时候是有用的/可读的/可查看的,或者是由您以外的其他人编写的。答案是,如果你在做真正的科学,那么你应该想要,因为同行评议和再现性是科学过程的基本部分。因此,编写好软件的教科书原则上与任何从事任何形式计算科学的人都相关。这并不是说“干净的代码”特别相关。(只是这在原则上并非无关紧要。)面向“软件工程”的教科书和方法论所谈论的许多事情与小规模软件项目并不十分相关。例如,敏捷适用于代码库为数千到几十万行的项目,涉及多个开发人员。但是这些东西对于小项目来说也不是完全不相关的。你的表中没有“函数”这个词。好的干净R代码的两个最重要的概念是函数编程和矢量化。遵循上面的样式指南。如果您有大型项目,请创建一个包含文档的包,并且一定要使用git.Read,这样您将更好地了解干净代码/OOP与R概念的关系。它是否相关是一个意见问题。(相关性取决于您在R中开发的项目类型…)这个问题几乎肯定会结束,因为征求建议被认为是离题的(因为无法提供客观的答案)。然而,我个人的建议是,“我不是在创造软件。所以这本书对我来说是错误的吗?”-嗯。无论何时,只要你写R代码,你(在某种意义上)就是在写软件。这不是真正的问题。问题在于您是否希望或需要您编写的R代码在将来某个时候是有用的/可读的/可查看的,或者是由您以外的其他人编写的。答案是,如果你在做真正的科学,那么你应该想要,因为同行评议和再现性是科学过程的基本部分。因此,编写好软件的教科书原则上与任何从事任何形式计算科学的人都相关。这并不是说“干净的代码”特别相关。(只不过这不是废话