内容简介:代码风格,这是基本上每个写代码的人都会遇到的问题,怎么写?不同的代码风格总会被冠上不同的优缺点一次次的适应与修改,最终每个人会形成自己的码风我决定在此写出自己的码风,以此记录
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 个字母
- 如果单词比较短,那么直接使用原单词也是可以的
-
可以考虑采用
dis
sum
一类的前缀修饰 - 不会英文单词的时候,可以使用汉语拼音替代,但 仅允许 在竞赛考场上出现
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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Design in a Nutshell
Jennifer Niederst / O'Reilly Media, Inc. / 2006-02-21 / USD 34.99
Are you still designing web sites like it's 1999? If so, you're in for a surprise. Since the last edition of this book appeared five years ago, there has been a major climate change with regard to web......一起来看看 《Web Design in a Nutshell》 这本书的介绍吧!