【发布时间】:2013-01-30 22:03:09
【问题描述】:
我目前正在开发一个通用 C++ 库。
好吧,我喜欢使用真实的函数名称,实际上我的项目有一个一致的函数命名系统。如果函数(或方法)不返回 bool,则函数(或方法)以 动词 开头(在这种情况下,它们以 is_ 开头)
问题是这对一些程序员来说可能有点问题。考虑这个函数:
#include "something.h"
int calculate_geometric_mean(int* values)
{
//insert code here
}
我认为这样的函数似乎是正式的,所以我这样命名我的函数。 不过我设计了一个简单的宏系统供用户切换函数名。
#define SHORT_NAMES
#include "something.h"
#ifdef SHORT_NAMES
int calc_geometric_mean(int* values)
#else
int calculate_geometric_mean(int* values)
#endif
{
//some code
}
这比使用别名更明智(因为函数的每个别名都将分配在内存中),还是这种解决方案纯属邪恶?
【问题讨论】:
-
它本身并没有什么坏处,但我认为从函数名中删除五个字母并没有增加足够的价值来克服拥有两个独立 API 的缺点。
-
"is"实际上是一个动词。 -
我喜欢你对自己写的东西是否邪恶持谨慎态度。我希望有更多像你这样的人。
-
我倾向于删除所有的元音。我不喜欢里面有元音的代码。
-
@juanchopanza,恰恰相反。它应该只有元音。