Ce code fonctionne actuellement, mais il a l'air terrible - et peut probablement être beaucoup amélioré en termes de performance.Qu'advient-il de cette folle séquence de boucles et de si? Des idées pour améliorer ce code?
Avez-vous des suggestions?
def OnClick():
global Selection, touch, set_elsb, set_vreg, set_els, BAR_Items
A = viz.pick(0, viz.WORLD, all=False)
if touch != A: return
for i in BAR_Items:
if not set_els: break
elif BAR_Items[i] == A or SHAPES[i+"_SHP"] == A:
if i in Selection:
Selection.remove(i)
BAR_Items[i].clearActions()
VFrame.SetStatusText(frame, i + " has been deselected")
viz.director(do_chart)
else:
Selection.append(i)
Merci beaucoup!
Quel est l'objectif du code? – GWW
Tout ce que je peux voir est un 'for' avec un' if' et un 'if' imbriqué. Rien d'extravagant, sage sage, croyez-moi j'ai vu le pire. – Ben
Est-ce qu'une des fonctions appelées dans la boucle peut affecter 'set_els'? Il est difficile de modifier du code qui utilise autant de globales sans savoir ce que sont les globales et comment les différents éléments les affectent. C'est en quelque sorte l'un des problèmes majeurs avec les globals. – aaronasterling