代码规范+《数学之美》
通过在网上查阅资料后了解到BAT(中国三大互联网公司百度公司(Baidu)、阿里巴巴集团(Alibaba)、腾讯公司(Tencent))公司对内部代码规范要求。
我粗略总结出了以下几点:
一、可读性的重要性
编程有很大一部分时间是在阅读代码,不仅要阅读自己的代码,而且要阅读别人的代码。因此,可读性良好的代码能够大大提高编程效率。
二、用名字表达代码含义
使用 i、j、k 作为循环迭代器的名字过于简单,user_i、member_i 这种名字会更有表达力。因为循环层次越多,代码越难理解,有表达力的迭代器名字可读性会更高。
三、良好的代码风格
适当的空行和缩进。排列整齐的注释:1.代码缩进,代码的缩进不要用tab来缩进,每个缩进四个空格
2.使用for,while,if语句都不要省去大括号
3.代码尽量简洁,减少代码嵌套层次
4.变量声明,初始化和被使用尽量放在一起
5.标识符做到统一,简介,达意
6.在留空处或者有需要的地方写注释
本学期编码需要遵守的规范:
对自己的编码要有排版要求:
1.相对独立的程序块之间、变量说明之后必须加空行
2.一行只写一条语句,不将多条语句挤在一行
3.if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句都不省去大括号。
阅读《数学之美》第三章有感:本书——《数学之美》,力图将复杂的问题,归结为数学模型。
第三章 统计语言模型
数学的精彩之处就在于简单的模型可以干大事。参考原文链接:https://blog.csdn.net/li_canhui/article/details/106208021
基于语法分析的语言模型遇到瓶颈后,科学家逐步将语言模型的实现思路转变到基于数学统计的方法。贾里尼克的出发点很简单:一个句子是否合理,就看它的可能性大小如何。假设S表示一个有意义的句子,它是由w1w2w3w4w5……wn这n个词语组成,n为句子的长度。我们想知道S在文本中出现的可能性。这个问题就转化为计算w1w2w3w4w5……wn概率的大小。即P(S)= P(w1w2w3w4w5……wn)。根据条件概率可得P(w1,w2,w3,w4,w5) = P(w1)*P(w2|w1)*P(w3|w1,w2)。
上面的公式,P(w1)比价容易计算,P(w2|w1)也不算太麻烦,但是越往后,计算会越复杂,每个变量的可能性都是一个语言字典的大小。该如何解决这个问题呢?
从19世纪到20世纪初,俄国数学家马尔科夫,提出一种偷懒但十分有效的方法,就是假设任意一个词wi出现的概率之和它前面的词wi-1有关。于是问题就变的简单了。
P(w1,w2,w3,w4,w5) = P(w1)*P(w2|w1)*P(w3|w1,w2)。。。。。。
=P(w1)*P(w2|w1)*P(w3|w2)*P(w4|w3)。。。。。。
这样的语言模型称为二元模型。如果假设w出现的概率和前面两个词有关,模型则称为三元模型。类似的,还有n元模型。
数学的魅力就在于它可以将复杂的问题简单化,可以将抽象的物体与事件模型化。