allant au-delà de la largeur de la page
bien Tout d'abord, vous devriez probablement décider de la largeur d'une page et s'y tenir. Utilisez l'enrubannage automatique de votre éditeur, si vous le souhaitez. La lecture d'un code supérieur à la taille de votre fenêtre est vraiment difficile, surtout pour vos collègues utilisant des terminaux vi ou emacs. Choisissez une largeur de page et respectez-la, ce qui revient à envelopper ces listes d'initialisation sur plusieurs lignes (peut-être plusieurs).
Essayez-vous de répartir ces classes?
20 est beaucoup de paramètres, il mérite probablement d'être brisé. Les «classes de Dieu» sont généralement une odeur de code et indiquent qu'un refactoring est nécessaire.
Cela ne signifie pas automatiquement que vous devriez casser les choses, il y a toujours des exceptions aux directives. Mais, définitivement, considérez cela comme une option. Lorsque vous les déclarez dans le fichier d'en-tête, les groupez-vous (ou pourriez-vous les grouper) avec des commentaires? Par exemple: // These next few parameters are for file IO
et // These next parameters are for the widget
, qui vous fournira un bon modèle pour les objets qui cherchent à être abstraits.
En général, les classes très volumineuses indiquent beaucoup d'état compliqué, et un état compliqué a tendance à causer des bogues. Vous devriez, comme avec les fonctions, préférez les garder petites et concentrées.
{Votre code exemple}
Je pense est tout à fait lisible et « bien rangé », bien qu'il sera probablement assez longue liste. Comme je l'ai mentionné, pour lutter contre cela, je envisagerais de le diviser en classes plus petites.
je mets la virgule avant chaque membre, afin que je puisse insérer ou supprimer des membres sans toucher les lignes adjacentes du code source. – ChrisW
Donc, même en considérant les classes qui sont principalement pour le stockage de données (telles que les classes contenant des statistiques différentes) avec beaucoup de membres, vous essayez toujours de les décomposer en des bits plus gérables? –