4

我知道在 CFScript 中编写代码提示的两种方法。我想知道两者之间是否存在任何功能性、非美学差异,以及什么被认为是最佳实践。

我看到的第一种技术使用函数声明上方的注释来添加提示:

/**
* @hint This function does soemthing
*/
public function foo() {}

而第二种技术将提示合并到声明本身中:

public function foo() hint="This function does something" {}

有理由使用其中一个而不使用另一个吗?如果你有论据来声明你可能想要暗示,你的方法会改变吗?

4

3 回答 3

6

第一种风格,JavaDoc 风格,看起来更干净一些,但我个人对此有很大的不满:

注释不应该改变代码运行的方式。曾经。这就是为什么它们被称为评论!

这就是为什么我更喜欢第二种风格,即使它看起来不那么干净。

于 2011-01-06T15:18:39.260 回答
2

我知道使用注释样式 /** */ 和内联之间没有功能差异。此外,它不仅仅是提示 - 任何属性都可以放在注释或内联中。据我所知,这纯粹是一种审美选择。

澄清:

/**
*@output false
*@returnType query
*/
public function foo() {}

将在功能上做同样的事情

public function foo() output='false' returntype='query' {} 
于 2011-01-06T15:18:04.287 回答
1

使用getComponentMetaData()属性优先于注释。否则没有技术差异。关于 cfscript 组件的Adob​​e 文档实际上在这个主题上非常好。

我认为使用注释是向读者传达意图的更好方法,因为它与之前的代码不同。而属性更好地用于应用自定义(例如,提示 ORM),因为它将该信息与其他代码内联。

于 2011-01-06T15:39:25.633 回答