02 约定
在参照PHP的规范,编写一段代码实现或程序的时候,“必须”被 理解成一定要要按照“必须”的所描述的规范来编写代码。相对的,“绝不能”可 以被理解为禁止的行为。
可能会出现的一种情况是,规范中并不存在的约束规范被违反了,并没有 关于这种情况“必须”或者“绝不能”的规范要求。对于这种规范中并没有提及 的情况,可以理解为“规范未定义”,或者被遗漏、疏忽掉的规范。这些情况 其实都是“没有被定义的规范”。
“允许”这个词在规范中表示“可以”,即使这块不按照规范来执行也是可以的, 也是被允许的。但是千万不要误解为违反这条规范是“应该”的,被鼓励的。
“严格遵守规范”的程序代码应该是只使用开发规范中描述的内容。严格的说, 对于那些规范中尚未提及、尚未定义或者补充定义的内容,程序中是不允许 出现的。
“符合标准的实现”首先必须严格遵守规范标准。同时为了既不违反规定,又 不修改原规范,会额外增加一些对标准规定的补充条款。
“符合规范的程序”就是一个可以接受的符合标准的实现。
一个符合标准的实现必要要定义一个文件,文件中写明所有实现定义的特征 和所有的补充条款。
一般情况下,语法部分后面就是对语法的约束部分,用来进一步限制语法。 在诊断出违反规范约束之后,符合标准的实现是允许程序继续执行的。在某些 情况下,需要在文档中明确表明如何继续后续操作的解决办法(举例来说,当 传递给一个函数的参数过少时,将要做如何处理。)这样的话,能够让推进规范审查 变得简单。当违反规范的时候,只要根据这些补充条款,就不需要让程序终止 执行了。
严格来说,在语法规范中包含一部分内容是没有存在必要的,说明性质的内容, “非规范”的内容。一些范例用来更加清晰的解释规范的描述,还有一些内容相关的 引用作为参考。注解和一些参与者添加的注解会提出一些建议性的问题,能够指导 后来的参与者和程序开发人员。在规范内容中还包括,说明的附录提供了内容的补充和 总结性质的说明内容。而且,所有没有被标记为说明的部分都是规范性的、标准的 内容。
对于被标记成“废弃”的部分。虽然对于当前的版本来说,这些内容都是正式的规范, 但将来的版本中不保证这种规范还会继续存在。通常情况下,它们是一些陈旧的习惯方式, 已经有新的方法取代它们,继续使用陈旧的方式是不被鼓励的。(这块的例子包括使用 括号({})为下表,还有使用旧式的构造函数名称)。