phpBB 编码标准规范

以前发过,今天又校对了一下,也当是自己又重新温习了一遍,又有新的感觉。
不愧是久负盛名的开源项目,编码规范简单精练,切中要害。
希望能对大家有所帮助,欢迎交流看法。 

phpBB 编码标准规范

如果您对原手册内容有注解或建议,请发电子邮件至 nate@phpbb.com ;
如果您对本文翻译有什么意见或建议,请联系QQ78045595,或发电子邮件至gaogan at gmail dot com.

编辑器设定

制表符 vs 空格:为了此事尽可能地简单,我们使用制表符,不用空格。 你可以随便设定编辑器使用多少空格显示制表符,但是必须保证当你保存文件时,它保存的是制表符而不是空格。 这样,我们每个人都可以让代码以我们喜欢的方式显示,同时不破坏实际文件的布局。

换行: 确保编辑器将文件保存为 Unix 格式。这意味着以换行符终止一行,而不是在 Win32 里那样用一个 CR/LF 对,也不是 Mac 所用的某种方式。任何规范的 Win32 编辑器应该做到这点,但这并不见得总是默认的。你需要熟悉你的编辑器。如果你需要有关使用 Windows 文本编辑器的建议,应该去咨询它的开发者。他们中有些人在 Win32 中做编辑工作。

命名约定

在我们的命名约定中,不会使用任何形式的匈牙利命名。我们很多人相信,匈牙利命名是导致代码混乱的一种主要手法。

变量名称:变量名应当全部小写,并且词语之间以单个下划线分隔。

例如: $current_user 是正确的, 但是 $currentuser 和 $currentUser 就不正确。

名称应当是描述性的,并且简明。我们自然不希望使用冗长的句子作为变量名,但是多输入几个字符总好于疑惑于某个变量到底是干什么用的。

循环计数器:允许使用一个单字符变量名的唯一情形是当它作为一个循环计数器的时候。在这种情况下,外层循环的计数器应当始终是 $i。如果有一个循环处于这个循环的内部,它的计数器应当是 $j,进而是 $k,等等。如果循环的计数器是一个已经存在并且名字有意义的变量,本规范并不适用。

例如:
 

1    for ($i = 0; $i < $outer_size; $i++)  
2    { 
3       for ($j = 0; $j < $inner_size; $j++)  
4       { 
5          foo($i, $j); 
6       } 
7    }
    view plain | print | copy to clipboard | ?

 

函数名称: 函数也应该描述性地命名。这里我们并非在用 C 编程,我们不希望写出诸如“stristr()”此类的函数来。同上,使用单词间用单下划线分隔的小写名称。函数名称中某处最好有一个动词。较好的函数名 称如print_login_status(), get_user_data(),等等。

函数参数:参数遵循和变量名字相同的约定。我们不希望一堆这样的函数:do_stuff($a, $b, $c)。在大部分情况下,我们希望仅仅看看函数的声明,就知道怎样使用它。

总结: 这里的基本哲学是不要为了偷懒而伤害了代码的清晰。但是,必须由一些常识来掌握这种平衡;例如, print_login_status_for_a_given_user() 做得就过火了——这个函数命名为 print_user_login_status() 更好些, 或只是 print_login_status()。

代码布局

新建文件的标准头部:这里是一个头部的模版,它应当包含在每个 phpBB 文件开始
 

