首页 > 其他分享 >代码规范&《数学之美》读后感

代码规范&《数学之美》读后感

时间:2024-09-22 20:50:17浏览次数:9  
标签:读后感 吴军 代码 之美 注释 数学 自然语言

大厂代码规范:
一:代码要有比较良好的可读性,在必要的地方需要加上注释,一般较复杂的循环程序或函数要适当添加注释。代码不单单是给自己看也是给别人看的,大家读得懂自己的代码可以更好地发现问题并一起解决从而提高编程效率。
二:一些称谓尽量少用ABC代替 多使用一些有针对意义的词来代替。名字过于简单会难以区分为修改代码造成不必要的麻烦。而且起名不宜过长,过长的称谓不容易确认而且容易出错。一般遵循:作用域越大,名字越长,作用域越小,名字越短。
另外,起名不能带来歧义,要考虑到以后看见这个称谓自己或其他人会不会造成误解从而影响修改。例如S尽量不要指代为周长,R尽量不要指代为边长等等。
三:必要的空行和缩进有助于代码的美观清晰易懂,若一个代码块之间无空行和缩进,代码将会较难识别,并且不容易修改。语句顺序不能随意,比如与 html 表单相关联的变量的赋值应该和表单在 html 中的顺序一致。
四:关于注释,并非所有代码都需要注释,如果注释没有太大作用就会浪费时间。注释原则是:有好的名字就尽量不注释。
五:代码的函数表达式如果过长,一般都要进行拆分成短小多行代码,这样方便阅读。而且使用逻辑函数表达式之前,要斟酌时间复杂度,尽量选用较优方法来编写代码。
六:选取常量变量时,能少用就不要多用,过多的变量会给代码阅读带来较大影响,尤其是对于较长的代码块来说,变量过多会带来过大的负担
七:对于函数的调用,一般编写要遵循逐层优先级递减顺序。函数代码要放在一起集中管理 而非一个运行代码块一个函数。

读《数学之美》之“自然语言处理中的数学之美”有感
在阅读《数学之美》的“自然语言处理中的数学之美”这一章时,我深深地被吴军博士那深入浅出的讲解方式所吸引,仿佛打开了一扇通往数学与计算机科学奇妙融合的大门。这一章不仅让我对自然语言处理(NLP)这一领域有了更深刻的理解,也让我重新认识了数学在解决实际问题中的巨大潜力。
首先,吴军博士通过生动的实例,如机器翻译、语音识别等,展示了数学在自然语言处理中的广泛应用。他巧妙地运用统计学和概率论的知识,解释了复杂语言现象背后的数学规律。这让我意识到,数学不仅仅是数字和公式的堆砌,更是一种强大的工具,能够帮助我们解决看似无解的难题。
在这一章中,我最为震撼的是数学在分词技术中的应用。传统的分词方法往往基于规则,难以应对语言的复杂性和多样性。而吴军博士介绍的统计语言模型,通过计算词语在文本中出现的概率,来找到最优的分词方式。这种方法不仅大大提高了分词的准确性,还为我们提供了一种全新的思考方式——用数学去描述和解释语言现象。
此外,吴军博士还介绍了自然语言处理中的一些经典算法,如维特比算法、隐马尔可夫模型等。这些算法虽然复杂,但在吴军博士的讲解下,变得易于理解且充满趣味。我深刻体会到,数学之美不仅在于其简洁和优雅,更在于其能够解决实际问题,为我们的生活带来便利。
通过阅读这一章,我更加坚信了数学在科技和社会发展中的重要作用。它不仅仅是一门学科,更是一种思维方式,一种能够引领我们探索未知世界的强大力量。同时,我也被吴军博士那种对数学的热爱和执着所感染,他用自己的方式诠释了“数学之美”,让更多人感受到数学的魅力和价值。
总之,《数学之美》中的“自然语言处理中的数学之美”这一章,不仅让我学到了很多专业知识,更让我重新认识了数学的力量和美丽。我相信,在未来的学习和工作中,我会更加努力地学习数学,用数学去思考和解决问题。

