conjunto <cffile>
carga ruta a un directorio accesible a través de la web, CF-enabled !!!
isStruct()
antes isObject()
en una serie de <cfif>
's que esperan isStruct sólo se capta estructura (componente CFC devuelve True de isStruct() también)
sin HtmlEditFormat()
cuando se muestra el contenido generado por el usuario (XSS)
olvidó añadir salida = false en métodos CFC
no usar <cfqueryparam>
dentro <cfquery>
no la determinación del alcance de variables no tan evidentes como el nombre cfquery o el índice de bucle en un método
uso <cfform>
cuando todo lo que necesitan es HTML llano-vainilla <form>
olvidó de UrlEncodedFormat()
URL definida por el usuario
uso <cffeed>
sin desinfectar el contenido
confianza isDate()
demasiado (cualquier número volvería verdadera)
esperan comparación de cadenas de mayúsculas y minúsculas (IS y operadores EQ distinguen entre mayúsculas y minúsculas)
cadenas que envían "sí" o "no" a SerializeJSON()
sin añadiendo un espacio en blanco para preservar la cadena (de lo contrario SerializeJSON()
o DeserializeJSON()
las traducirá en "verdadero" y "falso")
no poner los servicios singletons en el ámbito de aplicación
ciegamente crear una s mucho CFC como uno quiere, como se haría en JAVA
poner compleja valor/objeto en una lista (no puede, lista es sólo una cadena de valores separados por comas) funciones
de escritura que lleva matriz como un argumento y modificar esa matriz esperando que array serán modificados (array en CFML se pasa por valor)
cambia ciegamente access="remote"
en un método y esperan que funcionen (cuando proxy remoto es generalmente más apropiado)
use a mucha WriteOutput() en cfscript cuando CFML es más apropiado
utiliza ciegamente cuando IsDefined()
StructKeyExists()
general, puede hacerlo de manera más eficiente
utiliza ciegamente Iif()
y De()
sin saber que están tan desagradable como Evaluar()
actualizar algunos códigos en onApplicationStart() y no ver la diferencia en la actualización (¡reinicie la aplicación!)
<cfloop>
o '' fuera de <cfquery>
provocando que se abran nuevas conexiones de consulta. El 99% de las veces es mejor tener múltiples instrucciones dentro de una cfquery para realizar múltiples acciones, o para datos de UNION juntos.
hardcoding ruta absoluta cuando ExpandPath()
es generalmente mejor
se olvidó de activar el soporte de Unicode en DSN (Unicode se convierte en '????')
no actualizar a la última JRE y revisiones
mal uso de alcance del cliente y volar registro de Windows ...
usos amortizan/obsoleta funciones/featu res (es decir flash forma también conocido como Flex 1.x alfa, búsqueda de texto completo cftable, Verity, etc ...)
pasar CFCATCH
a una función como argumento de tipo Struct
(CFCATCH
se comporta como un Struct
, pero no lo es. Sólo tiene que pasar como tipo 'Any
').
No leyendo CFC Best Practices de ColdBox wiki.
de compra en el modo de pensar de .ASP (X) o .JSP o [tecnología web inserción] son siempre mejor ..;)
No utilice PrecisionEvaluate()
y conseguir todo tipo de punto flotante de error, especialmente cuando el redondeo calculando dinero.
Hacer preguntas demasiado amplias en SO. ;) –
Preguntas divertidas ... preguntas informativas ... ¡no demasiado amplias! Algunas de estas preguntas sobre "errores" están obteniendo buenas respuestas en ellas. Buena lectura. –
@Greg Beech +1 - aunque debo admitir que programé con ColdFusion de CF 3 a 6.1 ... una vez que una persona encuentra un idioma/plataforma como C# y .NET es muy difícil mantener el interés en el mundo de ColdFusion. Pero mirando hacia atrás, uno debe admitir que ColdFusion 2.0 ofreció a los desarrolladores clásicos de ASP lo que .NET solo pudo ofrecer MUCHOS años después. Me atrevería a decir que ASP.NET se inspiró mucho en ColdFusion de la misma manera que C# se inspiró en Java. –