gpt4 book ai didi

coldfusion - ColdFusion 程序员应避免的常见编程错误?

转载 作者:行者123 更新时间:2023-12-02 22:16:57 26 4
gpt4 key购买 nike

本着我关于“常见编程错误......避免”的其他问题的精神

ColdFusion 程序员需要避免哪些常见的编程错误?

最佳答案

  • 设置<cffile>上传路径到可通过网络访问、支持 CF 的目录!!!

  • isStruct()之前isObject()在一系列 <cfif>期望 isStruct 只捕获 struct(cfc 组件也从 isStruct() 返回 True)

  • HtmlEditFormat()显示用户生成的内容 (XSS) 时

  • 忘记在 CFC 方法上添加 output=false

  • 不使用 <cfqueryparam>里面<cfquery>

  • 不在方法中确定不太明显的变量(例如 cfquery 名称或循环索引)的范围

  • 使用<cfform>当他们需要的只是普通的 HTML <form>

  • 忘记UrlEncodedFormat()用户定义的URL

  • 使用<cffeed>无需清理内容

  • 信任isDate()太多(任何数字都会返回 true)

  • 期望字符串比较区分大小写(IS 和 EQ 运算符不区分大小写)

  • 发送字符串“yes”或“no”到SerializeJSON()不附加空格来保留字符串(否则 SerializeJSON()DeserializeJSON() 会将它们转换为“true”和“false”)

  • 不将单例服务放入应用程序范围

  • 像在 JAVA 中那样盲目地创建尽可能多的 CFC

  • 将复杂的值/对象放入列表中(不能,列表只是一串以逗号分隔的值)

  • 编写将数组作为参数并修改该数组的函数,期望该数组将被修改(CFML 中的数组是按值传递的)

  • 盲目改变access="remote"在一个方法上并期望它能够工作(当远程代理通常更合适时)

  • 当 CFML 更合适时,在 cfscript 中使用大量 WriteOutput()

  • 盲目使用IsDefined()StructKeyExists()通常可以更有效地做到这一点

  • 盲目使用Iif()De()却不知道它们和 Evaluate() 一样令人讨厌

  • 更新了 onApplicationStart() 中的一些代码,但在刷新时看不到差异(重新启动应用程序!)

  • <cfloop><cfquery> 之外的 ''导致打开多个新的查询连接。 99% 的情况下,最好在一个 cfquery 中使用多个语句来执行多个操作,或者将数据合并在一起。

  • ExpandPath() 时硬编码绝对路径一般来说比较好

  • 忘记在 DSN 中打开 Unicode 支持(Unicode 变为“????”)

  • 未升级到最新的 JRE 和修补程序

  • 滥用客户端范围并破坏 Windows 注册表...

  • 使用已弃用/过时的功能/特性(即 Flash 形式,又名 Flex 1.x alpha、cftable、Verity 全文搜索等...)

  • 路过CFCATCH作为参数类型 Struct 的函数( CFCATCH 的行为类似于 Struct ,但事实并非如此。只需将其作为类型“Any ”传递即可)。

  • 未读CFC Best Practices来自 ColdBox wiki。

  • 以 .ASP(X) 或 .JSP 或 [插入网络技术] 的心态购买总是更好..;)

  • 不使用PrecisionEvaluate()并得到各种浮点舍入误差,尤其是在计算金钱时。

关于coldfusion - ColdFusion 程序员应避免的常见编程错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1191131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com