Nginx代码风格图示
Nginx代码风格图示 (100%)
一、基本原则
K&R编码风格(偏BSD子类)。
每行不能超过80列。
不用TAB对齐,用空格。
默认对齐单元是4个空格。
除宏定义外,字母均为小写,单词间用下划线_间隔。
使用C方式的注释,不得使用//形式注释。
中缀运算符的前后须空一格,如3 + 2以及a > 3。
逗号后须空一格,如foo(a, b, c);
二、风格图示
1、 if/while/for/switch语句的左花括号和关键字在同一行上,和括号之间空一个空格。
2、 else关键字和两个花括号在同一行上。
3、 文件开始的注释空一行。
4、 较为完整的代码块间的距离为空两行。如函数声明、函数定义之间等。
5、 函数声明或定义若一行显示不下,则函数原型空4个空格。
6、 结构体数组的花括号和内容之间空一个空格。
7、 结构体数组的左花括号放在同一行上。
8、 较大的结构体数组元素最开始空一行。
9、 元素内容上下对齐。
10、注释上下对齐。
11、函数调用折行时,参数上下对齐。
12、函数定义时,类型单独一行。
13、变量声明的类型上下排列按照从短到长的顺序。注意,最下面的变量的类型和名称间的空格为2-3个。一般情况下为2个,这是Nginx中最小的变量声明中类型和名称的距离。
14、变量名称上下对齐——字母对齐,不包括指针的*号。
15、结构体内变量上下对齐(字母,不包括指针的的*号)。
16、单行注释格式为/* something */
17、多行注释的格式为:
/*
* something
*/
18、函数定义的左花括号独占一行。
19、switch语句中,switch和case关键字上下对齐。
20、当条件表达式过长需要折行时,关系运算符须位于下一行的行首,并与上一行的条件表达式的第一个字符对齐,同时右花括号须位于单独的一行,并与if/while等关键字对齐。
21、 else语句之前须空出一行。
22、在函数中,相同类型的变量声明放在一行上。
via:http://tengine.taobao.org/book/appendix_a.html
Nginx代码风格图示的更多相关文章
- Python 代码风格
1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要. 请记住可读性标准的目标是提升可读性.这些规则存在的目的就是为了帮助人读写代码,而不是相反. ...
- .NET 项目代码风格要求
原文:http://kb.cnblogs.com/page/179593/ 项目代码风格要求 PDF版下载:项目代码风格要求V1.0.pdf 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份&l ...
- AngularJS之代码风格36条建议【一】(九)
前言 其实在新学一门知识时,我们应该注意下怎么书写代码更加规范,从开始就注意养成一个良好的习惯无论是对于bug的查找还是走人后别人熟悉代码都是非常好的,利人利己的事情何乐而不为呢,关于AngularJ ...
- Visual Studio Code 使用 ESLint 增强代码风格检查
前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint.除了可以 ...
- plain framework 1 参考手册 入门指引之 代码风格
代码风格 介绍 介绍 框架自身采用了google的C++风格,作者也鼓励在你的应用中使用此风格,有关此风格你可以查阅相关资料了解.下面是一段plain framework中的代码,以便大家参考: 你可 ...
- 对 JimmyZhang 老师的文章《项目代码风格要求》的一些个人观点
Jimmy Zhang 老师是博客园中我最佩服的人之一,今天看了他的文章<项目代码风格要求>觉得大部分地方我都很认同,工作中也是强迫自己也要按照规范来编程.下面是我的一些个人观点,想贴出来 ...
- python代码风格-PEP8
转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...
- Google HTML/CSS代码风格指南(中文版)
原文链接:http://wncbl.cn/posts/c8e10815/ 看一下没什么印象,那就写一遍吧. 背景 本文档定义了HTML/CSS的编写格式和风格规则.它旨在提高合作和代码质量,并使其支持 ...
- .Net 项目代码风格要求小结
代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. ...
随机推荐
- SPLAY or SPALY ?
写在前面: 由我们可爱的Daniel Sleator和Robert Tarjan提出的一种数据结构,平衡树的一种,本质是二叉树. 至于到底是splay还是spaly,我认为可能splay更对一些 毕竟 ...
- 01-Linux命令基础-第01天(命令基础,软件安装与卸载、磁盘管理)
01- Linux初步 最早一直是单道程序设计模型的操作系统 69年贝尔实验室决定开发多道程序设计模型的操作系统 Multics计划 (失败了) x86 IA(Intel Architecture ...
- SpringBoot背景
1.SpringBoot的产生背景:随着spring日益发展,丰富的框架和组件大大简化了java项目开发过程,经过多年的实践,得到了很多人的认可,但是Spring的严重依赖XML配置文件,严重导致项目 ...
- 爬虫系列(十) 用requests和xpath爬取豆瓣电影
这篇文章我们将使用 requests 和 xpath 爬取豆瓣电影 Top250,下面先贴上最终的效果图: 1.网页分析 (1)分析 URL 规律 我们首先使用 Chrome 浏览器打开 豆瓣电影 T ...
- Bootstrap关于表单(一)
1.基础表单 表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等. 在Bootstrap框架中,通过定制了一个类名`form-control`,也就是说,如果这几个元 ...
- lunix下的redis数据库操作——list列表
首先,需要先了解栈和队列的概念: 栈 先进后出:类比弹夹上的子弹,最后上进弹夹的子弹第一个使用,砌墙的板砖,后来居上 队列 先进先出:排队打饭,先到先得 创建列表: 左添加:(栈的形式添加) lp ...
- (14)Spring Boot定时任务的使用【从零开始学Spring Boot】
本文介绍在 Spring Boot 中如何使用定时任务,使用非常简单,就不做过多说明了. com.kfit.base.scheduling.SchedulingConfig: package com. ...
- Disruptor使用
Disruptor作者,介绍Disruptor能每秒处理600万订单.这是一个可怕的数字. disruptor之所以那么快,是因为内部采用环形队列和无锁设计.使用cas来进行并发控制.通过获取可用下标 ...
- ZOJ 3209
精确覆盖 #include <iostream> #include <cstdio> #include <cstring> #include <algorit ...
- Hardware/Firmware/Software的区别
Hardware: 硬件Firmware: 固化到硬件中的程序Software: 一般指驱动和应用软件,不用固化到硬件中的 ************************************** ...