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
现在您可能会决定将其制作成一个函数,以便可以重复使用它,或者您可能有一种强烈的预感,因为您需要这个函数,所以其他人已经写过它了。
如果您决定将其制作成一个函数,您现在就可以添加闰年判断。