>>why do I need code that handles Linux file paths and
>>Apache CGI variables, when I'm running on IIS5 on Windows 2000???

That's a great question.  Why do you HAVE code that handles blah blah blah?

The raw index.cfm:
<!--- include the core FuseBox  --->
<cflock type="READONLY" name="#server.coldfusion.productVersion#"
timeout="10">
        <cfset
variables.fuseboxVersion=Replace(Replace(ListDeleteAt(server.coldfusion.prod
uctVersion,4),",","","all")," ","","all")>
        <cfset variables.fuseboxOSName=server.os.name>
</cflock>

<cfif variables.fuseboxVersion lte 450>
        <cfinclude template="fbx_fusebox30_CF40.cfm">
<cfelseif variables.fuseboxVersion lt 500>
        <cfif variables.fuseboxOSName contains "Windows">
                <cfinclude template="fbx_fusebox30_CF45.cfm">
        <cfelse>
                <cfinclude template="fbx_fusebox30_CF45_nix.cfm">
        </cfif>
<cfelseif variables.fuseboxVersion lt 600>
        <cfif variables.fuseboxOSName contains "Windows">
                <cfinclude template="fbx_fusebox30_CF50.cfm">
        <cfelse>
                <cfinclude template="fbx_fusebox30_CF50_nix.cfm">
        </cfif>
</cfif>

My index.cfm:

<cfinclude template="fbx_fusebox30_CF50.cfm">


But that's because I'm running cf5 and iis.

Of course, if I was writing something to be distributed to other people with
different installations, geez, that raw index.cfm file would be great.

Matthew P. Smith 
Web Developer, Object Oriented 
Naval Education & Training Professional 
Development & Technology Center 
(NETPDTC) 
(850)452-1001 ext. 1245 
[EMAIL PROTECTED] 


-----Original Message-----
From: Stephen Moretti [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, July 16, 2002 9:37 AM
To: CF-Community
Subject: Re: Throwing the baby back

Mike,

> Don't let Hal Helms hear you say that.
> 
> The Fusebox specification is a set of core files which are distributed
with
> a demo to help you learn how to work. 
>
I hate to be a pedant, but I have to agree with Jeffry on this :
spec*i*fi*ca*tion (sps-f-kshn)
n. 
  1.. The act of specifying. 
  2.. 
    1.. specifications A detailed, exact statement of particulars,
especially a statement prescribing materials, dimensions, and quality of
work for something to be built, installed, or manufactured. 
    2.. A single item or article that has been specified. 
  3.. An exact written description of an invention by an applicant for a
patent. 
Therefore a bunch of files and a couple of demos, do not a specification
make....  And before anyone mentions them, a couple of books interpreting a
deluge of emails with no written word to base them on are not specifications
either.

This is one of my pet peeves with FB3.  There is no written word on how it
should be used or should work.  At least with FB2 there were the couple of
white papers and Steve Nelson's book was a pretty good go at specifying the
Fusebox methodology.

Another pet peeve with FB3 is it is virtually unreadable!  One of the
original tenets of Fusebox was that the code that was generated by a
developer using FB code be given to another developer with no knowledge of
Fusebox and they would be able to easily see what is happening in the code,
what is being called where etc. etc. It was supposed to be and was self
documenting to some extent.    FB3 is a biggest pile of unreadable spaghetti
you could possibly have the misfortune to come across.

For instance....  I've been coding with FB for about 4 years now, probably a
bit longer.  I've had various conversations with Steve Nelson, Craig Girard
et al, back when the FB list was on Michael's mail server and it wasn't so
insane.  So you'd think I have a pretty good grasp of the Fusebox
method.....  Well it would seem not...  I went to a client to talk about
server performance tuning and an element of code performance tuning.  They
asked me if I would have a look at a real example and give them my thoughts.
They told me it was a FB application, so I said, yeah sure no problem.  
I opened up the code.........  I tried to work out what the files were being
included to display the home page....  I treked back and forth through the
various core files, step by step, line by line, with the client looking over
my shoulder.  

We never managed to find what was actually displaying the home page in the
hour that we had allocated to look at the code.  Admittedly, we were looking
at other aspects of the code as well, but we still should have been able to
get to the templates for the home page within a few moments......

Arrgghhh!  Now I'm on a rant too!   

Another thing that annoys me about FB3 is that people think that it makes
good code automatically.  It doesn't!  Even making use of some of the
undocumented techniques does not make good code.  FB3 is only good in the
right situation and if you use all parts of the method, right from analysis
right through to coding.  It is no longer a coding standard, but an analysis
and design methodology.  So many many people fail to see this and try to
just use their own interpretation undocumented coding standards to write
their applications and make a lovely paste dish!  

At least FB2 was documented, was only a suggestion for a coding standard and
was readable. It had the advantage of having tools to help you with
additional documentation (the original fusedocs) and for developing the
application (DevNotes and wireframes)


> Maybe the Fusebox council needs to do a little more to promote awareness
of
> their product.
> 
/expletive deleted/ What they need to do is write the document that explains
Fusebox from start to finish, make it freely available and create multiple
core files for each possible installation of CF (why do I need code that
handles Linux file paths and Apache CGI variables, when I'm running on IIS5
on Windows 2000???)  I believe someone out there started writing their own
coding practice white paper called KISS (Keep It Simple Specificiation or
something like that).  This is something that has been forgotten with FB3
and maybe thats what the Fusebox Council need to be doing.....  Getting back
to basics and keeping it simple!

~takes deep breath and quits ranting~

Going back to what Michael started on...

> Yes, I'm ranting a bit. I'm helping out a friend with a project and
modifying 
> a commercial product (one he paid money for). Now you'd expect that a
commercial 
> product would have good code, right? You'd expect that a product that
supposedly 
> followed a methodology would have good code, right? That the code would be
written 
> intelligently, that it would not repeat itself or fall over itself, right?
Well, this code is poorly 
> written, does not use any best practices (I see CFSETs with pound signs
around everything), 
> uses one of the Fusebox methodologies (one of as the methodology has
splintered) and is just 
> not good code. And I have to make it good code. 
>
Heh heh... Yeah right... Commercial code that is good code.... 
~snigger~ isn't that why commercial code is always encrypted??

> I'm going to start CF classes. If you write bad code, you get hit with a
shock prod. If 
> you release bad code, you get abused by a large bull (let your imagination
run free here). 
> It'll be learn it right and tight or wish you were in a Turkish jail being
interrogated by Abdul.
>
I've got a pressure washer here that you could use for water torture, if you
like.... :o)

I'll shut up now and get on with some work..... ;o)

Stephen


______________________________________________________________________
Get the mailserver that powers this list at http://www.coolfusion.com

Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to