Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# NekoTeam

项目文档存储
36 changes: 36 additions & 0 deletions e.g/Compare.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#pragma once
// 2021-11-5
// ������
// ���Ĵ��Ƚϣ�ͷ�ļ�only
#include"Stack.hpp"

/// <summary>
/// �Ƚϻ����ַ���
/// </summary>
/// <param name="data">�ַ���</param>
/// <returns>�Ƿ�Ϊ���Ĵ�</returns>
bool compare(char* data)
{
char* secData = data;
Stack_link Stack;
for (;*secData != '\0';)
{//Ѱ���ַ����м�λ��
Stack.stack_push(*data);
data = data + 1;
secData = secData + 2;
}

if (*data != *data - 1)
{//��Ϊ�������м��ַ�����
Stack.stack_pop();
}

for (; *data != '\0';)
{// �Ƚ�
if (*data != Stack.stack_pop())
return 0;
data++;
}

return 1;
}
135 changes: 135 additions & 0 deletions 代码规范_ver0.1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
/*****************************************************************************************************************************************
NekoTeam程序代码规范
编写时间:2021-11-23
版本:ver 0.1
说明:本规范使用C++语言作为基准编写并参考了腾讯C++编码规范,若对应语言无对应特性,请自行处理。
*****************************************************************************************************************************************/


1 目的
为保证本项目具有较统一的编码风格,以保证项目代码的易维护性和编码安全性,方便成员间交流,并且帮助成员学习普适性的,受广泛开发者所接受的代码规范。


2 适用范围
本规范适用于本项目下属所有代码,包括但不限于python,kotlin,java等。
注:本文仅为基本的代码规范,并不涉及对某种具体程序写法的约束


3 程序版式
3. 1 规则:程序块需采用缩进风格编写,缩进大小为四个空格。
说明:
若开发工具具备自动缩进功能,请将其配置缩进为四个空格。

3. 2 规则:缩进或者对齐只能使用空格键,不可使用制表键 (TAB键)。
说明:
空格键指ASCII码 '\0',TAB键指ASCII码'\t',若将开发工具的TAB键设置为替换成四个空格,则可以使用TAB键。
注:若混淆空格键和TAB键,在某些情形将产生意想不到的bug,如网页显示时。

3. 3 规则:相对独立的程序块之间、变量说明之后必须加空行。
说明:
如以下情形使用空行分开:
1) 函数之间应该用空行分开;
2) 逻辑片段之间应该用空行分开;
3) 每个类声明直接应该用空行分开。

3. 4 规则:较长的语句应分成多行书写(约大于80字符)。
说明:
分隔的规律如下:
1)长表达式在低优先级操作符处划分新行,操作符置于新行之首,划分出的新行应进行适当的缩进,通常相较上一行起始多一个TAP键(设置为四个空格)。
2)若函数或过程(如if, for, while)中的参数过长,需进行适当的划分。

3. 5 规则:不允许将多个语句写在一行中,一行中只有不多于一个逻辑行。
说明:
一行代码只做一件事,但可将一个语句适当缩进为多行具有逻辑的结构,以便阅读。

3. 6 规则:if, for, while 等逻辑控制语句独自占一行,且后续必须加范围限定的中括号 { }。
说明:
若无范围限定的中括号,应自行缩进以展现结构,建议每个中括号各独自占一行,前后无其他语句。

3. 7 规则:代码行之内应当留有适当的空格。
说明:
采用这种方式的目的是使代码更加清晰,便于他人阅读和修改。
具体如下:
1) 关键字之后要留空格。尤其是if、for、while等关键字应留有一个空格后再接左括号 '(',以突出关键字。
2) 函数名后不留空格,紧跟左括号 ')' 以与关键字取别。
3) 逗号 ','之后要留空格,如果分号 ';'不是一行的结束符号,也要留空格,如for (int i = 0; i < 10; ++i)。
4) 算术操作符,比较操作符,逻辑操作符,如加号 '+',等号 '=',等二元操作符前后应当加空格。
5) 一元操作符如 非 '!',自加 '++',等前后不加空格。
6) 如 '[]', '.', '->' 等操作符前后不加空格。
7) 上述未提到的操作符可根据经验自行判断缩进,但需保证代码结构清晰。


4 注释
4. 1 规则:源文件头部应添加注释,至少包含:生成日期,作者,模块目的/功能。
说明:
例如:(c++下的)下面这段注释比较详细,可不按其格式,形成自己的注释风格,但以上所述信息必须包含其中。
/************************************************************************
FileName: Test.cpp
Author: Version: Data:
Description: // 模块描述
Version: // 版本信息
Function List: // 主要函数及功能
1. ----------------
History: // 历史修改记录
<author> <time> <version> <data>
David 96/10/12 0.1 bulid this moudle
************************************************************************/

4. 2 规则:函数头部应添加注释,至少包含:函数的目的/功能,输入参数,输出参数,
返回值等。
说明:
例如:输出参数与返回值并不相同,可以在函数内部任意时刻输出到某一位置,但只能在函数结束才能有返回值。
/***********************************************************************
Description: // 函数功能、性能的描述。
Input: // 输入参数说明每个参数的
// 作用、取值说明和参数间关系。
Output: // 对输出参数的说明。
Return: // 函数返回值的说明。
Others: // 其他说明。
************************************************************************/

4. 4 规则:注释与代码应同步更新,并将不再有用的注释删除。
说明:
注释的内容应当清晰,简短,且应说明为什么这么做,而非正在做什么。

4. 5 规则:注释应与代码一样合排版整齐。
说明:
1) 注释应与所描述的代码相近,放在对应代码的上方或右方(单行代码的注释)。
2) 注释与所描述的代码之间不留空行,若放于上方时与其上面的代码用空行隔开。
3) 注释与所描述的代码具有同样的缩进格式,如两者头部应对齐。

5 命名
5. 1 规则:命名风格自始至终保持一致。
说明:
与项目的风格也应一致,但在个人的整块代码内部可有个人风格的变量命名,但暴露给外界的接口命名应与项目风格一致。

5. 2 规则:变量命名应使用具有实际意义的英文单词。
说明:
可以对单词进行缩写,但应避免使用引起误解的缩写,长单词的缩写可取单词的头几个字母。

5. 3 建议:推荐采用驼峰命名法对变量,函数,类进行命名。
说明:
变量名采用小驼峰命名法,类名,函数名采用大驼峰命名法。

5. 4 规则:常量、宏、模板采用全大写的命名方式,且每个单词间用下划线 '_'隔开。

5. 5 规则:禁止使用单个字符,如i,j,k进行命名。
说明:但作为局部循环变量时,可以使用。

5. 6 建议:尽量减少使用全局变量,宏。
说明:全局变量声明需在前加'g_',若语言无常变量功能,常量前需加'c_'。

5. 7 规则:指针和引用在使用后必须置空。
说明:经测试在当前模块结束后指针或引用占用内存释放的,可无须置空。


6 结语
若本规范有任何错误,疏漏或不同意的地方,可自行修改并添加日志,感谢阅读。

e.g.文件夹里的Compare.hpp是一简单的规范示例。

更新日志
/********************************************************************
<作者> <修改日期> <版本> <更新说明>
刘俊豪 2021-11-2 ver_0.1 初版编写
*********************************************************************/