跳转到内容

Rebol 编程/设计指南/简约至上

来自维基教科书,开放书籍,开放世界

没错,要简洁,但不要简单。

大多数初学者脚本过于复杂。

编写简洁优雅的代码更难。

  • 努力保持代码简洁。
  • 将每个脚本视为未完成的,直到您删除所有不必要的代码和数据。

小型、简洁的脚本更易于阅读和维护。

“设计师知道他达到完美并非是当他不再能添加任何东西时,而是当他不再能去除任何东西时。” - 安托万·德·圣-埃克苏佩里

例如,要返回一个月中的天数,您可以编写类似以下内容

data-block: [
   "January" 31 "February" 28 "March" 31 
   "April" 30 "May" 31 "June" 30 
   "July" 31 "August" 31 "September" 30 
   "October" 31 "November" 30 "December" 31
]
month: {June}
print first skip find data-block month 1

它可以工作...... 但对于它提供的功能来说有点长了。

  • 您不需要将月份作为字符串保存
  • 数据块不是一个非常描述性的名称。也许days-in-month会更好
  • Rebol 的路径符号使您能够直接导航到答案,因此您不需要使用find并担心在找到所需值后您在序列中的位置
  • 您不需要定义像 'month' 这样的变量来存储可以直接访问的值


这应该更容易理解和维护

days-in-month: [
  January 31 February 28 March 31 
  April 30 May 31 June 30 
  July 31 August 31 September 30 
  October 31 November 30 December 31
]
print days-in-month/June 

或者我们不需要为月份块定义一个变量


 print select [
  January 31 February 28 March 31 
  April 30 May 31 June 30 
  July 31 August 31 September 30 
  October 31 November 30 December 31
 ] 'June

现在您可能会决定将其制作成一个函数,以便可以重复使用它,或者您可能有一种强烈的预感,因为您需要这个函数,所以其他人已经写过它了。

如果您决定将其制作成一个函数,您现在就可以添加闰年判断。

华夏公益教科书