PHP 高级程序设计(1) - 编码规范及文档编写

PHP 高级程序设计学习笔记20140612

软件开发中的一个重要环节就是文档编写。他可以帮助未来的程序维护人员和使用者理解你在开发时的思路。也便于日后重新查看代码时不至于无从下手。文档还有一个重要的作用,在不用了解要访问对象的细节情况下也能很好的在对象之间进行交互。文档的编写有一些成熟的行业标准格式,遵守这些行业标准将有助于创建易于阅读的代表,并使自动生成手册成为可能。

编码规范

编码规范可能很多开发人员都有各自的观点也意见,且大家不尽相同。其实只要团队成员之间达成一致,遵循同一个标准就好。

PHP社区百花齐放,拥有大量的函数库、框架和组件。PHP开发者通常会在自己的项目中使用若干个外部库,因而PHP代码遵循或尽量接近
同一个代码风格就非常重要,可以让开发者方便地把多个代码库集成在自己的项目中。框架互操作组(即PHP标准组)发布了一系列推荐风格。其中有部分是关于代码风格的,即PSR-0,PSR-1,PSR-2和PSR-4。通常情况下,你的PHP代码应该遵循其中一项或多项标准,从而其他开发者可以方便地阅读和使用你的代码。这些标准都是在前一个标准
上附加新的规则,所以使用PSR-1就同时要求遵循PSR-0,但可以不遵循PSR-2。

文档编写 - 注释的类型

PHP 中常用的三种注释方法,注释是增加程序可读性、可维护性的一种方法,而不是唯一方法。可读性和可维护性主要还是在代码命名,项目组织处提高。


//这是一个单行注释类型

/*
这是一个多行注释类型
第二行注释
*/

/**
*
* 这种形式的注释被称为 文档注释
*/

第一种注释可以说是给人看的,一般用来比较简短的注释。第二种,则用在需要大量注释的代码中。第三种注释被称为文档注释,可以被及其解释,且能以固定的格式放到手册中去。注释的种类主要包括:类的注释,属性注释、方法注释、变量注释以及关键算法、重要代码实现等。所有的这些部分编织在一起,使得人们在以后的时间里能够准确的知道你干了什么,为什么这么做。

文档编写 - 文法解析

从编程语言到可执行代码的转换过程叫做文法解析。当文法解析器遇到一个正常的注释时,它会识别它并忽略它,并且清理掉注释中的数据,因此一般的注释是无法迁入元数据的。

元数据

元数据的定义是 data about data
。是一种广泛存在的现象,在许多领域有具体的定义和应用。其被定义为:描述数据的数据,对数据及信息资源的描述性信息。PHP包含了大多数编程元素的元数据。然而,你可能需要嵌入更多的元数据,因为元数据在自动生成文档方面非常有用。这种功能可以通过文档注释的解析来模拟。如果创建遵循特定格式的文档注释,解析器可以将注释自动转换称为有意义的文档。

PHPDoc

PHPDoc
是用于维护PHP文档的解决方案。其为文档注释定一辆一种结构,允许解析器以一致的方式解析它们。有了PHPDoc就可以从嵌入文档中创建手册了。
和所有文档注释一样,PHPDoc 要求必须以/**注释声明开始。PHPDoc 的特殊之处在于标签。
标签由@开始加上一个预定义的标示符表示。关于PHPDoc的更多信息请参考 http://www.phpdoc.org/docs/latest/index.html

PHPDoc 规范的注释

注释块必须以“/**”开始,以“*/”结束。

开始注释和结束之间的每行都以星号(*)开始。

标签必须以 at-sign (@)
开头在新行书写,接着写标

有几个标签支持或需要用类型来表示包含在相关元素的值的类型。这方面的一个例子是“param标记,以确定一个方法或函数参数的类型。

Here is a full listing:

string:A piece of text of an unspecified
length.
int or integer:A whole number that may be either
positive or negative.
float:A real, or decimal, number that
may be either positive or negative.
bool or boolean:A
variable that can only contain the state ‘true’ or
‘false’.
array:A collection of variables of unknown type. It
is possible to specify the types of array members, see the chapter on arrays for
more information.
resource:A file handler or other system
resource as described in the PHP manual.
null:The value
contained, or returned, is literally null. This type is not to be confused with
void, which is the total absence of a variable or value (usually used with the
@return tag).
callable:A function or method that can be
passed by a variable, see the PHP manual for more information on callables.

下面列出PHPDoc的全部标签:





































@api @author @category @copyright @deprecated @example
@filesource @global @ignore @internal @license @link
@method @package @param @property @property-read @property-write
@return @see @since @source @subpackage @throws
@todo @uses @var @version    

PHP 高级程序设计(1) - 编码规范及文档编写,布布扣,bubuko.com

时间: 2024-12-28 15:36:05

PHP 高级程序设计(1) - 编码规范及文档编写的相关文章

自己总结的C#编码规范--7.文档下载 & 总结

今天终于把这一系列的编码规范写完了,这个编码规范算上前面阅读相关书籍,前前后后总共花了一个月的时间,也算是个人的呕心沥血之作了. 本来也没打算把这个系列写的这么长,但是在写的过程中自己搜了相关的网上资料,后来发现网上的c#代码规范很少,而且仅有的几份都很泛泛,没有实际的内容.所以自己就阅读了相关的书籍,自己结合自己几年来的开发经验写了这份文档.希望可以帮助那些苦于没有编码规范的程序员,也希望所有新程序员能在职业生涯的初期就有一个良好的编码习惯,这对于以后个人的成长有至关重要的作用. 在写这个规范

