算法设计与分析第一周作业

计科2101罗嘉虹 2022-09-05 12:05:37
  • 代码规范制定原则
  1. 方便代码的交流和维护。
  2. 不影响代码的效率,不与大众习惯冲突。
  3. 使代码更美观、阅读更方便。
  4. 使代码的逻辑更清晰、更易于理解。
  • 排版
  1. 程序块要采用缩进风格编写,缩进的空格数为4个。
  2. 相对独立的程序块之间、变量说明之后要使用空格。
  3. 较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
  4. 循环、判断语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
  5. 若函数或过程中的参数较长,则要进行适当的划分。
  6. 不允许把多个短语句写在一行中,即一行只写一条语句。
  7. If、for、do、while、case、switch、default等语句自占一行,且If、for、do、while、case、switch、default等语句的执行语句部分无论多少都要加括号{}。
  8. 对齐只使用空格,不适用TAB键。
  9. 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格。
  • 注释
  1. 一般情况下,源程序有效注释量必须在20%以上。
  2. 注释的内容要清楚、明了、含义明确,防止注释二义性。
  3. 避免在注释中使用缩写,特别是非常用缩写。
  4. 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对单条语句的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空格隔开。
  5. 在代码的功能、意图层次上进行注释,提供有用、额外的信息。
  6. 注释格式尽量统一,建议使用/*......*/。
  7. 注释使用的语言若是中、英兼有的,建议多使用中文。
  • 标识符命名
  1. 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。较长的单词可取单词的头几个字母形成缩写。
  2. 命名中若使用特殊约定或缩写,则要注释说明。
  3. 自己特有的命名风格,要自始自终保持一致,不可来回变化。
  4. 对于变量名,禁止取单个字符(如i、j、k...)建议除了要有具体含义外,还能表面其变量类型、数据类型等,但i、j、k作局部循环变量是允许的。
  5. 用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。
  • 变量、结构
  1. 去掉没必要的公共变量。
  2. 仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。
  3. 明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。
  4. 当向公共变量传递数据时,要十分小心,防止赋予不合理的值或越界等现象。
  5. 防止局部变量与公共变量同名、
  6. 结构的功能要单一、是针对一种事物的抽象。
  7. 不要设计面面俱到、非常灵活的数据结构。
  8. 不同结构间的关系不要过于复杂。
  9. 仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象。
  10. 编程时,要注意数据类型的强制转换。
  • 函数
  1. 明确函数功能,精确(而不是近似)地实现函数设计。
  2. 对所调用函数的错误返回码要仔细、全面地处理。
  3. 防止函数的参数作为工作变量。
  4. 函数的规模尽量限制在200行以内。
  5. 一个函数仅完成一件功能。
  6. 不要设计多用途面面俱到的函数。
  7. 尽量不要编写依赖于其他函数内部实现的函数。
  8. 函数名应准确描述函数的功能。
  9. 避免使用无意义或含义不清的动词为函数名。
  10. 除非必要,最好不要把与函数返回值类型不同的变量,以编译系统默认的转换方式或强制的转换方式作为返回值返回。
  11. 防止把关联的语句放到一个函数中。

 

 

 

《数学之美》

“欣赏美不是终极目的,更值得追求的是创造美的境界。”在拜读了《数学之美》之后,我打消了之前对数学的刻板印象,即认为数学是仅仅是一些公式推导、数字合集的一个东西。吴军博士以其精湛的IT技术能力和通俗易懂的文字表达让我深刻感受到了数学对我们生活的巨大影响,也启发了广大的青年学者去建设数学、运用数学,从而创造出一个更为多彩的世界。

在“中文分词”这一章节中,吴军博士介绍了科学家们一步一步探索的过程,从查字典到分词理论到最终的统计语言模型,成功地解决了中文分词中出现的歧义性问题,极大地提高了搜索引擎的工作效率。这个统计语言模型中所涉及到的词的颗粒度和层次问题,以及所运用的概率方法解决词的歧义性问题,都是运用了非常基本的数学方法去分析解决的。在序言中李星博士提到“成为一个领域的大师有其偶然性,但更有其必然性,其必然性就是大师们的思维方法。”数学作为一种非常灵活巧妙的思维方法,渗透在我们生活的方方面面,从以上的统计语言模型解决中文分词问题便可得知。

生活中,我们不可能每个人都是数学家、数学博士。但是我们仍旧需要去探索蕴涵在数学之中的美妙韵味,去探索这样一种思维,继而运用到我们生活当中,让数学之美成就为世界之美、宇宙之美。

...全文
84 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

434

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