434
社区成员
发帖
与我相关
我的任务
分享1.码注释
注释采用上方以及右侧两种方式。 注释应当准确、易懂,防止注释有二义性。
2.命名格式
变量、参数用类型缩写+大写字母开头的单词组合而成。
变量的名字应当使用 “小写缩写类型字符”(参考表) + “名词” “小写缩写类型字符”(参考表) + “形容词/动词” + “名词”
一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且方便于写注释。
if、for、while、do 等语句自占一行,执行语句不得紧跟其后。
if语句 必须考虑else的处理。 对于主要逻辑判断,必须写else处理,如果改else是正常不出现的,那么else处理归结为异常处理。
如果代码行中的运算符比较多(超过2个),用括号确定表达式的操作顺序,避免使用默认的优先级。
如果是算术运算符(例如:加 减 乘 除)且超过2个,可以不用括号进行确定操作顺序。
如果全部是相同的运算符且超过2个,可以不用括号进行确定操作顺序。
与零值比较
不可将布尔变量直接与TRUE、FALSE 或者1、0 进行比较。
应当将整型变量用“==”或“!=”直接与0 比较
不可将浮点变量用“==”或“!=”与任何数字比较。
应当将指针变量用“==”或“!=”与NULL 比较。
关于空格、空行
使用空格进行缩进,通常推荐每个缩进级别使用4个空格。
保持代码块的对齐一致,避免混用制表符(tab)和空格
连续超过10行的代码必须要添加空行。
关键字之后要留空格。
赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,的前后应当加空格。
如“=”、“+=” “>=”、“<=”、“+”、“****”、“%”、“&&”、“||”、“<<”,“^”等二元操作符的前后应当加空格。
参数传递效率
*如果输入参数以值传递的方式传递对象(类型为类、结构体),则用“const & ”方式来传递*
这样可以省去临时对象的构造和析构过程,从而提高效率。对于类型为常规类型,如char int等,建议采用直接传值的方式。
我认为《数学之美》这本书,以其独特的视角和深刻的洞见,为读者揭示了数学与语言、信息之间错综复杂而又精妙绝伦的联系。以下是对该书第一二章的读后感:
第一章:文字和语言VS数字和信息
在第一章中,作者通过对比文字、语言与数字、信息的关系,强调了它们作为信息载体的共同目的——记录和传播信息。这一观点打破了传统上将数学视为纯理论学科的局限,将其与日常生活紧密联系起来。
者指出,从原始人的通信方式到现代的数字模型,其基本原理都是生活规律的抽象提炼。这一点启示我们,数学并非遥不可及,而是无处不在,深刻影响着我们的沟通方式和信息处理技术。
吴军老师强调,尽管搜索技术等具体实现会随时间而过时,但掌握其背后的数学本质和精髓,则能让人在任何技术浪潮中游刃有余。这反映了数学在技术进步中的基石作用。
书中提及的犹太人发明校验码的故事,不仅展示了数学在精确性追求上的应用,也体现了数学作为文化遗产的一部分,对人类社会发展的贡献。
第二章:自然语言处理—从规则到统计
第二章深入探讨了自然语言处理领域从基于规则的方法向基于统计方法的转变。这一转变标志着人工智能研究的重大进步,使得机器能够更有效地理解和生成人类语言。
作者详细介绍了隐马尔可夫模型在统计方法中的核心地位,以及它在机器翻译、语音识别等领域的广泛应用。这进一步证明了数学模型在解决实际问题中的强大能力。
通过将数学概念与搜索引擎工作原理的结合,作者让读者意识到数学在日常生活中的实际应用,激发了对深入学习数学的兴趣。
作者回顾了自然语言处理领域的发展历程,强调了科学研究的曲折性和向上性,鼓励读者面对新概念和方法时应保持开放态度。
总的来说,《数学之美》的前两章不仅拓宽了读者对数学的认知边界,还激发了我对探索数学世界的热情。