自己总结的C#编码规范--7.文档下载及总结

今天终于把这一系列的编码规范写完了,这个编码规范算上前面阅读相关书籍,前前后后总共花了一个月的时间,也算是个人的呕心沥血之作了. 本来也没打算把这个系列写的这么长,但是在写的过程中自己搜了相关的网上资料,后来发现网上的c#代码规范很少,而且仅有的几份都很泛泛,没有实际的内容.所以自己就阅读了相关的书籍,自己结合自己几年来的开发经验写了这份文档.希望可以帮助那些苦于没有编码规范的程序员,也希望所有新程序员能在职业生涯的初期就有一个良好的编码习惯,这对于以后个人的成长有至关重要的作用. 在写这个规范

iOS编码规范(文档)

文件命名规范: 1. 项目统一使用类前缀ZY. 2. 分类命名+后面统一使用ZYExtension,例:NSDictionary+ZYExtension.h,常用分类定义在内部并写好文档注释.如果功能性分类内部方法较多可以考虑按功能命名. 3. model文件可按服务器接口名或字段名命名,view.viewModel和controller文件可按功能命名. 4. 切图命名:home_menu_chat,->模块_功能_具体名字,切图命名很重要,这点可与美术沟通,让他们直接命名好再给我们,可以大大

蒟蒻的代码规范与文档编写规范

代码规范 代码每行不得超过 80 个字符: 代码不分块.连续编写,且每一个模块不允许超过 100 行: 双目运算符运算对象与运算符之间一定要分别打一个空格,单目运算符与运算对象之间不打空格: 禁止使用 Tab 缩进,使用 2 空格缩进代码. 宏定义时没有缩进. 基本使用 Java 代码风格,如果在 for.if 后只有一两个语句,尽量不使用大括号包围,如果一定要使用大括号,则尽量压行书写. 模块化的代码,提倡代码宽而短,不提倡瘦长的代码风格. 没有通用的头文件,随用随加. 尽量开局部变量,减少全

数据分析临时需求处理规范及文档管理

ps: 转自2014-11-04  数据海洋                       BI临时需求处理规范及文档管理内容一.目的规范BI处理的临时需求.便于部门同事了解业务以及借鉴. 二.临时需求的定义由业务部门向BI提出的一次性数据需求.主要用亍解决业务方某个点的问题. 三.文档的内容在临时需求处理完成后,完成以下内容,放入到共享文件夹中. 各个内容项说明需求目的:这个需求要解决业务方什么问题需求内容:指给出数据字段.规则.需求提交人:由业务部门谁向BI提交的该需求数据使用人:业务部门谁是

将Html文档整理为规范XML文档

有多种方式可以在.NET 平台进行HTML文件解析.数据提取,其中最简单.稳妥的办法是先使用工具将Html文档整理成XML文档,再通过XML Dom模型或XPath灵活地进行数据处理.SGML便是一个Html文档整理工具类库: Microsoft的XML大师Chris Lovett专门开发了一个SGML解析器,叫做SgmlReader,它可以解析HTML文件,甚至将它们转换成一个格式规范的结构. SgmlReader派生于XmlReader,这就是说,你可以像运用诸如XmlTextReader这

从零开始编写自己的C#框架(4)——文档编写说明

原文:从零开始编写自己的C#框架(4)--文档编写说明 在写本系列的过程中,了解得越多越不知道从哪里做为切入点来写,几乎每个知识点展开来说都可以写成一本书.而自己在写作与文档编写方面来说,还是一个初鸟级别,所以只能从大方面说说,在本框架开发所需的范围内来讲述相关要用到的知识点,至于要更深入的去了解,请大家观看其他大牛的博客或购买书籍来学习. 为了加快进度,会对目录进行修改,将一些知识点合并或在后面使用的章节再进行描述. 谢谢大家的支持,如果您觉得本文对您有所帮助,请帮忙点击支持或发表评论. 在开

第一次文档编写总结(机房收费系统)

从图中可以看出编写文档的顺序,从可行性研究报告到开发进度月报构成了机房收费系统的整体文档,贯穿了软件工程的整个生命周期. 第一次机房收费系统和软工视频的完成是编写文档的依据和基础.起初,是一种无从下手的感觉.首先我们应该清楚文档是指导我们开发的,是在代码开发之前写的,而不是开发之后写的.有了学生信息管理系统的基础,我们第一次机房收费系统只是尝试着去写代码完成要求的功能,而不是一次正规的开发.人力物力财力都没有系统正规地去考虑.开发前的分析设计.开发中的细节和开发后的维护我们都没有涉及到.因此,编

如何根据需求分析文档编写测试用例

从拿到需求文档不要立马开始着手写测试用例,需要仔细推敲整理需求,画出系统级.模块内流程图,并找出各种测试点,等对需求进行了头脑风暴般的整理之后,此时已对测试系统的功能很清楚了, 再着手开始写测试用例. 那么编写测试用例的总体思路是什么呢? 1.整理分析需求文档 仔细将需求文档阅读一遍,记录不明白的地方及关键测试点,简单画出总体流程图. 然后再来一遍,仔细分析各个模块的功能,画出模块内流程图,找出所有功能,并列出主要测试点 2.编写用例 按照不同的业务规则可将测试用例分为四部分: 场景用例.系统用