当您定义函数/变量/等时,不确定如何命名,该如何命名?您如何命名?
如果您在使用临时名称作为真实姓名之前将其用作真实姓名,那么您使用什么临时名称?
更新
我一直在使用类似的东西WILL_NAME_LATER
,NEEDS_NAME
或TO_BE_NAMED
。我希望有一个采用的约定,实际上我希望,如果使用该采用的约定,IDE会在不更改名称之前突出显示该名称。
当您定义函数/变量/等时,不确定如何命名,该如何命名?您如何命名?
如果您在使用临时名称作为真实姓名之前将其用作真实姓名,那么您使用什么临时名称?
我一直在使用类似的东西WILL_NAME_LATER
,NEEDS_NAME
或TO_BE_NAMED
。我希望有一个采用的约定,实际上我希望,如果使用该采用的约定,IDE会在不更改名称之前突出显示该名称。
Answers:
几乎无法想出要设计的工件的名称。您可能不喜欢自己想出的名字,因为它既不简洁也不性感,但是如果您想得太认真,最终将得到一个名字不正确的人工制品。
假设您有一些可以帮助您构造对象的东西,但是您不知道这通常称为工厂。只需将其命名为ObjectCreator。听起来很钝,但至少很清楚。
假设您有一本将主机名转换为IP地址的字典。只需将其命名为HostnamesToIpAddresses即可。当然很长,但是它确切说明了它的作用。
无法为某事物起一个名字,意味着您不知道它在做什么,这也意味着您面临更大的问题。
"The inability to come up with a name for something means you don't know what it is doing"
。我认为这确实是重要的一点。意识到这一点有助于您发现代码中的歧义和不明确之处。
我总是尝试给变量和函数起好名字。
如果我想不出一个好名字,我会满足于一个好名字。
如果我不能拿出好名字,我会用一个好名字。
在15年的专业编程工作中,我从来没有想过一个像样的名字。
如果您想不出变量或函数的好名字,则可能是您不了解自己在做什么,或者您的设计很差。无论哪种方式,拍打诸如“ x”之类的任意名称(除非您正在处理坐标)都不会解决您的难题;它只会使情况变得更糟,而维持的痛苦也会更大。
foo
并bar
在代码中使用的唯一地方是用于展示概念的小片段代码。当然,我在想起名字时也迷迷糊糊,但是我从来没有遇到过如此糟糕的处境,foo
这是唯一合理的选择。如果发生这种情况,那么我真的不知道我在做什么,需要回到绘图板和伪代码,直到我知道该怎么做。
这个问题,尤其是答案,使我无所适从。知道,有人将不得不维护您刚刚在其中命名为变量“ Cup”的代码。如果您不幸运,那么有人会成为您!
你有一个变量。这是一回事。无论如何,它代表一件事。事物有名字。那就是你怎么知道他们就是东西!您是否真的在告诉我,因为您无法拿出真实事物的名称,所以必须以另一事物命名。
迭代器应称为i。嵌套的迭代器可能是一个错误,但是如果您需要它们,请按顺序遍历其余的元音(a,e,o,u和上帝帮助我,是的,有时是y)。
除此之外,只需将其称为“事物”并完成操作即可!
我将其命名为我认为函数应该执行的操作-或多或少传达了意图。编写完函数的主体后,很明显可以调用该函数,然后根据需要返回并重命名。
foo和bar。由于命名函数/变量背后还没有意义,因此我将Foo和/或Bar与我要定义的内容结合使用。
当我对它应命名的名称有了更好的了解时,它使以后搜索/查找变得容易。
另请参阅Wikipedia上的Foobar。
术语foobar,foo,bar和baz有时在计算机编程或与计算机相关的文档中用作占位符名称(也称为元语法变量)。它们已用于命名目的不重要的实体(例如变量,函数和命令),仅用于演示概念。单词本身在此用法中没有意义。Foobar有时单独使用。当需要多个实体时,有时会按此顺序使用foo,bar和baz。
在函数之前加上一些前缀,并为其命名一个最佳名称。例如,将选定用户的所有产品保存到数据库的函数可以是RENAME_SaveAllProductsForTheSelectedUserToTheDatabase
()
SaveAllProductsForTheSelectedUserToTheDatabase()
有时我会临时使用zzzz。
一个可以帮助您的好规则是:
过去我经常使用bob,但这将是函数/脚本中唯一未正确命名的变量,因为否则代码很快就会变得不可读。
(bob是单日的宿醉-通过调用变量bob和fred摆脱困境)
我很高兴用i做柜台。
最好使用有意义的名称,即使它们不短而活泼。
Doit(),a(),b(c)xxxx()....
当然,它们通常被重构。
我倾向于在办公桌上使用东西。
我也倾向于通用名称(至少对于函数而言):
这是临时的东西。我发誓没有将其放入存储库中,更不用说生产了。
...
run
看起来比更好go
。也许是因为我们都希望我们的程序更快。