use*_*750 3 coding-style function-declaration coffeescript
在清洁代码(第3章,每个功能的一个抽象级别)中有一些关于Stepdown Rule(顶级和低级别的高级功能)的内容.
我使用coffeescript时应该怎么做,因为coffeescript中没有函数声明.
例:
seeAMovie = ()->
BuyTheTicket()
watch()
BuyTheTicket = ()->
//some thing
watch = () ->
//some thing
Run Code Online (Sandbox Code Playgroud)
我想这样做.
CoffeeScript并不会真正影响此规则.该规则并没有什么关系的声明,但即使那样,CoffeeScript的不具有声明反正.正如@muistooshort所说,这是一个CoffeeScript函数声明:
functionName = (arg1, arg2) ->
functionBodyLine1
functionBodyLine2
Run Code Online (Sandbox Code Playgroud)
如果没有参数,那么这些括号在声明中是可选的.以下是CoffeeScript中的Step-Down规则的示例:
highLevel = ->
doSomethingAlmostAsHighLevel1()
doSomethingAlmostAsHighLevel2()
doSomethingAlmostAsHighLevel1 = ->
doSomethingALittleLowerLevel1()
...
Run Code Online (Sandbox Code Playgroud)
关于你的编辑的注意事项:这很好,并遵循降压规则.你的样品有什么问题?
书中没有提到,但是Bob叔叔向我澄清说,当两个函数 - 在同一抽象层次 - 使用相同的低级函数时,它们应该按如下顺序排列:
highLevel1 = -> lowLevel()
highLevel2 = -> lowLevel()
lowLevel = -> ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3262 次 |
| 最近记录: |