Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Bug: Subclassing with long LPARAM clause - fatal excepti
Message
 
 
À
15/08/2002 03:42:02
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00689496
Message ID:
00689951
Vues:
19
Zlatin,

>Properties are good as long as you do not change their value very frequently.

I don't really understand why you are saying this. Property values might take a microsecond longer to change than a simple memvar, but it's insignificant in most cases.

>If all should be done with properties, no standard events or methods of base classes would have parameters.

I didn't say use NO parameters I'd say though that using more than 4 parameters in a method call is overly complex and makes the method harder to use. This is especially true When some of the parameters are used to cause conditional execution of code in the method. The Wiki article talks about those sort of parameters should be object properties.

I'd guess that you'd see some sort of distribution of number of parameters in the VFP baseclasses and functions:
#parms      %
0           24
1           30
2           20
3           10
4           10
5           5
>5          1
perhaps a query of the intellisense table is in order to get a more accurate distribution, but I don't have the time right now.

I only have two functions at all that take that many arguments and they are both instances of utilities that the arguments all have the same meaning. 1) InsertVal(...) inserts a set of values into a single column cursor ie to make long lists of values to use in place of an IN clause. 2) DebStr(...) which converts all of the parameters to a string suitable to use with DEBUGOUT.

16 parameters to a method/function is too obtuse to use in production code IMHO. It might also be an indication that the method should be broken down into several more cohesive methods.
df (was a 10 time MVP)

df FoxPro website
FoxPro Wiki site online, editable knowledgebase
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform