【作业1】代码规范
空行,空格,成对书写,缩进,对齐,代码行,注释
命名规范
命名需要见名知义
- 包名 小写,单词无间隔
e.g. adapter
包名一般就是新建一个文件时要命名的名字
- 类名
- 驼峰形式中的 大骆驼拼写法名称中的,即每个词的首字母都大写
e.g. LoginActivity
- 变量 名词第一个词的首字母小写
e.g. androidStudioTool
变量作用范围前缀表
类型 | 前缀 | 例子 |
---|---|---|
成员变量 | m_ | m_nValue |
全局变量 | g_ | g_IValue |
静态变量 | s_ | s_pValue |
常量 全部大写和_
CONSTANT_作用名,CONSTANT_KEY_NAME
- 方法名 名词第一个词的首字母小写
initView()
其他拓展部分见
Android:这是一份全面 & 详细的Android代码命名规范-腾讯云开发者社区-腾讯云 (tencent.com)
代码风格
-
缩进对齐
-
空行 增加代码可读性,只要遵循不同功能间空行即可
-
函数间
void foo() { // 函数实现 } void bar() { // 函数实现 }
-
逻辑块间
void process(int value) { // 初始化 int result = 0; // 处理逻辑 if (value > 0) { result = value * 2; } else { result = value - 1; } // 输出结果 cout << "结果是: " << result << endl; }
-
-
空格
运算符前后需要加空格
-
行长度:限制每行的最大字符数(通常是80-120个字符),以提高代码的可读性。
注释
对代码进行简单的解释,代码很清楚了就不需要再注释
i++;//i+1
对代码意图进行解释的注释
法律信息,版权注释
警示信息,防止踩坑
TODO注释:未来得及时完成
无用代码及时删除而不是注释掉
代码结构
- 函数长度:函数单一职责(一个函数负责一个功能)
- 类 :
- 权职单一
- 高内聚:类的实体变量应尽可能少,类中方法尽可能多地使用到这些变量
错误处理
有点高级了,c++暂时用不上,java软件开发可能用得上
参考文章
Android:这是一份全面 & 详细的Android代码命名规范-腾讯云开发者社区-腾讯云 (tencent.com)
Google C++编程规范(Google C++ Style Guide) - RioTian - 博客园 (cnblogs.com)
【作业2】《数学之美》读后感
阅读第二章 自然语言处理 的笔记和感受
计算机对自然语言的理解是靠数学,靠统计,而早期科学家认为需要通过 直觉 来 让机器学习自然语言,“鸟飞派” 的空气动力学(原理)和 仿生学(表象 直觉)
早期误区用文法来理解自然语言,遇到的困难有,一是,再好的文法也不可能涵盖整个自然语言处理(例子:中学英语学得很好的人 学了10年的英语 也不可能涵盖全部的英语)二是,很难用计算机来解析,文法有复杂的上下文法。
当时,统计相较于传统方法的劣势是:只能处理浅层的自然语言处理问题,而无法进入深层次研究
但随着算力的提升,统计的方法已经可以解决这个问题。
这让我思考到,在解决问题时,我们要善于跳出传统思维的束缚,寻求更有效的方法。
“在数学意义上自然语言处理又和语言的初衷——通信联系在一起。”
这句话说得好有道理。是不是可以这样来理解:自然语言处理,是让人类和计算机通信;而人类语言是让人与人之间相互通信。数学作为桥梁,将这两种通信方式紧密联系在一起。这使我更加坚信,数学是理解世界、改造世界的重要工具。
参考书籍《数学之美》