in reply to How Are Attributes Useful?
One thing that seems to be missing from the picture is why would the 'non-behavior-changing' aspect of attributes detract from their utility? (assuming this aspect is not in dispute).
It seems pretty straightforward to envision a circumstance where someone might want to redefine metadata about a subroutine or method, without necessarily changing its name.
If you will, please consider a simple illustration:
If you are familiar with Windows, you notice how a filename allows essentially a 'basename' plus an 'extension' ... there have been numerous times when I wished I could sort or view files based on something besides just that. In other words, don't treat all these files exactly the same just because they all have the same extension 'txt' ... I want to segment them even further.
The problem is the only workaround is to rename the files ... or append additional info to the filenames.
### before vacation_2003.txt vacation_2004.txt ### after vacation_2003.txt vacation_2004_hotels.ca.northern.txt vacation_2004_hotels.ca.southern.txt
This is unacceptable if you have external dependencies that specifically rely on the previous filenames.
The punchline is that naming files (and by analogy subroutines) is in large part an arbitrary choice, and entirely up to you. The only real constraint is that they be unique within the relevant scope. Therefore, talking about specific names people have used for their files in the past is never really going to illustrate the issue of *whether* a particular naming convention is useful for *you*.
Thus, the (at least one) point of attributes is the ability to obviate the need for name changes as the exclusive method of distinguishing certain methods and properties into arbitrary subgroups (without breaking your code).
No, this is not much more than adding little 'sticky notes' but still, that does not diminish their potential usefulness does it? This answers "how" they can be useful, but not "whether" they are useful in your specific project or circumstance, or according to your specific coding style.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: How Are Attributes Useful?
by Limbic~Region (Chancellor) on Jan 19, 2005 at 00:49 UTC | |
by dimar (Curate) on Jan 19, 2005 at 07:08 UTC | |
by talexb (Chancellor) on Jan 19, 2005 at 15:19 UTC | |
by Limbic~Region (Chancellor) on Jan 19, 2005 at 15:40 UTC | |
by Anonymous Monk on Oct 03, 2009 at 09:24 UTC | |
by Limbic~Region (Chancellor) on Oct 05, 2009 at 18:17 UTC |