On Thu, 15 Dec 2005, Hans-Christoph Steiner wrote:
I have to say that I like the A_FLOAT, etc names better (you can probably guess why). Code should document itself.
A_FLOAT doesn't really tell you that it's an atom. "A" is an ambiguous abbreviation of "ATOM". ATOM_FLOAT is better, but it's misleading because it isn't a t_atom, it's a t_atomtype, so it should be called ATOMTYPE_FLOAT instead. But then it doesn't tell you it's from Pd. PD_ATOMTYPE_FLOAT could be confused with something else called Pd, possibly another program's name or something else called "PD" inside of another program. PURE_DATA_ATOMTYPE_FLOAT doesn't explain to you what a FLOAT is, and anyway, FLOAT is jargon of the nerds; so PURE_DATA_ATOMTYPE_32_BIT_FLOATING_POINT_NUMBER is already better, but then not everybody knows what a floating-point-number is, so it should be PURE_DATA_ATOMTYPE_32_BIT_RELATIVE_PRECISION_NUMBER.
class_addmethod(myclass, (t_method)myclass_mymethod, gensym("mymethod"), A_POINTER, A_FLOAT, A_FLOAT, A_SYMBOL, A_DEFFLOAT, A_DEFFLOAT, A_DEFSYMBOL, A_NULL);
It's far better to write this as:
object_class_add_method_declaration( my_pointer_to_object_class, (t_method_pointer)my_object_class_mymethod, generate_singleton_character_string_pointer("mymethod"), PURE_DATA_ATOMTYPE_32_BIT_RELATIVE_PRECISION_NUMBER, PURE_DATA_ATOMTYPE_32_BIT_RELATIVE_PRECISION_NUMBER, PURE_DATA_ATOMTYPE_SINGLETON_CHARACTER_STRING_POINTER, PURE_DATA_ATOMTYPE_32_BIT_RELATIVE_PRECISION_NUMBER_DEFAULTING_TO_ZERO, PURE_DATA_ATOMTYPE_32_BIT_RELATIVE_PRECISION_NUMBER_DEFAULTING_TO_ZERO, PURE_DATA_ATOMTYPE_SINGLETON_CHARACTER_STRING_POINTER_DEFAULTING_TO_EMPTY_STRING, PURE_DATA_ATOMTYPE_TERMINATOR_TO_ENSURE_THAT_WE_DO_NOT_BLUESCREEN_INTO_OBLIVION);
which is obviously a lot clearer, we all should agree.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada