Articles of 命名约定

约定命名sed脚本?

我知道在linux中文件扩展名并不重要,但命名sed脚本的约定是什么? 我已经看到.sh,.sed,.sd

为什么在amd64 linux系统调用号码不同?

我注意到x86 int $0x80和amd64 syscall系统调用有不同的数字。 例如, sys_exit是x86中的syscall 1, sys_exit是syscall 60。 是否有不同的系统呼叫编号scheme的(历史)原因?

提升库名称缺less版本标记

我已经build立了提升根据文件使用: bjam.exe toolset=msvc-9.0 variant=release link=shared stage 这给了我在文件夹阶段的所有图书馆。 我得到每个升压包3个文件,例如: boost_regex-vc90-mt-1_45.dll boost_regex-vc90-mt-1_45.lib boost_regex-vc90-mt.lib boost_regex-vc90-mt-1_45.dll boost_regex-vc90-mt-1_45.lib boost_regex-vc90-mt.lib 什么是没有版本标签的lib文件? boost_regex-vc90-mt-1_45.lib和boost_regex-vc90-mt.lib有什么区别? boost文档声明如下: “扩展:根据操作系统惯例,在大多数unix风格的平台上扩展名分别是.a和.so,分别是静态库(archives)和共享库。在Windows上,.dll表示一个共享库和.lib表示一个静态库或者导入库,在unix版本的工具集支持的情况下,增加一个完整的版本扩展(比如“.so.1.34”),并且一个符号链接指向没有后续版本号的库文件“。 http://www.boost.org/doc/libs/1_45_0/more/getting_started/windows.html#library-naming 没有版本标签的文件是库文件的符号链接? 在Windows中的符号链接? 我不明白。

在打字稿中input引用区分大小写?

我在一个带有打字稿的项目中使用visual studio 2015,文件使用较低和大写字母命名,如“project / Models / myFile.ts”。 当我想从另一个模块/文件中导入某些东西的时候,我会在Visual Studio中使用拖放操作来自动提供文件path的引用,但忽略大写字母,并给出一个小写的path。 问题1:这是否意味着在打字稿中引用或导入文件时Visual Studio不区分大小写? 问题2:是否build议使用全部小写字母命名文件夹和文件,以便与不同的操作系统兼容? 更新在引用注释/// <reference path="jquery" />给出的/// <reference path="jquery" />似乎不区分大小写,所以这个/// <reference path="JQuery" />工作原理是相同的,但是当使用import关键字时,path必须包含模块的文件的确切命名。

我对类名的select受到Windows XP最大path长度问题与SVN /域驱动devise – 任何解决scheme的阻碍

