| 
	
 | 
 Posted by ^reaper^ on 07/08/05 14:05 
While sipping absinthe, Onideus Mad Hatter heard a loud sucking noise 
coming from alt.2600,alt.html,alt.php, and hastily inscribed the following 
unintelligible Sanskrit in 
<news:131dc1d2jl0hqpbj320r2isfc4s2og7ls0@4ax.com>: 
 
> I do find your aversion to variables amusing, I'd like to see Reaper 
> jump in and repost some of the edits she did of my code, that'd 
> probably send you frothing at the mouth in frustration.    ^_^ 
 
Hehe. Since I pulled teh edits otter... erm... teh air, and your buddy 
appears to have anal retentive tendencies with regard to using precise 
terminology on teh juicenet? Yep, it prolly would cause him to foam at teh 
mouth at teh very least. ^_~ 
 
Nonetheless, he does have a valid point wrt your use of globals and teh 
eval statement. For example, globals are nasty ladle creatures that can 
bite you in teh ass if you're not careful. Or put another way, best 
practices uses local variables and passes in those values which need to be 
shared by multiple functions. Even so, there are times when globals make 
sense. It all depends upon what you're attempting to do. 
 
As for his gripe wrt your use of the eval statement, the eval is generally 
used for computing dynamic strings containing js code and completely 
unnecessary for known entities. For example, there's really no reason to do 
this: 
 
   drags[o].y = eval(tempY-placeY+drags[o].y); 
 
when you could just as easily do this: 
 
   drags[o].y = tempY-placeY+drags[o].y; 
 
and achieve teh same result. By using the eval statement, you add a layer 
of processing. In this case, an unnecessary layer. In addition, it 
increases the face value of teh code for later debug (e.g., years later, 
scratching head, asking, wtf did I do that?). Where eval can come in handy 
however are instances involving say, building dynamic complex equations on 
teh fly. Or, for example, say you want to reference a document object that 
contains a variable component, you can do something like this: 
 
   eval('document.all.'+name+'.style'); 
 
though, this: 
 
   document.getElementById( name ).style; 
 
would accomplish the same thing. 
 
That aside, mr. a.r. appears to be stuck in "never do blah" land. When 
designing and implementing code, the question should not be, "what does teh 
book say?" rather "what are teh tradeoffs?" And there are always tradeoffs. 
And these tradeoffs are dependent upon a number of things, including, but 
not limited to target audience, app requirements, chosen technology, etc. 
Understanding these, as well as the underlying execution (how code is 
distilled into machine lang) is what differentiates poor to mediocre 
programmers from sw engineers and architects. 
 
--  
"Beware of the man who works hard to learn something, learns it, and finds 
himself no wiser than before," Bokonon tells us."He is full of murderous 
resentment of people who are ignorant without having come by their 
ignorance the hard way." -- Kurt Vonnegut, Cat's Cradle
 
  
Navigation:
[Reply to this message] 
 |