in reply to Perl Test

I really don't have any useful ideas on how to gauge this for you other than what has already been mentioned. But it is, to me, an interesting question because here at my job, I am in that exact situation Here is what I can tell you about my own programming. I start out doing every single program in a way that I understand.

From there, I go back and look at what areas I think can be improved on and why. Most of the time, there is probably a "better" way to do it. I look around on here and the internet in general and see what I can find that may or may not help me create better code.

Sometimes, a search reveals a solution that is better than my own and that I understand, so I use it. For me, understanding why I am doing something and how it works is far more important than having code that is "the best solution". If I don't understand how the code works, I generally bookmark it for later and move on with my own code. Other times, I find no other solution that will do what I need even though one may exist, and probably does. Sometimes, I post here about a problem and get an answer that I understand, so I use it.

I try to break down what I am doing into small easy to understand chunks that can be modified without breaking too much, and that seems to be key for me. Taking it in little bites when I can, and getting it all working.

My current project is an internal perl module to interface with our Cable Modem system. My previous solution worked fine, but ended up being a few thousand lines of code too many and with a lot of convoluted routines that I have since looked at and went "!@@!@!!!!! WTF did I do that for!@@$@#!!!!". So now I am rebuilding that entire thing as a module which will be reusable in many different applications that I am building that all interface with the Cable Modem System.

Fortunately I don't have any strict timeline, so I am able to spend a lot of time working through problems. My most recent was a Hash of Arrays.

So as for your question, if there is nobody that has a higher level of knowledge than the developers, you are kinda in a tough spot. If you care about the apps working more than best practices, I would say let them continue on their way, learning as they go. They will eventually look back and go "Why did I do that?" and then fix it up :)

Just my $.02. I haven't been developing in perl for very long either at least not in a meaningful way as far as I am concerned. So take it for what you will.