|Think about Loose Coupling|
Re^4: use fields; # damnitby nothingmuch (Priest)
|on Aug 21, 2004 at 09:08 UTC||Need Help??|
Field checking doesn't have much to do with accessors, or ISA checks. Reading the rest of your thread, I'd like to summarize.
That's the code you're responsible for. Lets say the accessor for 'intelligence' had a typo, and accessed the field 'inteligence'. Without using fields and typed variable declarations, you would not get any erros.
This won't compile, and is broken:
And normally people would write
and the code would compile correctly, but is just as broken.
useing fields is meant to help you write your classes a bit cleaner, and is a bit like trying to catch typos in variable names. Just using $foo wouldn't work normally if there's no such variable, yet perl will only complain with use strict. Using a variable to store the intelligence value, $intelligence, and typoing it the next time around to $inteligence is the best analogy I can find for getting your field names wrong, and that's where use fields; helps.
zz zZ Z Z #!perl