算法第一章作业- 编码规范 + 读《数学之美》有感

一.编码规范

以下内容是我从网上筛选的一些适合自己近期编码的编码规范。以后会严格按照该规范进行编码。

(原文链接为:https://blog.csdn.net/aaaaa_alice/article/details/82144460 )

1.命名规则:

(1)基本规则:采用大小写混合,提高名字的可读性;采用该领域的术语;尽量少用缩写,但如果一定要使用,当使用公共缩写和习惯缩写等;避免使用相似或者仅在大小写上有区别的名字;

(2)包命名:包名一律小写, 少用缩写和长名;

(3)类命名:采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免用缩写词(除非该缩写词被更广泛使用,像URL,HTML);

(4)变量命名: 采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写;变量名不应以下划线或美元符号开头;尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们一般用于整型;c,d,e,它们一般用于字符型;

(5)常量命名:全部采用大写,单词间用下划线隔开;

(6)方法(函数)命名:采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写;取值类可使用get前缀,设值类可使用set前缀,判断类可使用is(has)前缀。

2.代码风格:

(1)缩进:程序块要采用缩进风格编写,缩进只使用TAB键,不能使用空格键(编辑器中请将TAB设置为4格);方法体的开始、类的定义、以及if、for、do、while、switch、case语句中的代码都要采用缩进方式;

(2)对齐:程序块的分界符左大括号"{" 和右大括号"}"都另起一行,应各独占一行并且位于同一列,同时与引用它们的语句左对齐;不允许把多个短语句写在一行中,即一行只写一条语句;if、for、do、while、case、switch、default等语句自占一行。if、for、do、while等语句的执行语句部分无论多少都要加括号"{}";

(3)换行:一行的长度超过80个字符需要换行,换行规则如下:

         在一个逗号后面断开;

         在一个操作符前面断开;

         长表达式要在低优先级操作符处划分新行;

         新行缩进2个TAB;

(4)间隔:类、方法及相对独立的程序块之间、变量说明之后必须加空行;关键字之后要留空格, 像 if、for、while  等关键字之后应留一个空格再跟左括号"(", 以突出关键字;方法名与其左括号"("之间不要留空格, 以与关键字区别;二元操作符如   " ="、" +="  " >="、" <="、" +"、" *"、" %"、" &&"、" ||"、" <<" ," ^" 等的前后应当加空格;一元操作符如" !"、" ~"、" ++"、" --"等前后不加空格;像"[ ]"、" ." 这类操作符前后不加空格;for语句中的表达式应该被空格分开;强制转型后应该跟一个空格。

 

二.读《数学之美》有感

最近读了《数学之美》的一部分内容,有点感触。学了那么多年的数学,我第一次真正体会到数学的奇妙和伟大。很多复杂的问题都可以用数学来解决,就像语音处理识别之类的,以前也很好奇机器是怎么对语音进行识别的,但从没往数学这方面想过,没想到看上去这么复杂的语音识别,机器翻译等问题可以用简单的数学模型来解。数学很神奇,学好数学很重要。这是我第一个感悟。

第二个印象深刻的就是“简单”。简单的布尔运算实现检索功能,用简单的隐含马尔科夫模型就能简单地表述和解决复杂的语音识别等问题,形式简单是一个正确的数学模型应当具备的等等,这些都说明了简单之美。或许我们以后思考问题可以尽量不要想得太复杂,往简单的方面去想有时候可能会有意想不到的收获。

 

另外,对于算法的作用,我觉得算法在一个项目中起着至关重要的作用,一个好的算法能成就一个好的项目,能在复杂的问题上运用合适的算法来解决问题也是一种能力的体现。上学期学了Dijkstra 算法,但并没有学得很精,这学期想深入了解Dijkstra 算法和最短路径的其他相关算法,然后做一个简单的地图导航软件。

 

posted @ 2019-09-06 14:51  Mas-  阅读(169)  评论(0编辑  收藏  举报