wordpress 原创_WordPress的编码标准[指南]

我们完全具有编码标准的原因(不仅限于WordPress)是为了从事项目的程序员创建一个熟悉的环境 。 WordPress特别涵盖了各种各样的产品。 从核心本身到主题插件 ,有很多值得一看的东西,也有很多值得混淆的地方。

如果每个人都以相同的方式设置代码格式,使用注释,使用相同的文档样式等,那么一起工作就变得容易得多,加入新项目的学习曲线也不会那么艰难。

WordPress中对内聚性的需求因代码库所在的状态而被放大。 WordPress不遵循严格的面向对象方法,也不使用MVC模式。 毫无例外地遵循OOP和MVC准则的项目(例如Laravel )由于结构而具有一致性和最佳实践。

不幸的是,WordPress可以进行意大利面条式编码,也就是您想做的事 。 仅仅因为采用错误代码的产品可能在表面上同样起作用,就很难实施最佳实践。

通过遵循WordPress编码标准,您可以了解有关WordPress编码方式的一些知识,创建更多与WordPress兼容的产品。 向社区展示您的关心,并纠缠高质量代码。

有关标准的一些注意事项

标准没有定义对与错。 您可能不同意规则,例如,即使不需要,也应始终使用大括号 。 WordPress编码标准的目的不是确定您是对还是错,而是确定在WordPress中应如何做。

这些标准尚待辩论。 使用标准并不是反对您不喜欢的缩进样式的立场。 如果编码标准中包含某些内容,则可以这样做。 WordPress开发人员会为此而爱上您! 也就是说,如果您不同意其中的某些内容,请提高您的声音并让人们知道。 总是可以做得更好,但是只有在标准允许的情况下,才应该更改编码风格。

保持肛门保持一致 。 如果您处于项目的最后10%,并且刚刚发现对类使用了错误的命名约定,请不要中途切换。 以我个人的观点,我宁愿阅读一贯不正确的东西,也不愿阅读有时是正确的,有时不是的东西。 您始终可以编写脚本来一次性更改内容,或者最后阅读您的代码。

遵循标准很难 ! 将大括号放在与函数相同的行上,而不是在下面的行上非常容易,即使您以前习惯按回车键也是如此。 但是,当您需要考虑100条小规则时,整个过程就容易出错。 尽管我对遵循标准持强硬立场,但我对犯错也同样感到内gui。 归根结底,错误的缩进并不是不可挽回的罪过。 尽力遵守所有规则,您将及时了解所有内容。

WordPress编码标准

目前,WordPress有四个指南 ,每个使用的主要语言都有一个指南 :PHP,HTML,Javascript和CSS。 它们构成了“ 核心贡献者手册 ”这一更大知识体系的一部分。 经历所有过程将花费一些时间,因此我重点介绍了四种语言的片段,我经常看到人们在弄错。

PHP

PHP是WordPress的主要语言,并且是一种松散类型的语言,这使得它很容易进行监管。

支撑样式

起始括号应始终放在行尾。 相关语句应与上一个右括号放在同一行。 最好用一个代码示例来演示:

if ( condition ) {
	// Do Something
} elseif ( condition ) {
// Do Something
} else {
	// Do Something
}
大量使用空间

我不喜欢压缩代码(视力不好),所以我特别喜欢执行这一代码。 在逗号逻辑 运算符比较运算符字符串 运算符赋值运算符的两边, 如果ifelseifforforeachswitch语句之后放置空格。

说不应该在何处添加空格更容易! 唯一不应该添加空格的时间是在类型转换引用数组时

数组的键是变量 ,在这种情况下,请使用空格。 此示例应明确说明:

function my_function( $complete_array = null, $key_1 = 4, $key_2 = 'bar' ) {
	if ( null == $complete_array ) {
	        $final_array = $complete_array;
	} else {
	        $key_1 = (integer) $key_1;
	        $final_array[0] = 'this';
	        $final_array[ $key_1  ] = 'is';
	        $final_array[ $key_2 ] = 'an';
	        $final_array['last'] = 'example';
}
return $final_array;
}
命名约定

这可能很难适应,特别是如果您来自不同的环境。 简而言之:

  • 变量名全部小写 ,单词之间用下划线分隔
  • 类名应使用下划线分隔的大写单词 字母 缩写词应全部大写
  • 常数全部为大写 ,并带有下划线
  • 文件名全部小写 ,并用破折号分隔
尤达条件

以不同于您惯常的方式编写条件可以防止解析错误。 看起来有点怪异,但它是更好的代码。

if ( 'Daniel' === $name ) {
	echo 'Write article you will';
}
HTML

HTML没有太多与之关联的规则,我可以想出很多办法使事情更具模块化。 编写HTML时,您只需要知道以下五个规则:

  1. 您的代码必须根据W3C验证器进行验证
  2. 自闭合HTML标记必须在正斜杠前仅保留一个空格(这是我个人讨厌的一个空格,但这是W3C规范,而不仅仅是WordPress的讽刺意味)
  3. 属性和标签必须全部小写。 唯一的例外是当属性值供人类使用时,在这种情况下应自然键入。
  4. 所有属性都必须有一个值,并且必须用引号引起来(写<input disabled>不正确)
  5. 缩进应使用制表符实现,并应遵循逻辑结构。
CSS

CSS是另一种松散类型的语言,因此这里也有很多工作要做。 即便如此,这些标准对于编码人员来说还是很容易的。

选择器

选择器应具有必要的限定条件,可读性强,小写且用短划线隔开的单词,并且属性选择器应使用双引号。 这是一个简洁的示例:

input[type="text"],
input[type="password"],
.name-field {
    background: #f1f1f1;
}
财产令

这些标准认识到这里需要一些个人空间,因为它们没有为CSS规则规定特定的顺序。 他们说的是,你应该遵循的语义结构是有道理的。 按属性之间的关系对属性进行分组或按字母顺序对属性进行分组, 只是不要将它们随机写出来

造成随机性的最大原因是“哦,我还需要添加一个边距”,然后继续将其添加到底部。 花费额外的0.3秒,然后将规则添加到逻辑位置。

  • 显示
  • 定位
  • 箱型
  • 颜色和版式
  • 其他
.profile-modal {
    display: block;
    position:absolute;
    left:100px;
    top:90px;
    background: #ff9900;
    color: #fff;
}
值格式

这是我特别讨厌看到不一致之处的地方。 如果您不遵循准则,那总比有时在值之前看到一个空格要好。 有时使用速记,有时不使用; 有时使用0值上的单位,有时不使用等。

值格式化很复杂,但是通过实践自然可以实现 。 查看法典中有关格式化值的确切指南。

Java脚本

以我的经验,JavaScript最容易遍历整个地方。 虽然许多开发人员都知道大量的Javascript,但后来却逐渐学习HTML,CSS和PHP。 当您刚开始使用一种新语言时,您会犯更多的错误,并且如果这些错误不会导致致命的错误,它们可能会根深蒂固。

在许多情况下,标准都提到了线路限制或“如果线路不太长”。 这是指jQuery样式指南 ,该样式 对line施加了100个字符的限制 。 WordPress指南基于jQuery指南,因此最好也阅读一下。

分号

这是最简单的规则,但经常被忽略。 永远不要因为要使用代码而省略分号。 太草率了。

缩进

制表符应始终用于缩进。 即使整个文件的内容包含在一个文件中,您也应缩进闭包的内容。 我不知道为什么,但是即使在我未阅读标准之前,隐蔽的顶级闭包仍然困扰着我。

断线

断开长字符串时,请始终在操作符之后断开行, 不要让变量挂在上面 。 乍看之下,这很明显,行已断开,您并不仅仅是忘记了分号。

另外,如果条件很长,请将其分成多行并在其前面添加一个额外的选项卡。 这对我的眼睛看起来很奇怪,但是在状况和身体之间增加的分隔非常明显。

if ( firstCondition() && secondCondition() &&
	thirdCondition() ) {
	var html = 'This line consists of ' + n + 'words, so it should be broken down after ' +
	'an operator';
}
jQuery迭代

根据标准,jQuery迭代(jQuery.each())仅应在jQuery对象上使用。 您应使用basic forfor / inwhile循环在Javascript中迭代其他集合。

结论

有很多要注意和跟踪的地方,没有人可以一次性应用所有这些方法。 您应该使代码尽可能接近标准,并严格遵循它们。

在我看来, 一致性是最重要的规则 。 始终如一地执行错误操作比中途切换要好。 对于格式设置惯例尤其如此,因为它们不会影响代码的功能,并且在大多数情况下可以在以后轻松进行批量更改

您是否讨厌编码标准的内容,是否认为应该添加一些内容? 让我们在评论中知道!


翻译自: https://www.hongkiat.com/blog/wordpress-coding-standard/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值