Bonjour à tous

Initié à Python depuis cet été, j'arrive maintenant dans des applications un peu complexes avec beaucoup d'objets imbriqués dans une hiérarchie forte.
Et donc quand je code les objets, l'imbrication des uns dans les autres et les tabulations associées font que je me retrouve à programmer trop à droite.

Exemple simple: un rectangle qui comporte 4 coins
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python
# coding: Latin-1 -*-
 
class cRectangle:
	"Rectangle"
	def __init__(self, l, L):
		self.l=l
		self.L=L
		self.coin=[]
		self.coin.append(self.cPoint(0, 0))
		self.coin.append(self.cPoint(0, L))
		self.coin.append(self.cPoint(l, L))
		self.coin.append(self.cPoint(l, 0))
 
	def aff(self):
		txt=""
		txt+="Rectangle %d/%d\n" % (self.l, self.L)
		for i,coin in enumerate(self.coin):
			txt+="coin[%d]=%s\n" % (i + 1, coin.aff())
		return txt
 
	class cPoint:
		"Point mathématique"
 
		def __init__(self, x=0, y=0):
			self.x=x;
			self.y=y;
 
		def aff(self):
			txt="x=%d, y=%d\n" % (self.x, self.y)
			return txt
 
a=cRectangle(20, 10)
print a.aff()
Donc je définis mon objet cRectangle (avec les méthodes qui vont bien et leur tabulations obligatoires). Puis mon rectangle utilisant des points, j'ai alors un sous-objet "cPoint" mais j'ai un niveau de tabulations en plus. Si mon point utilisait un sous-objet, j'aurais alors un 3° niveau de tabulations etc etc. Si j'arrive à 5 niveaux de profondeur, mon code est totalement à droite et je n'ai plus de place.

Je tiens cette habitude d'objets imbriqués du C++ mais là, je n'ai pas de problème car en C++ on peut déclarer ses objets avant de les coder et dans la syntaxe du codage, il suffit d'indiquer la hiérarchie mais le code reste à gauche de l'écran.

Si quelqu'un a déjà connu ce problème et a trouvé une solution pour le régler (solution plus élaborer que répondre "t'as qu'à réduire l'espace affiché par ta tabulation"...