ColdFusion MX Coding Guidelines - Revision History

Release 3.2 (4/14/2005)

« Appendix: Performance Techniques | Contents

Printable Version

Revision History

Date Author Comment

2/28/2005
-
4/14/2005

Sean A Corfield

Release 3.2: Updated to CFMX 7 and removed references to CFMX 6.0: Contents: changed WTG to Web Team; Style: corrected typo in Type Names section (Jonathan Snyder); expanded the intent of displayName and hint comment in components; Structure: corrected typo in Exception Strategy section (Jonathan Snyder); added suggestion for Fusebox core file setup; add Application.cfc recommendations and clarified some Application.cfm practices; Good Practice: clarified Booleans examples; clarified use of attributes in cfargument tag and added examples; corrected typo in Custom Tags section (Jonathan Snyder); rewrote Debugging section to clarify debug= attribute (Sean Corfield) and add some caveats about the built-in debugging (Jonathan Snyder); added recommendations about cookies (S Page); Database: no change; Globalization: fixed wording on internal internationalization link (Jonathan Snyder); Performance: minor typos and clarifications.

4/2/2004
-
12/25/2004

Sean A Corfield

Release 3.1: Added single-page, printable version (Brian Sisk); Contents: rationale for release 3.1; Style: preferred CamelCase CFC naming, corrected "noun-verb" to "verb-noun", replaced references to jEdit with Eclipse, removed reference to CVS modification history; Structure: added UDFs as modularization option (Rob Brooks-Bilson), added Fusebox as an alternative to Mach II for MVC applications; Good Practice: implicit conversion to boolean should be avoided (Matthew Ross), custom tag result variable attribute should match existing similar CFML attributes; Database: no change; Globalization: no change; Performance: fix typo in example (Philly Cooper); made examples match Good Practice guidelines.

2/16/2004

Sean A Corfield

Release 3.0.2: Changed all references to accessibility guidelines to use the official Macromedia Section 508 Guidelines.

10/12/2003
-
10/17/2003

Sean A Corfield

Release 3.0.2: Incorporated additional public comments: Contents: clarified ownership of document and what you can do with it (Matt Liotta); Style: relaxed many naming conventions, e.g., to allow mixed case component names and all-lowercase attribute names (general feedback); Structure: added additional mappings we now use (WTG); Good Practice: noted that chaining createObject().init() matches Java object constructor behavior (Matt Liotta); clarified use of configure() for Mach II code (WTG); Database: allowed simple ID column as primary key (WTG); clarified foreign key usage (WTG); Globalization: made examples comply with style guide (WTG); Performance: added note about XML configuration files to WDDX recommendation (WTG).

9/18/2003
-
10/8/2003

Sean A Corfield

Release 3.0.1: Incorporated initial public comments: Contents: no change; Style: clarified XHTML-compliance for cfif / cfelse, cfreturn and cfset (Robby L); clarified intent of multi-line custom tag invocation layout (Todd Rafferty); clarified lowercase component names (Scott Keene); Structure: no change; Good Practice: added guidance on cfargument usage (various posters on cfcdev); Database: no change; Globalization: no change; Performance: no change.

8/25/2003
-
9/17/2003

Sean A Corfield

Release 3.0: Contents: no change; Style: clarified "Type Names"; clarified many naming conventions and tightened up wording around scope name usage; clarified XHTML compliance requirements; clarified compound variable name usage; change custom tag invocation to require cfimport; corrected several grammatical errors (thanx S!); highlighted that Mach II is an exception to some of our naming conventions; Structure: rewrote introduction to emphasize design patterns and use of CFCs; added note on Mach II; added explicit CFC file structure guidelines; rewrote entire section on shared scopes and session management; Good Practice: added component constructors & caveat about Mach II configure(); added custom tag guidelines; added cfproperty guidelines; Database: no change; Globalization: no change; Performance: rewrote introduction; banned cfmodule.

8/24/2003

Sean A Corfield

Split the document into managable sections.

7/25/2003

Sean A Corfield

Started work on Release 3.0, bringing the guidelines up to date with Red Sky and incorporating feedback from WTG.

11/12/2002

Sean A Corfield

Added cffunction hint= guideline.

10/21/2002

Sean A Corfield

Added clarification about comment generation in non-CFML files; added guidelines for debugging code; removed len() / is performance recommendation as it is not true on CFMX; added some CFMX-specific performance recommendations; added caveat about $Log: $ causing merge problems; moved Revision History to bottom of document.

6/25/2002

Sean A Corfield

Release 2.0.4: Fixed OnRequestEnd.cfm case; clarified that cfif and cfreturn take an unquoted expression; clarified boolean literal values; clarified custom tag executionMode handling; relaxed rules for shared scope usage; added preference for components over custom tags.

6/19/2002

Sean A Corfield

Release 2.0.3: Removed bogus scope example (thanx S!) and clarified public / private / local scope mechanism inside components.

6/11/2002

Sean A Corfield

Release 2.0.2: Updated var rule for cffunction tags.

6/4/2002

Sean A Corfield

Release 2.0.1: Added applicationvariables.cfm to Application.cfm section; clarified Application.cfm is an exception to lowercase filename rule!

