Je suis un programmeur expérimenté, mais toujours un peu vert chez python. Je viens d'être coincé par une erreur d'indentation, ce qui m'a coûté beaucoup de temps de débogage. Je me demandais ce que les programmeurs python expérimentés font pour éviter de créer de tels problèmes en premier lieu.Quelles astuces utilisez-vous pour éviter d'être perturbé par la syntaxe des espaces python?
Voici le code (partie d'un programme beaucoup plus vaste):
class Wizvar():
def select(self):
self.selected = True
def unselect(self):
self.selected = False
value = None
Le problème est que la « valeur = Aucun » doit être outdented un niveau. Comme c'est le cas, la variable est clobée chaque fois que la méthode unselect est appelée, plutôt qu'une seule fois. J'ai regardé cela plusieurs fois sans voir ce qui n'allait pas.
Ceci est un bon conseil. En fait, c'est ce que je fais normalement dans d'autres langues. Je n'ai aucune idée pourquoi je ne l'ai pas fait dans ce cas. Mais ce que je veux savoir, ce sont des techniques qui seraient spécifiques à python. –
@Neil: Malheureusement, je ne peux pas penser à des techniques spécifiques à Python qui pourraient être utiles ici, seulement des techniques générales. Les tests unitaires ont été mentionnés. J'utilise libéralement des instructions d'impression lors du débogage, et j'ai tendance à écrire du code en petits bits avec des tests (unitaires) entre les deux. Maintenant que vous avez été mordu par cela, je soupçonne que votre conscience de ce problème potentiel sera grandement accrue, et peut-être que cela en soi permettra d'éviter de futures erreurs. – unutbu