它取决于您使用的平台,还是大多数开发人员建议/遵循的常规约定?
有几种选择:
id="someIdentifier"' - 看起来与javascript代码非常一致. id="some-identifier" - 看起来更像html5类似的属性和html中的其他东西.id="some_identifier" - 看起来与ruby代码非常一致,并且仍然是Javascript中的有效标识符我认为上面的#1和#3最有意义,因为它们使用Javascript更好玩.
对此有正确的答案吗?
JavaScript中的下划线前缀只是一个约定,例如在Python私有类方法中是什么?
从2.7 Python文档:
Python中不存在除了从对象内部访问之外无法访问的"私有"实例变量.但是,大多数Python代码都遵循一个约定:前缀为下划线的名称(例如_spam)应被视为API的非公共部分(无论是函数,方法还是数据成员) .
这也适用于JavaScript吗?
以此JavaScript代码为例:
function AltTabPopup() {
this._init();
}
AltTabPopup.prototype = {
_init : function() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
此外,使用下划线前缀变量.
...
this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;
...
Run Code Online (Sandbox Code Playgroud)
只有会议?或者下划线前缀后面还有更多?
我承认我的问题与这个问题非常相似,但它并没有让人更聪明地了解JavaScript中下划线前缀的重要性.
在创建REST API时,API中的命名约定是否有任何指导或事实标准(例如:URL端点路径组件,查询字符串参数)?骆驼帽是常态还是下划线?其他?
例如:
api.service.com/helloWorld/userId/x
Run Code Online (Sandbox Code Playgroud)
要么
api.service.com/hello_world/user_id/x
Run Code Online (Sandbox Code Playgroud)
注意:这不是RESTful API设计的问题,而是用于最终路径组件和/或查询字符串参数的命名约定准则.
任何指导方针将不胜感激.
redis中键的常规命名约定是什么?我已经看到了值被分开,:但我不确定正常约定是什么,或者为什么.
对于用户,你会做一些像......
user:00
如果用户的ID是 00
您是否只能查询密钥的开头以返回所有用户?
我主要是希望通过研究为人们工作的方式以及为什么选择这些问题来避免任何未来的问题.
在过去,我总是使用下划线来定义HTML中的class和id属性.在过去的几年里,我改用破折号,主要是为了让自己与社区的趋势保持一致,不一定是因为它对我有意义.
我一直认为破折号有更多的缺点,我没有看到它的好处:
大多数编辑器将破折号视为单词分隔符,因此我无法通过选项卡切换到我想要的符号.说类是" featured-product",我必须自动完成" featured",输入连字符,然后完成" product".
下划线" featured_product"被视为一个单词,因此可以一步填充.
这同样适用于浏览文档.通过单词跳转或双击类名会被连字符打破.
(更一般地说,我认为类和ID是标记,所以对我来说,标记应该在连字符上很容易拆分是没有意义的.)
使用破折号会破坏对JavaScript中表单元素的对象属性访问.这只能用下划线表示:
form.first_name.value='Stormageddon';
Run Code Online (Sandbox Code Playgroud)
(不可否认,我自己并不以这种方式访问表单元素,但是当决定破折号和下划线作为通用规则时,请考虑某人可能.)
像Sass这样的语言(特别是在整个Compass框架中)已经将破折号作为标准,即使对于变量名称也是如此.他们最初也开始使用下划线.这被解析的事实让我感到奇怪:
$list-item-10
$list-item - 10
Run Code Online (Sandbox Code Playgroud)
在当天,我曾经用underscored_namesPHP,ruby,HTML/CSS和JavaScript 编写变量.这是方便和一致的,但再次为了"适应"我现在使用:
dash-case 在HTML/CSS中camelCase 在JavaScript中underscore_case 在PHP和ruby中这对我来说并没有太多困扰,但我想知道为什么这些看起来如此错位,似乎是故意的.至少使用下划线可以保持一致性:
var featured_product = $('#featured_product'); // instead of
var featuredProduct = $('#featured-product');
Run Code Online (Sandbox Code Playgroud)
差异造成了我们不得不不必要地翻译字符串以及可能存在错误的情况.
所以我问:为什么社区几乎普遍以破折号为主,是否有任何理由超过下划线?
从这个开始的时间开始有一个相关的问题,但我认为它不是(或不应该)只是一个品味的问题.我想了解为什么我们都认为这个大会只是一个品味问题.
1)MethodName_StateUnderTest_ExpectedBehavior
Public void Sum_NegativeNumberAs1stParam_ExceptionThrown()
Public void Sum_NegativeNumberAs2ndParam_ExceptionThrown ()
Public void Sum_simpleValues_Calculated ()
Run Code Online (Sandbox Code Playgroud)
资料来源:单元测试的命名标准
2)通过下划线分离每个单词
Public void Sum_Negative_Number_As_1st_Param_Exception_Thrown()
Public void Sum_Negative_Number_As_2nd_Param_Exception_Thrown ()
Public void Sum_Simple_Values_Calculated ()
Run Code Online (Sandbox Code Playgroud)
不久之前,我在这里看到了一个关于java包的细粒度组织的问题.例如,my.project.util,my.project.factory,my.project.service,等.
我现在找不到,所以我不妨问一下这个问题.
是否有关于Java程序包组织的最佳实践以及它们的内容?
如何在Java项目中组织课程?
例如,我正在与一些人合作的项目有一个名为beans的包.它最初是一个包含简单豆类的项目,但最终(通过糟糕的经验和缺乏时间)包含所有内容(几乎).我通过在工厂包中放置一些工厂类(使用创建bean的静态方法的类)来清理它们,但我们有其他类来执行业务逻辑,而其他类则执行简单处理(不使用业务逻辑),如检索来自属性文件的代码消息.
感谢您的想法和意见.
应该是/ about_us还是/ about-us?
从可用性的角度来看,我个人认为/ about-us对最终用户来说要好得多,但Google和大多数其他网站(和javascript框架)都使用下划线命名模式.这只是风格问题吗?破折号是否存在兼容性问题?
html ×3
css ×2
java ×2
api ×1
coding-style ×1
javascript ×1
package ×1
redis ×1
rest ×1
scope ×1
seo ×1
standards ×1
unit-testing ×1
url ×1