5/7/2002

Sean A Corfield

Release 2.0: Added DOCTYPE and XHTML notes; updated encoding handling (cfcontent, cfheader, cfprocessingdirective); added first cut of Application.cfm machinery; clarified variables / var scope usage; moved Accessibility Coding Guidelines to a separate document; added cfqueryparam.

5/6/2002

Sean A Corfield

Updated Neo to MX; adopted latest naming convention (due to case sensitivity issues); updated file system layout; fixed per-file comment to use CFML style; updated link to Flash Coding Guidelines.

1/28/2002

Sean A Corfield

Release 1.2: Updated CF include mappings.

1/23/2002

Sean A Corfield

Incorporated Josh King's comments about scopes; tidied up CVS structure.

1/17/2002

Sean A Corfield

Release 1.1: Incorporated new CVS structure; incorporated recent relocation of web components; removed web component namespace section (since it no longer requires a tag library) and changed syntax; added web component layout example; removed references to c:documentation.

12/07/2001

Sean A Corfield

Expanded directory structure and include mapping guidelines.

12/03/2001

Sean A Corfield

Added CFX / tag library recommendations.

11/21/2001

Sean A Corfield

Release 1.0.

11/20/2001

Sean A Corfield

Clarified database naming conventions based on feedback from Chris Tuft; updated Globalization section based on discussions with Glen Perkins.

11/13/2001

Sean A Corfield

Clarified environment for Site-wide Variables (based on Chad's feedback); clarified use of scope qualifiers; renamed all cookies to xxxCookie to minimize scope collisions; added initial component hierarchy guideline.

11/12/2001

Sean A Corfield

Added navigation skip in Accessibility guidelines; specified language and Globalization basics; clarified environment for Site-wide Variables; tidied up Session Management code (based on feedback from Matias); tidied up Accessibility (based on feedback from Bob Regan).

11/12/2001

Sean A Corfield

Draft 0.7: Released for review of Site-wide Variables and Accessibility guidelines.

11/10/2001

Sean A Corfield

Added the first cut of the Accessibility guidelines.

11/08/2001

Sean A Corfield

Chose the include file option as the solution for Site-wide Variables.

11/07/2001

Sean A Corfield

Reworked session management code to match membership needs and moved most of it to an Appendix.

11/04/2001

Sean A Corfield

Tidied up session management code (thanx Mike Nimer!); removed question about include file extension; pulled a couple of Performance Techniques into a new section of Good Practices (cfswitch, booleans).

11/02/2001

Sean A Corfield

Draft 0.6: Incorporated comments from Raymond Camden (clarified scope lookup; added note on len(trim(x)); removed comment about duplicate() bug; added note on incrementValue(x)) and Edwin Smith (added question about include file extension; removed some Performance Techniques that no longer apply to Neo: cfscript, cftry, cflock, struct-dot; added some Neo-specific techniques: use components for data acces, avoid evaluate()).

11/01/2001

Sean A Corfield

Incorporated Mike Nimer's comments (fixed cfset rules and clarified example; rewrote File Structure section; rewrote URL Usage section; added new section on Site-wide Variables; rewrote section on Scope, Session & Clustering; clarified that prefixing column names with table names should be avoided; removed "Don't use cfparam..." Performance Technique since it contradicts Ben Forta's recommendation).

10/31/2001

Sean A Corfield

Draft 0.5: Added fledgling Accessiblity section; moved Performance Techniques to an appendix; released for broader review.

10/29/2001

Sean A Corfield

Updated Performance Techniques based on Neo test data from Tim; changed include file naming; clarified numeric value usage in cfset; changed query naming; changed database table names to singular.

10/26/2001

Sean A Corfield

Draft 0.4: The consolidation in Draft 0.3 provoked a suitable resolution whereby mixedCase is used for everything except actual .cfm files invoked in URLs; dropped the Capitalization & Quoting table (redundant); dropped Pounds Signs & Quotes (redundant); clarified quoting rules for cfset; expanded section on Comments (based on feedback from S); indentation now mandates tabs, not spaces.

10/24/2001

Sean A Corfield

Draft 0.3: Removed datatype prefixing; changed SQL guidelines to use ALL_UPPER_CASE naming; standardized booleans; made quoting integer attribute values non-optional; reinforced UTF-8 recommendation; added note about component hints; added Barry's comments about environment configuration; added Barry's recommendation on session scope in a clustered environment; removed '_' prefix rule for included files; consolidated much of the lowercase_words / mixedCase dichotomy - read the Naming section carefully to see what I did!

10/23/2001

Sean A Corfield

Draft 0.2: Restructured to match basic J2EE Coding Guidelines document layout; added some CFML-applicable guidelines from that document; added thoughts on naming conventions; incorporated feedback from S; replaced 'template' with 'file / component'; added WTG Dynamic's HTML, URL and component guidelines.

10/23/2001

Sean A Corfield

Draft 0.1: Initial HTML version; tidied up Word formatting; corrected typos and grammar; added ToC, Revision History, Conventions, Base Document.

« Appendix: Performance Techniques | Contents

 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/wtg/public/coding_standards/history.html