如何将干净代码应用于R,以及R的某些替代选择?

问题描述

我以一种非常糟糕的方式自学了R,并且我正在努力提高。我已经阅读了Robert C. Martin(2009)撰写的 Clean Code:Agile Software Craftsmanship手册,其中提供了编码的最佳实践,并且对我有所帮助。但是,我理解它的能力很有限,因为除了R之外我没有编程经验,因此无法理解行话(或许多示例,都是用Java编写的)。我的问题是:

  1. 在所附的图片中,我列出了我不理解的清洁代码中的术语,并猜测了 R术语中的等效术语-您能更正吗?如果我错了,我该怎么办?(我确实买了这本书,但出于这个问题的目的,在此处找到清洁代码的pdf文件Clean Code pdf

如果我发现其他提供了基础最佳实践的书,例如 Clean Code ,这些书是专门为R编写的/或与R一起编写的,那确实有帮助。我使用R进行数据科学,并且在不创建总大鼠巢的情况下,我从不会深入到项目中。特别是,我在编写简洁的代码,知道何时应该启动新脚本以及如何使单独的脚本连贯地协同工作方面遇到困难。

我还阅读了Wilson等人的《科学计算的良好实践》。 (2017),很棒。我确实使用R项目。谢谢您的时间!

Clean Code terminology and my attempt at applying it to R

解决方法

R是一种多范式语言,因此直接采用类似于OOL的代码样式来提高R技能并不是最佳方法。 16 of the usual GoF design patterns are irrelevant or trivial in FP(在R中也是如此)-用OO思维方式来限制自己会适得其反。

我确实建议阅读“ Clean Code”(OO代码的外观与FP程序员认为“ clean”没有太大区别),但是要真正优化R代码,您需要补充FP。在这种情况下,有很多书籍可供您阅读:迈克尔逊(Michaelson)的“通过Lambda微积分进行函数式编程入门”(如果您对FP完全陌生),尼尔·福特(Neal Ford)的“函数思维”,约书亚·巴克菲尔德(Joshua Backfield)的“成为函数”

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...