shell脚本和makefile的命名约定

时间:2009-11-24 14:41:32

标签: linux shell naming-conventions

我有一些存储共享变量的makefile,例如CC = gcc,我该如何命名?

候选人是:

common.mk
Make.common
Makefile.common

..哪个更经典?有标准吗?

同样,我有一些shell脚本,我应该在以下选项中选择:

do_this_please.sh
do-this-please.sh
DoThisPlease.sh
doThisPlease.sh

是否有普遍接受的'案例'和后缀?

5 个答案:

答案 0 :(得分:1)

这是一个非常主观的问题,所以我会用一个主观的答案回答: - )

恕我直言,请转到Makefile.commondo-this-please(带或不带.sh后缀)。我已经看过很多了,而且它们无可争辩。

答案 1 :(得分:1)

你得到的是将构建粘合在一起的部分。构建脚本,自动生成的配置,其他makefile包含的makefile - 询问应该如何命名这些内容是个好主意。

最重要的是,保持一致

我已经看到很多.mk扩展名包含在Makefile中的文件。然而,正如Gyom所说,这是一个非常主观的问题。

无论是什么使你选择的编辑器中的语法高亮显示,可能是一个不错的选择。如果你是一个团队,每个人都使用不同的东西,请问伙计们。对我来说,命名一个包含.mk扩展名的makefile正确地为每个人突出显示。使用.sh后缀命名shell脚本有助于以类似的方式。

简而言之,使文件名明显,并尝试使语法高亮显示尽可能多的编辑器/ IDE。 Makefile.common可能不会这样做,common.mk可能有更好的镜头。

答案 2 :(得分:1)

由于since脚本的目的是执行命令行命令,因此IMO的shell脚本命名约定应遵循文件的命名约定,因为它与操作系统有关,而不是特定的编程语言。由于大多数操作系统使用-_作为分词符,因此最好将脚本命名为do-this-please.shdo_this_please.sh。我个人使用do_this_please.sh,因为我认为它看起来更好。

我建议始终将.sh扩展名添加到Shell脚本中,因为如果其他人正在浏览您的项目,do_this_please不会在不打开文件的情况下为他们提供有关文件用途的足够信息。另一方面,当他们看到扩展名时,他们知道该文件是Shell脚本,并且看到了脚本的名称,就知道了文件的全部用途,而无需打开它。

答案 3 :(得分:0)

我会去do_this_please.sh。这是我的理由:

  • 从可读性的角度来看,间距是优选的。这将我们带离了骆驼箱。

  • 破折号在大多数shell中都有特殊的含义,因此,当漂亮地打印涉及您的一个文件的内容时,漂亮打印的词法分析器会选择它并给出奇怪的可视化效果。您会在上面看到一个案例。

这留下了强调的版本。其他一些支持的观点:

  • 此约定与Python模块的模块名称相同(cmp。PEP 8)。 python中的模块将代码组合在一起。您的shell脚本也可以看作是这样的分组。
  • Python专家将对您提供的功能数量和功能范围有一个直接的想法。 Python非常受欢迎,其寄宿家庭起源于脚本编写,因此其约定可能是一个很好的模板。

答案 4 :(得分:0)

Google的开源风格使用下划线作为分隔符:https://google.github.io/styleguide/shellguide.html#s7.4-source-filenames

因此,根据您的情况,使用这种样式将是do_this_please.shdo_this_please