我看到的风格与我最初学到的风格截然不同。我习惯于尽我所能使代码读起来像普通英语。实际上,这意味着大多数函数名称都以命令式动词开头:
有道理:
DoWorkOnA();
DoWorkOnB();
但现在我在 linux 内核和 this 中的函数上玩弄更多低级代码SDK,我看到了更多:
没有意义:
a_work_do();
b_work_do();
这些名词和动词的困惑背后有什么逻辑吗?似乎动词总是放在一些奇怪的最后Yodic方式。我可以理解为公共(public)函数添加前缀以防止名称冲突,但这似乎比前缀更深入:
有道理:
MODULEA_DoWork();
MODULEB_DoWork();
学习阅读其他人的代码是开发人员成长的重要组成部分。我只是想了解如何更快地阅读看似乱七八糟的单词。
add_work()
的示例在 style guide. 中有意义
最佳答案
Is there any logic behind this jumble of nouns and verbs?
当然有。
a_work_do()
指的是主题a
,对象work
, Action do
(与后两者相关)。
可能会有更多这样的东西,然后可以很好地根据主题和宾语进行排序:
a_work_create()
a_work_do()
a_work_cleanup()
或
me_book_buy()
me_book_read()
me_book_giveaway()
等等……
Yoda 是个聪明人,不是吗? ;-)
关于c - 如何阅读 linux 风格的函数名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30420348/