标签:读后感,吴军,代码,之美,注释,数学,自然语言
From: https://www.cnblogs.com/llydbk/p/18425838

相关文章

  • appium+python自动化代码示例
    fromselenium.webdriver.common.byimportByimporttime#设置Appium连接参数caps={"platformName":"Android","platformVersion":"7.1.2",#根据夜神模拟器的Android版本进行修改"deviceName":"127.0.0.......
  • 从代码到部署:GitHub Actions实现Java项目CI/CD的完整实践
    从代码到部署:GitHubActions实现Java项目CI/CD的完整实践在现代软件开发中,持续集成和持续部署(CI/CD)已经成为了团队高效交付代码的关键策略。通过GitHubActions,可以轻松配置CI/CD流水线,实现从代码提交到部署的自动化工作流。本文将基于英语听力网站(studytool.site)项目介......
  • 代码中 isEmpty 和 isBlank 的区别
    也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank的存在,comeon,让我们一起来探索org.apache.commons.lang3.StringUtils;这个工具类isEmpty系列StringUtils.isEmpty()是否为空.可以看......
  • 源代码编译安装LAMP
    一、简介源代码编译安装LAMP:源代码:指的是软件的原始代码,是软件编写和编译的基础。编译:将源代码转换成机器可执行的二进制代码的过程。安装:将编译后的软件部署到服务器上并配置好,使其能够运行。源代码编译安装LAMP的特点:定制性:可以从源代码开始,根据服务器的具体需求进行编译......
  • "放开那代码让我来!"——Cursor帮你写代码的奇妙之旅
    让我们开门见山:编程很酷,但也很折磨人。那些长时间盯着屏幕,debug无休止的日子,只有程序员懂得它的酸爽。而就在这个编程焦虑的世界中,Cursor横空出世,带着一系列魔法功能,如同你手中的一根智能魔杖,让写代码变得像煮速冻面一样简单。Cursor,一款基于AI的编程助手,号称可以从自然语言生成......
  • 有服务器后怎么测试自己的写的代码
    后端程序员,如果想要测试自己写的代码肯定是需要一个工具的,这边我推荐的是广受好评的测试工具:ApiFox这款测试工具不仅美观功能还非常的强大,今天保姆级教学,如果有自己服务器的情况下该怎么去安装测试!!!该篇文章是有了服务器后的教学,如果需要服务器,可以看我下面链接的文章,阿里......
  • PTA L1-064 估值一亿的AI核心代码
    L1-064估值一亿的AI核心代码(20分)以上图片来自新浪微博。本题要求你实现一个稍微更值钱一点的AI英文问答程序,规则是:无论用户说什么,首先把对方说的话在一行中原样打印出来;消除原文中多余空格:把相邻单词间的多个空格换成1个空格,把行首尾的空格全部删掉,把标点符号前面的空......
  • Tarjan算法及其应用 总结+详细讲解+详细代码注释
    \(\text{Tarjan}\)1.引入概念1.强连通分量1.定义在有向图\(G\)中,强连通分量就是满足以下条件的\(G\)的子图:从任意一点出发,都有到达另一个点的路径。不存在一个或者几个点,使得这个子图加入这些点后,这个子图还满足上一个性质。为什么要限定”在有向图中“而不是”在任......
  • c#代码介绍23种设计模式_03工厂模式
    目录1.工厂方法模式之所以可以解决简单工厂的模式2.使用工厂方法实现的系统,如果系统需要添加新产品时3.从UML图来看4、实现思路1.工厂方法模式之所以可以解决简单工厂的模式是因为它的实现把具体产品的创建推迟到子类中,此时工厂类不再负责所有产品的创建,而只是给出......
  • 机器翻译之seq2seq训练、预测、评估代码
    目录1.seq2seq训练代码2.预测代码  3.评估代码 4.知识点个人理解 1.seq2seq训练代码seq2seq的训练代码:pytorch中训练代码一般都相同类似#将无效的序列数据都变成0(屏蔽无效内容的部分)defsequence_mask(X,valid_len,value=0):"""valid_len:有效序......