当前位置: 首页 > news >正文

week1 homework

C语言代码规范

参考了大公司的标准
1、程序采用缩进风格,每层缩进使用一个制表位(TAB)
2、源程序使用英文书写,尽量不含有中文。
3、左花括号要另起一行,不能跟在上一行的行末;
4、一个变量定义占一行,一个语句占一行;
5、对独立的程序块之间、变量说明之后必须加空行;
6、运算符两侧留空格;
7、在+、-、*、/、!=等运算符的两侧应用空格隔开
例: 正确:a += b; 错误:a+=b;
代码格式
1、以一个for循环为例:
for(int i = 0; i < 10; i++){
;
}
2、源程序基本上用英语,排除输出的提示语言!
3、代码块的注释都写在代码的上面
4、换行是有可能被忽略的一种方式,方法间要换行,而同一个方法里不同的逻辑块也要换行。
一方面让代码的逻辑更加清晰,一方面也会督促你想清楚逻辑甚至锻炼自己的思维更加具有逻辑性。
5、如果一行代码过长,阅读的时候就需要拖动滚动条才能看全,是不是很不能忍受?
所以单行代码最好可以在一屏里显示全,如果过长就需换行。
6、连续多行赋值代码,保持“=”整齐
命名规范
1、变量的命名:帕斯卡命名法

定义变量时,名字要有意义。

用多个英文单词拼写,除第一个单词外每个英文单词首字母都要大写。
例如:playerSkill,(玩家技能)。

全局变量:g_+命名

指针变量:p_+命名

静态变量:s_+命名

const变量:c_+命名
注意:只有在循环时,才能用 i、j、k等名称的变量。
全局变量必要的时候才可以定义,否则应尽量使用局部变量。

2、宏定义的命名
宏定义所有的字母均为大写。且每个单词之间用“_”进行连接
例:static final int MAX_BUFFER_SIZE = 102400;

3、数组和结构体的命名
数组和结构体名称用具体的英文名称,单词间首字母大写。
结构体名称后需加上:Array。如:PlayerArray(玩家结构)
4、C/C++命名必须遵循下划线命名法,即每一个逻辑断点都有一个下划线来标记。

例如:num_sequence //数字顺序
5、所有编程相关命名均不能以下划线或美元符号开始,严禁拼音与引文混合的方式,更加不能用中文方式命名,避免缩写英文。

6、命名必须准确,不引起歧义,不过于简单,并且长度适中。

7、函数的命名:驼峰法
函数名称用具体的英文名称,单词间首字母大写。
例如:PlayerBag()。
如果这些单词是缩略语(例如XML),也要首字母大写,其它字母小写(写作Xml)。
命名中若使用特殊约定或缩写,则要有注释说明。
方法名称应该是一个动词或动名词短语,意思是“完成什么功能”,“执行什么操作”。

8、对某一功能的逐步书写注释:如
//造一辆车
//放底盘
//放轮子
//放发动机
//…
//安放外壳

9、变量注释
1) 变量注释写在左边,一定要对齐。
int i; //定义外层循环变量
int j; //定义内层循环变量

2)直接在变量后面注明变量的用途和取值约定。
例如:int judge = 0;//记录猜骰子的正确次数,>=3:胜利 (骰子游戏)

以上参考文章https://blog.csdn.net/AAAAA_Alice/article/details/82144460,侵删

数学之美第一章读后感
《文字和语言 vs 数字和信息》
看完第一章,我最大的感受就是:原来让电脑“懂”人话,靠的不是背语法,而是算概率。比如“银行”到底指河边还是存钱的地方,只要算它前后常出现什么词,就能猜得八九不离十。以前我觉得语言是凭感觉,现在才知道背后全是数据。只要语料够大,再复杂的句子也能用简单的公式拆开。书里把高深的模型藏进脚注,只留下“数数+乘法”,让我第一次觉得数学离日常这么近。以后写东西,我会先想想:如果让程序读,它能不能算对?这份“可计算”的视角,就是我从第一章带走的最大收获。

http://www.rkmt.cn/news/11923.html

相关文章:

  • Java EE ----- Spring MVC (上) - 实践
  • window.addEventListener(message,()={})中的回调函数无故被一直触发的问题 - broky
  • python+pillow+Image实现图片压缩到指定大小
  • 3D 高斯训练速度和消耗 - MKT
  • 完整教程:【PyTorch实战:文本分类】23、BERT文本分类实战指南:从原理到PyTorch落地
  • proxifier联合burpsuite抓包小程序,但是小程序连不上网解决办法(亲测)
  • 完整教程:C语言——函数(超详细分析)
  • 用 Swift 和 Tesseract OCR 实现验证码识别
  • 校园交友|基于SprinBoot+vue的校园交友网站(源码+数据库+文档) - 实践
  • 告别单张保存!PPT 图片无损批量提取,这 3 种方法亲测有效!
  • ?模拟赛(2) 赛后总结
  • 【C语言】C语言预处理详解,从基础到进阶的全面讲解 - 指南
  • 掌握C2重定向器:红蓝队攻防实战指南
  • Avalonia:开发Android应用
  • 多GPU本地布署Wan2.2-T2V-A14B文本转视频模型 - yi
  • 软工9.25
  • P8367 [LNOI2022] 盒
  • Polar2025秋季个人挑战赛web-writeup
  • 通过【开题答辩过程】以《基于JavaEE的创意产品众筹平台的设计与实现》为例,不会开题答辩的能够进来看看
  • 如何在CentOS 7上安装bzip2-1.0.6-13.el7.x86_64.rpm RPM包(详细步骤)
  • 2025年Java常见面试题
  • 实用指南:k8s 跟 nacos 关于服务注册以及服务发现
  • AT_agc021_d [AGC021D] Reversed LCS
  • adb shell 常用文件命令
  • 你所不知道的Spring的@Autowired实现细节
  • Java文件编程
  • 苏联的经典数学教材
  • redis实现分布式锁1
  • 深入解析:SQL 字符串函数高频考点:LIKE 和 SUBSTRING 的区别
  • Etcd详解:Kubernetes的大脑与记忆库 - 实践