我正在使用PHP 5.2创build一个网站 我喜欢为我的类明确的名称 我也有一个会议,说'文件的path和名称'匹配'class级的名字' 所以一个叫做: ABCSiteCore_Ctrlrs_DataTransfer_ImportMergeController 将坐在我的svn工作副本: C:\_my\websrv\ABCCoUkHosting2\webserve\my_library\vendor\ABCSiteCore-6-2\ABCSiteCore\Ctrlrs\DataTransfer\ImportMergeController.php 我发现命名约定可以更好地了解我的代码库,从而更好地理解并减less复杂性。 不幸的是,我的Windows XP电脑似乎有最大的path长度。 当我尝试将Subversion文件签出到我的工作副本中似乎会导致问题。 如果path太长,我无法检查出来 – 结帐失败。 所以我发现自己花了很长时间才想到域名概念的名称。 我可能想命名一个类“通知服务” – 但我最终称它为“NtfctnSrvce”。 当我尝试创build一个规范类时也会导致问题。 说,例如,我很想有一个明确的名字叫一个spec类,说: $hasBeenNotifiedSpec = new ABCSiteCore_Model_MssgSys_Rules_Customers_HasCustomerBeenSentNotificationOfOnlineTransactionPaymentByEmail($notificationLog); if($hasBeenNotifiedSpec->isSatisfiedBy($customer)) { …do something 通过使用我的文件到类名称命名约定,我可以简单地使用Windows资源pipe理器来获取类的function,模型/视图/控制器模式等中的位置/angular色。 ABCSiteCore\ Model\ MssgSys\ Rules\ Customer\ HasCustomerBeenSentNotificationOfOnlineTransactionPaymentByEmail.php 每当我想到一个领域概念的名字,我已经习惯于将潜在的path长度粘贴到一个“ path长度检查器 ”中,看看我能否使用它 – 在我的工作中它只是一个预先格式化的文本-notes维基: 如你看到的。 不幸的是,class级名字越来越接近极限 C:\_my\websrv\ABCCoUkHosting2\webserve\my_library\vendor\ABCSiteCore-6-2\ABCSiteCore\Model\MssgSys\Rules\Customer\hasCustomerBeenSentNotificationOfOnlineTransactionPaymentByEmail.php ——————————————————————————————————————————————————————-script path length danger zone——->| ———————————————————————————————————————————————————————-max path length danger zone (inclusive […]

应该在可执行文件中包含名称中的版本号?

我开发一个特定的服务器。 到目前为止,两个版本不能同时安装。 现在我们正在改变这个问题,问题出现了:版本号是否应该附加到服务器组件上? 服务器包含3个exes和5个dll(一些COM,一些原生的VC ++)。 如果任何一个或全部都有他们的名字包含版本( Serv71.exe , module71.dll )或不是? 在优点方面,它应该使pipe理服务器更容易一些。 如果某个实例行为exception,则可以在任务pipe理器中识别。 另外,如果没有注意到混合组件的版本,就不会有糟糕的安装。 另一方面,这会使开发变得困难一些。 服务器不是独立的产品,而是我们应用程序基础架构的一部分。 这意味着它获得主应用程序的版本。 给出的是,即使在版本之间完全没有改变,某个组件也必须得到不同的名称。 总而言之,这不是一个关键问题。 我们可以用两种方式相处。 说了这么多,我可能会错过一个胜利者的观点来支持其中的一个策略。 什么是常见的select? 你是做什么? 编辑:我熟悉COM和文件元数据版本,并同意文件名版本是多余的。 我试图找出更重要的东西 – 不变的冗余开销,或维护中罕见的收益。

Windows和Mercurial更改类名称的情况

我已经inheritance了一个Java项目,其中包含许多根据UpperCamelCase命名约定命名的类。 对于缩写(例如,HTMLButton而不是HtmlButton)尤其如此。 虽然我知道在使用带有缩写词的CamelCase方面存在一些意见分歧,但是我们希望切换到仅使用大写字母作为缩写的第一个字母。 (目前,似乎有几个同时命名约定。) 我想整理一下。 我们使用Mercurial作为我们的源代码库,并在Windows机器(包括XP,Vista,7)上工作。 但是,如果我将类名从HTMLButton更改为HtmlButton,则Mercurial会将其识别为类名更改,但不会将其更改为文件名。 (随后从Mercurial中取出文件名不会改变。) 我知道Windows在不区分大小写的文件系统上工作,并且我明白当接受从Windows盒推送时,Mercurialselect此function… 所以… – 是否有一个设置可以让Mercurial使用区分大小写的文件名? – 是否有一个设置,我可以改变让Windows使用区分大小写的文件名? (这些是单独的问题,我的首要任务是让Mercurial接受文件名的修改,如果需要的话,我们可以在我们的IDE中手动强制文件重命名,但是直接的解决scheme将是首选!) (如果一切都失败了,我可能会尝试将HTMLButton重命名为HtmlButtonA,提交并推送,并将HtmlButtonA重命名为HtmlButton,并执行另一个提交和推送…但是,我不确定这会对Windows文件名有什么影响其他人在第二次推动之后只做了一次拉…)