ColdFusion Alive

051 Improve your CFML Code Quality with Kai Koenig


Listen Later

Kai Koenig talks about "Improve your CFML Code Quality (with some Cool Tools)" in this episode of ColdFusion Alive Podcast, with host Michaela Light.
Show notes
Why does code quality matter?
Long code lifetime
Reduce maintenance cost
Easier to read
Reduce bugs without testing
What does code quality mean in practice?
Bad Code smell (see below for article)
Complexity
Bad variable or function naming
Poor var
What tools are there for managing and measuring code quality?
Code review tools
Code of conduct for code reviews
Egoless programming
Rhodecode repository
Upsource from Jetbrains
Static analysis
Lint
Runtime analysis
Code coverage / execution paths
Duplicate code
Code Correctness
Does the code fulfil its spec
Behavior Driven Development
Complexity
McCabe index
# Lines of code per class/component/function
Cyclic dependency trackers
Dependency graph generation
Why is there a lack of tools for CFML in this field?
CF less formal than some other languages
RAD focus
Historically CF attracts a lot of cross-training developers, less of a formal Computer Science background
Allaire, Macromedia and Adobe have not been interested in this aspect of a language ecosystem
What cool tools exist for other languages?
List of tools for static code analysis 
Linters
What tools do exist for CF?
Varscoper
A bit stale - no good support for cfscript
CFQueryParam checker
CFLint
Based on CFparser (using ANTLR compiler generator)
Outputs HTML, XML or JSON for Findbugs
2.0 will have API
CFLint code of conduct
Various doc tools
ColdDoc
Stale
DocBox
Home-brew stuff for specific use cases
Why are you proud to use CF?
Can be released rapidly and is maintainable and works well with Java
WWIT for you to make CF more alive this year?
Better CF developer tools
Market position of paid server product - open source version
More publicity for Lucee as open source language
Shift perception
Ortus tools
Ortus buy ColdFusion
What are you looking forward to at CFCAMP?
Let's talk about code quality.
We all agree that our code needs to be functional so that it meets business requirements. We also should aim for code that is well written and maintainable for future changes. There are a lot of elements playing into that. A well thought system architecture is an important foundation. The selection of an appropriate framework could be the next step. In the end you might look at how to format and write your code on a line-by-line basis.
This talk will provide an introduction into code quality. We will look at various aspects around this term first. From there we can investigate different ways how you can perform code analysis. This will help you measure and understand code quality. There is a range of categories of tools available, some of which also support CFML.
In the second part of the talk we'll look at the details and usage of CFLint. CFLint is a static code analyser for CFML that is based on the CFParser project.
Mentioned in this episode
CFCAMP
Bad code smell 
CFML Complexity Metric Tool
DocBox 
Code coverage
Lucee
Fusion Reactor
DocBox wiki
ColdDoc
CFlint
Intellij CF lint plugin
Adobe CF Builder
Agile eXtreme programming - peer programming
Rhodecode
Upsource from Jetbrains
Smartbear Collaborator
McCabe index - Cyclomatic complexity 
Cyclic dependency 
Decoupling
Varscoper
CFQueryParam checker
CFLint
CFParser
Antlr parser generator 
TeamCity CI 
CFLint code of conduct 
CFMobile
DroidCon UK conference
Listen to the Audio
 
Bio
Kai Koenig
...more
View all episodesView all episodes
Download on the App Store

ColdFusion AliveBy Michaela Light

  • 4.8
  • 4.8
  • 4.8
  • 4.8
  • 4.8

4.8

5 ratings