我试图编写我自己的DSL文件操作,只是为了学习。适当的DSL语法
我的目标是让它易于理解和易于编码。
这里是追加字符串到database.yml的3个备选方案:
1. append("windows").to("database.yml")
2. append(string: "windows").to(file: "database.yml")
3. append_string("windows").to_file("database.yml")
4. append_string "windows", to_file: "database.yml"
5. append string: "windows", to_file: "database.yml"
我是有点在所有这些替代丢失。
能否有一位具有DSL经验的人给我一些指导并解释每个人的优缺点?
每个人都阅读相同,但我想知道哪一个遵循DRY和良好编码标准的最佳实践。
编辑:我认为这将是很好,如果我可以指定一些可选参数,例如。
append(string: "windows").to(file: "database.yml", :force => true)
所以考虑到这一点,我想我必须使用方法调用。因为如果我使用替代方案4-5,那么当我指定:force => true时,我无法知道它是否适用于字符串或文件。
@musicfreak。他们所有人的阅读都一样。我想下一个问题是哪一个遵循DRY的“最佳实践”。 – 2010-08-19 06:13:36
也许你应该指定域:谁是目标用户,你想要什么样的文件操作,你的'DSL'的范围是什么? – David 2010-08-19 09:29:14