我一直将<p>Click on a list item.</p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul data-bind='foreach:list'>
<li class='item' data-bind='click: $root.selectItem' >
<span data-bind='text:name'></span>
</li>
</ul>
语句嵌套为一种分组/组织代码的方式,但在做了一些阅读之后我觉得我在滥用它......
做这样的事情是否犹豫不决?
def
答案 0 :(得分:2)
本身没有任何问题。但是当你使用这样的结构时你应该考虑一件事:random_name
和random_value
是在你调用generate_random_info()
时不断重新定义的函数。现在这对于那些特定功能可能不是问题,特别是当你不经常调用它时,你应该考虑这是可以避免的开销。
所以你应该把这些函数定义移到generate_random_info
函数之外。或者,由于那些内部函数本身并没有做太多,而你只是直接调用它们,只需内联它们:
def generate_random_info():
return {
'name': numpy.random.choice(['foo', 'bar']),
'value': numpy.random.rand()
}
答案 1 :(得分:0)
除非您计划在单个函数和重复函数中重复使用相同的代码块,否则我将避免仅仅为了这样做而创建这些函数。我不是关于代码如何在计算级别上工作的专家,但我认为创建一个函数比仅仅使用该行更加密集,特别是如果你只是去了使用该功能一次。