目录

13.1. php 文件
13.1.1. 格式与 编码13.1.2. 循环嵌套13.1.3. 取出行尾的空格以及多余的换行符13.1.4. php 标签13.1.5. 头部注释
13.2. String13.3. Database
13.3.1. 结果集使用注意事项13.3.2. 索引13.3.3. 缓存
https://code.google.com/p/google-styleguide/
http://lxr.linux.no/linux/Documentation/CodingStyle
http://perldoc.perl.org/perlstyle.html
http://www.gnu.org/prep/standards/

13.1. php 文件

13.1.1. 格式与 编码

使用 UNIX 风格换行, 请在你的编辑器内调整

UNIX (LF或"\n")
MAC OS (CR 或"\r")
Windows CRLF \r\n

源码文件使用 UTF-8

有些IDE环境 UTF-8 BOM

13.1.2. 循环嵌套

if, while, for, foreach, do ... loop, switch... 等的嵌套必须小于等于3层

如下面的例子,可读性极差。

if (xxx){if (xxx){if(xxx){if(xxx){if(xxx){}}}if(xxx){if(xxx){}}}if (xxx){if(xxx){if(xxx){}}if(xxx){if(xxx){}}}
}

加以改造

func aaa(p){if(p){if(xxx){}}
}
func bbb(b){if(b){if(xxx){if(xxx){}}}
}if(xxx){aaa(xxx)
}
if(b){bbb(b)
}           

13.1.3. 取出行尾的空格以及多余的换行符

一个空格占用一个字节,换行符Window是两个字节\r\n, Unix与Mac占用一个字节

13.1.4. php 标签

禁止这样使用

<?
...
?>

正确的使用方法

<?php
...or<?php
...
?>

13.1.5. 头部注释

<?php
/*** Project Name** @author     $Author: netkiller $* @copyright  Copyright (c) 2012 Company* @version    $Id: chapter.coding.xml 584 2013-05-15 05:13:17Z netkiller $*/<?php
/*** Project Name** @author     $Author: netkiller $* @license    GNU General Public License 2.0* @version    $Id: chapter.coding.xml 584 2013-05-15 05:13:17Z netkiller $*/

Please enable JavaScript to view the &lt;a href="http://disqus.com/?ref_noscript"&gt;comments powered by Disqus.&lt;/a&gt;comments powered by Disqus

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

第 13 章 编码风格相关推荐

  1. 《利用Python进行数据分析·第2版》第13章 Python建模库介绍

    第1章 准备工作 第2章 Python语法基础,IPython和Jupyter 第3章 Python的数据结构.函数和文件 第4章 NumPy基础:数组和矢量计算 第5章 pandas入门 第6章 数 ...

  2. java核心技术卷I 第1-3章 笔记

    java核心技术卷I 第1-3章 本书将详细介绍下列内容: ● 面向对象程序设计 ● 反射与代理 ● 接口与内部类 ● 异常处理 ● 泛型程序设计 ● 集合框架 ● 事件监听器模型 ● 使用Swing ...

  3. UML参考手册 第三部分  参 考 资 料 第13章 术 语 大 全 二

    UML参考手册     第三部分 参 考 资 料   第13章 术 语 大 全 25. analysis(分析)分析是系统捕捉需求和问题的阶段.分析着重于做什么,设计着重于如何去做.在一个迭代过程中, ...

  4. Squid第13章 日志文件

    原贴: 第13章 日志文件 13.1 cache.log 13.1.1 debug级别 13.1.2 转发cache.log消息到系统日志 13.1.3 dump cache.log消息到终端 13. ...

  5. 在vscode中统一vue编码风格的方法

    vetur 很多人知道,但在 vscode 下没办法格式化 .vue 里的 html, js 很是头疼,代码风格无法统一. 所以不少人直接拆分开,然后在 .vue 中引入,虽然方法很好,但这有违 .v ...

  6. JavaScript编码风格指南

    首次发表在个人博客 前言 程序语言的编码风格指南对于一个长期维护的软件而言是非常重要的;好的编程风格有助于写出质量更高.错误更少.更易于 维护的程序. 团队合作需要制定一些代码规范还有利用一些工具来强 ...

  7. 【PHP开发规范】继承与扩展:PSR-2 编码风格规范

    之前的一篇文章是对PSR-1的基本介绍 接下来是PSR-2 编码风格规范,它是 PSR-1 基本代码规范的继承与扩展. PSR-1 和PSR-2是PHP开发中基本的编码规范,大家其实都可以参考学习下, ...

  8. Google C++ 编码风格精简

    Google C++ 编码风格精简 头文件: 1.头文件防多重定义define格式:<PROJECT>_<PATH>_<FILE>_H_ 2.能使用前置声明尽量不用 ...

  9. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)...

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

最新文章

  1. Docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket解决方案
  2. linux查找最近访问的文件,教您在Linux系统中查找最近修改的文件/文件夹
  3. Floodlight 处理交换机增加/移除过程
  4. 一个简单的登录页面,效果不错哦!
  5. 分布式系统——向zabbix中添加监控项, 以nginx和mysql为例
  6. PHP stripos strpos,strpos()和stripos()函数的区别
  7. 什么是单页应用(转)
  8. 【工作总结】银行的等级架构
  9. 1.文档数据非结构化
  10. 关于小微商户反欺诈监控指标的内容参考
  11. MySQL8.0.12 EXPLAIN EXTENDED 报错问题
  12. 深入浅出SharePoint2010——请假系统无代码篇之工作流设计
  13. studio one 3 机架声道设置_雅马哈声卡的设置和使用方法
  14. Kali [BeEF-XSS]XSS利用工具
  15. 浅谈微信卡券功能开发(2)
  16. verilog实现设计3*8译码器
  17. 图像处理技术-基本运算
  18. Python爬虫练习:去爬某平台音乐
  19. 「大数据的关键思考系列」15:阿里巴巴的大数据实践(1)
  20. JS生成浏览器唯一标识解决方案

热门文章

  1. java队列怎么实现线程_Java中利用线程和队列实现入库操作
  2. app息屏后ajax请求不执行_息屏时钟app下载-息屏时钟软件下载v1.0 安卓版
  3. java中的foreach_java中的foreach语句
  4. linux查看日志的几种命令,Linux查看日志三种命令(转载)
  5. FPGA之道(20)FPGA设计的上板调试与项目总结
  6. HDLBits 系列(41)根据仿真波形来设计电路之组合逻辑
  7. C/C++操作符的优先级和结合性问题浅析
  8. 精通GridView(C#) (二)
  9. Python解析命令行读取参数 -- argparse模块
  10. IOS TableView实现省市联动