1    /***************************************************************************
2                   &nb

时间: 2024-10-13 15:49:11

phpBB 编码标准规范的相关文章

介绍几种常见通讯协议中与安全控制相关的标准规范

本文首先介绍了几种常见通讯协议中与安全控制相关的标准规范,以便读者理解 Message Broker 安全管理器的底层工作机制:然后介绍了 Message Broker 安全管理器的功能,如何通过创建安全概要文件来定制化安全控制选项,以及如何为特定消息流启用不同的安全设置.在文章的最后,作者还根据以往的项目经验,提到在实际应用中应当了解和注意的几个事项. 传输协议及安全控制 WebSphere Message Broker(简称 Message Broker)作为企业级的整合中间件和服务总线,提

Unicode字符编码标准

1. 编码知识  1.1 文本和字符  在计算机程序中或者数据文件里,文本(text)是作为数字序列存储的.序列中的数字是具有不同大小.取值和解释的整数.如何解释这些整数是由字符集(character set).编码(encoding)决定的.  文本主要是由字符(character)组成.在格式文本(fancy text, or rich text)中包括显示属性,如颜色.斜体字.上标等,但仍然是以字符组成的纯文本(plain text)为基础的.有时,格式文本与纯文本之间的区别很复杂,依赖于

《Java安全编码标准》一导读

前 言 在Java编程语言中,关键的安全编码要素是采用良好的文档和强制的编码规范.本书提供了在Java语言中的一系列安全编码规则.这些规则的目标是消除不安全的编码实践,因为这些不安全的因素会导致可利用的漏洞.如果应用这些安全编码标准,可以帮助设计出安全的.可靠的.健壮的.有弹性的.可用性和可维护性高的高质量系统,并且这些安全编码规范还可作为评估源代码质量特性的一个指标(不管使用的是手动的还是自动化的过程).对于使用Java编程语言开发的软件系统,这个编码规范具有广泛的影响. 目 录 第1章 概述

数据挖掘标准规范之CRISP-DM基础

一.前言 每每提到数据挖掘,总有些人上来就是ETL.是算法.是数学模型,作为搞工程实施的我而言,很是头疼.其实作为数据挖掘的而言,算法只是其实现手段.是工具和实现手段而已,我们不是在创造算法(国外职业搞研究的除外),我们是在使用算法而已,换句话说我们是算法的工程化实践者.数据挖掘非今日之物,大数据挖掘也不是一个孤立的概念,其实质还是采用传统的数据挖掘的方法,只是其实现工具发生了变化而已,本质的东西还在.引入发布近20年前的CRISP-DM数据挖掘标准规范模型,供大家共享,希望能有人喜欢. 二.框

T-SQL 编码标准【转帖】

可能让人觉得很奇怪,但好像的确没有什么"正式的"T-SQL 编码标准.早在 1999 年末的时候,我惊喜地发现 John Hindmarsh 提出的 SQL Server 7.0 标准,我在 2000 年 2 月的社论中对他的某些建议进行了总结.(2000 年 2 月以及本月的"下载"中都包括了 John 原来的标准.)后来,Ron Talmage 撰写了一系列专栏文章,提出了他对各种"最佳方法"的建议,当然,SQL Server 小组也已正式发

《Java安全编码标准》一1.11 小结

1.11 小结 尽管作为一种相对安全的语言,Java语言及其类库还是在很大程度上存在着一些编程问题,从而造成系统安全漏洞.如果假设Java本身提供的功能特性可以减少一般的软件问题,并足够Java程序安全得不需要进行进一步检测,那么我们就大错特错了.因为任何在软件实现中出现的缺陷都会产生严重的安全影响,绷紧安全性这根弦是非常关键的,这样,当我们进行系统开发和部署时,就可以避免出现软件的安全漏洞问题.为了减少因为编程错误所带来的安全漏洞的可能性,Java开发人员应当遵循本编码标准中的安全编码规则,并

W3C的标准规范是怎样制定出来的?

W3C的标准规范是怎么制定出来的?浏览器厂商是收到来自w3c的规范标准才结合自己的浏览器进行开发更新以支持新特性吗?一直很好奇,搜集了一些资料,主要参考了W3C CSS工作组特邀专家Lea Verou写的<CSS揭秘>和W3C的官方介绍. 一. W3C W3C,一直被大众认为是Web标准的制定者,我们遇到的很多问题,大部分都能通过研究W3C官网上发布的文档解决(官方文档也是最好的学习资料,虽然有些地方难以理解,但确是原汁原味和权威的).但据Verou介绍, W3C扮演的只是一个论坛的角色: W

我国将争夺5G通信编码标准主导地位

中国科技企业华为.中兴等推出的Polar码已经获eMBB控制信道标准,以后还将在mMTC.uRLLC等其他场景上展开竞争. 美国高通公司代表在介绍5G技术(原引图:第三届互联网大会) Polar码的意义不在技术的本身之争,在于5G标准产业链主导权的争夺战,及背后巨额专利费的争夺.据3GPP规划到2018年5G第一版技术标准将要确定,到2020年全面商用,2017年有望迎来5G的投资机会,未来可以沿着这四个方向进行布局,光通信模块.主设备.小基站.射频天线四个大板块. 像我国支持Polar码的华为

5G行业深度报告之一:中国主推技术成为5G通信编码标准

华为.中兴等中国企业主推的Polar码获eMBB控制信道标准,后续还将在mMTC.uRLLC等其他应用场景上展开标准争夺.Polar码事件的意义不在于技术本身之争,其核心在于5G标准及产业链主导权的争夺,以及背后巨额专利费的博弈.根据3GPP规划,2018年5G第一版技术标准确定,2020年开始全面商用.结合无线通信板块的投资时钟,2017年有望迎来5G的主题性投资机会,我们看好主设备.光通信/模块.射频天线.小基站四大板块,未来可以沿着这四个方向进行布局. Polar码的意义不在于技术本身之争