←
PDF 284 / 520 municating. Over time, you want your code to become not just easier to write, but easier for oth
→
English · PDF 284
Original PDF page 284
中文 · PDF 284

交流。随着时间推移,你希望你的代码不仅更容易编写,而且更容易让他人阅读。

编写代码在很多方面与写作散文相似。我发现一个特别有用的类比是:在这两种情况下,重写都是实现清晰的关键。你最初表达想法的方式不太可能特别清晰,你可能需要多次重写。在解决一个数据分析挑战之后,通常值得回顾你的代码,思考你所做的事情是否一目了然。如果你趁想法还新鲜时花一点时间重写代码,就可以在以后节省大量试图重新弄清代码功能的时间。但这并不意味着你应该重写每一个函数:你需要权衡当前需要实现的目标与长期节省的时间。(不过,你重写函数的次数越多,你的第一次尝试就越有可能清晰明了。)

在接下来的四章中,你将学习一些技能,使你能够以更清晰、更轻松的方式应对新程序并解决现有问题:

  • • 在 第 14 章中,你将深入了解 管道, %>%,并进一步了解它的工作原理、有哪些替代方案,以及何时不应使用它。
  • • 复制粘贴是一个强大的工具,但你应该避免使用超过两次。在代码中重复自己是危险的,因为它很容易导致错误和不一致。相反,在 第 15 章中,你将学习如何编写 函数,它让你能够提取重复的代码,以便轻松复用。
  • • 当你开始编写更强大的函数时,你需要扎实掌握 R 的 数据结构,这由 第 16 章。你必须掌握四种常见的原子向量和构建在其上的三种重要的 S3 类,并理解列表(list)和数据框(data frame)的奥秘。
  • • 函数可以提取出重复的代码,但你经常需要对不同的输入重复相同的操作。你需要一些用于迭代的工具,让你能够一次又一次地做类似的事情。这些工具包括 for 循环和函数式编程,你将在 第 17 章.