内容简介:代码风格,这是基本上每个写代码的人都会遇到的问题,怎么写?不同的代码风格总会被冠上不同的优缺点一次次的适应与修改,最终每个人会形成自己的码风我决定在此写出自己的码风,以此记录
Code Style
代码风格,这是基本上每个写代码的人都会遇到的问题,怎么写?不同的代码风格总会被冠上不同的优缺点
一次次的适应与修改,最终每个人会形成自己的码风
我决定在此写出自己的码风,以此记录
Thanks
在我的码风形成过程中,以下 文章 / 文档 对作者本人造成了一定影响
在 未特殊说明
的情况下,本方法 同时
适用与 C/C++
HTML
CSS
PHP
Node.JS
1 缩进
使用 Tab
进行缩进,特殊情况允许使用 软 Tab(即空格),否则推荐制表符
推荐缩进宽度为 4
2 括号
若出现 小括号 / 中括号 / 尖括号 中间有套超过一层运算的,则应当在两边添加空格( HTML
除外)
大括号不换行
对于函数类调用,小括号后面的大括号应接一格
在大括号出现后一般立即换行,除非内部语句少于等于 1
大括号如果换行,内部必须有缩进
我们在这里视 HTML
标签为大括号
我们视 <?php ?>
标签为一组大括号
在 PHP 中,本文视引号作为一种运算
括号本身也可视作运算
Example:
inline int Min( int a, int b ) { return a < b? a: b; }
int f(int x) {
if( x == 1 || x == 2 )
return 1;
return f( x - 1 ) + f( x + 2 );
}
<p>Woshiluo's Code Style</p>
<div class="main">
<h1>Woshiluo's Code Style</h1>
</div>
3 运算符号
普通运算符应当在左右两层添加括号
问号表达式整体左右添加空格,中间的 ?
:
运算符仅在右边添加空格
逗号只在其后面添加空格
Example:
int f(int x) {
return a[ ( (x + 2 - 3) / 10 + 100 ) % mod ];
}
int gcd(int a, int b) { return b? gcd( b, a % b ): a; }
4 行长
每一行长度不应超过 70 – 80 字节,超过应当换行,对于函数换行,回车后添加一格缩进
int get_status( int id, int auth_id, int time, int last_time,
int add_time )
5 变量 / 函数 命名
两个原则
- 简洁易懂
- 不容易变量名重复
避免使用题目出现之外的单字母名称,注意,对于 $f(x),g(x)$ 一类名称也是允许使用单字母名称的,但应当尽力避免
注意 $i,j,k$ 应当尽力 只在循环中 使用
推荐的命名法则
- 不建议使用驼峰法
- 去除英文单词里的元音
- 取英文单词 前 3 / 5 个字母
- 如果单词比较短,那么直接使用原单词也是可以的
-
可以考虑采用
dissum一类的前缀修饰 - 不会英文单词的时候,可以使用汉语拼音替代,但 仅允许 在竞赛考场上出现
6 关于什么时候加大括号
在写程序的时候,不应当 省略
任何括号,写完时可以删除 只有一行
的 if
的括号,循环的括号依旧不允许
删除大括号后,缩进 不减少
Example:
if(flag)
ans *= 2;
for(int i = 1; i <= n; i++) {
ans += sum[i];
}
6 特别语法
6.1 C++ inline / register 关键字
inline
关键字仅可以在小于 10 行 ,不包含递归及循环的函数中使用,可以不使用
拒绝使用 register
6.2 引用头文件
若无顺序要求,应当以长度为第一关键字,字典序为第二关键字,引用头文件
对于 C/C++ 先引用 C ,然后 C++,最后是其他的
#include <cstdio> #include <cstring> #include <vector> #include <algorithm> #include "tree.h"
6.3 PHP Array 函数
建议 Array 函数使用如下换行方案
<?php
$a = array(
"a" => a;
)
?>
6.4 JavaScript 函数传递
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
7 End
一段优秀代码,应当是你半年后再次阅读,五分钟后就能明白这段代码在干什么
本文可能对竞赛场上不是那么的友好,可是算法竞赛上,通常思考的时间越大于代码的时间,且更加优良的码风可以减少调试难度,减少出错概率,这是一个天平,需要我们自己在一次次考试中找到平衡点
而在一般的代码中,特别是工程代码,优良的码风不仅仅对自己好,也对项目及其维护人员友善
所以代码风格并不仅仅是一种美观的产物,而是一种有实际意义,有效率的事件
我们值得为代码风格消耗时间
以上所述就是小编给大家介绍的《Woshiluo’s Code Style》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
莱昂氏UNIX源代码分析
(澳)John Lions / 尤晋元 / 机械工业出版社 / 2000-7-1 / 49.00
本书由上、下两篇组成。上篇为UNIX版本6的源代码,下篇是莱昂先生对UNIX操作系统版本6源代码的详细分析。本书语言简洁、透彻,曾作为未公开出版物广泛流传了二十多年,是一部杰出经典之作。本书适合UNIX操作系统编程人员、大专院校师生学习参考使用。一起来看看 《莱昂氏UNIX源代码分析》 这本书的介绍吧!