Therefore if you find that you're having trouble using all of the features that you want to use, that is a sign of real trouble lurking ahead. If you're having trouble just figuring out how to make the code work, then you're going to have little left over to spend on considering how to make your intentions obvious to the maintainance programmer, or considering whether the feature makes sense in this place.
As I pointed out in The path to mastery, I consider it more important to learn how to use features well than it is to pack as many features as possible into code.
That said, advanced features have a definite place. But they come with a cost. Part of the cost you've already mentioned, you require more skill from your maintainance programmer. You can get better productivity for that effort though.
Personally I think that it is valuable to clearly define what skills you think a maintainance programmer should have. Then stick within that skillset, and also actively verify that others in your environment have those skills, and agree with you that those skills are not too much (or too little!) to ask for. I've done this in the past with some success. It is not that some features were "too advanced" to use. It was that I decided what mix of advanced features I'd make sure that people could support, and then I'd stick within that set.
In reply to Re: "advanced" Perl functions and maintainability
by tilly
in thread "advanced" Perl functions and maintainability
by geektron
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |