首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何写出优雅的C++代码

工欲善其事必先利其器,优雅的代码离不开静态代码检查工具,大家可能平时使用较多的是cppcheck,但今天我想跟大家分享另一个静态代码检查工具clang-tidy。...不同于cppcheck使用正则表达式进行静态代码分析,clang-tidy是基于语法分析树的静态代码检查工具,虽然它的速度比正则表达式慢一些,但是它检查的更准确、全面,而且不仅可以做静态检查,还可以做一些修复工作...该工具还可以检查代码是否符合编码规范,例如Google编码规范等,看这段头文件相关代码: #include #include #include ...+11相关的代码问题 而且适用于Windows/Linux/MacOS多平台,还支持命令行,CLion/VSCode/VSStudio插件等,检测规则还可以定制,重要的是免费开源,快去用起来吧,写出优雅的...C++代码~ 参考资料: https://clang.llvm.org/extra/clang-tidy/ https://www.bilibili.com/video/av96166240/ End

1K10
您找到你想要的搜索结果了吗?
是的
没有找到

【专业技术】如何写出优美的C 代码?

面向对象的语言更接近人的思维方式,而且在很大程度上降低了代码的复杂性,同时提高了代码的可读性和可维护性,传统的 C 代码同样可以设计出比较易读,易维护,复杂度较低的优美代码,本文将通过一个实际的例子来说明这一点...函数指针 指针是 C 语言的灵魂,是 C 比其他语言更灵活,更强大的地方。所以学习 C 语言必须很好的掌握指针。...比如, UNIX/Linux 系统中的信号注册函数,其原型如下: void (*signal(int signo,void (*func)(int))) (int) 使用的时候,需要自己在外部定义一个信号处理函数...C 语言,作为一个灵活而简单的语言,我们完全可以通过 C 提供的简单机制,实现这样的比较优美的代码形式。 C 语言的面向对象 如前所说,面向对象是一种软件设计的思想,是语言无关的。...在本节中,我举一个链表(list)的例子来说明如何在 C 语言中的设计出有面向对象风格的代码

90690

如何写代码

看来如何写代码还是一件很值得一说的事情。 关键思想: 人写代码是用来给别人读的,而不是给机器执行的。写代码就应该像写小说一样,让人读的轻松愉快。...软件的生命周期中,维护周期占1半以上,所以不看避免要有人来改动你的代码 你如果更换工作岗位,你的代码需要别人接手 如果你自己的代码,3天后自己都看不懂 牛人的代码总是让你爱不释手 写代码需要注意层次的一致性...凳子,桌子,椅子,分子,床,你觉得那个不对 再举一个做菜的例子: 洗菜 切菜 倒油爆炒 油温慢慢的从10度上升到60C,油分子之间间隙越来越大,油沸腾起来。油分子和菜分子之间产生了反应。 出锅。...注释越多说明我越认真,但是有一天代码变了,注释把人害了。 只需要写生成doc的注释 方法名,参数和类名本身就是注释 一个团队必须有一致的编码风格,如果有人不能统一,特立独行,那么out。...要有最佳实践,这个可以显著提高代码质量 比如effective java 比如 “abc”.equals(xxx) 有时间读一下重构,代码大全,你会爱上编码,编写诗一般的代码

40900

如何写好业务代码

说明 这里举一个非常简单的例子,以案例的业务实现来分析如何写好业务代码。 本案例只是简单的模拟,可能与真实的情况有出入,这里只是为了举例使用。...XxDO 是和数据表绑定的,数据表结构变更等也会影响业务代码。...调用第三方API,直接在业务代码中调用HttpUtils完成,未来第三方API修改了方法签名或返回值,或改为了RPC接口,那么业务代码也会随着改变。...发送消息直接使用KafkaTemplate,如果技术选型变了要改为使用RocketMQ,那么业务代码还得变。...,只是通过这一个简单的例子告诉大家实际工作中代码该怎么写,该遵循哪些目标: 独立于框架:架构不应该依赖某个外部的库或框架,不应该被框架的结构所束缚。

40210

如何写出卓越代码

什么是卓越代码(Great Code)? 场景不同,角色不同,对卓越的定义自然有所不同。 既然没有统一的标准,似乎可以放过不提。...我们来细品一下作者Randall Hyde采纳的定义: 卓越代码是按照一套一致的优秀软件特征编写出来的,首要考虑的是优秀软件特征。...殊不知,这些Java程序员编写的每行代码都会被编译为运行在JVM中的指令。...我不知道,学习和使用汇编语言是否真的有助于写出卓越代码?我也不知道,我之所以没能写出卓越代码是否与我汇编水平不高有关?...然而,当我们写出动辄数百万行代码的应用系统时,是否真的思考过每条语句背后的代价?——问程序员,有多少人以写出卓越代码为己任?问代码,又有多少是深谙计算机底层原理的程序员写出来的?

31210

如何写出好代码

如何写出好代码 这个题目把我自己都看傻了,因为仔细想想,这不是一个命题,是对代码的思考,对细节的推敲和打磨。写好代码是一门学问,还是一种修行。...但是看完《代码整洁之道》,发现注释不是什么好东西,起码没有我们想的那么好。...注释的副作用 谁也没法保证能一气呵成写完代码,而且永远不会有变动,所以我们需要经常变动代码,但是绝大多数时候,我们却由于各种原因忽视了变动注释。时间久了,代码和注释就不配套了,容易产生误解读。...在写下详细代码之后,又开始为这块代码加上注释,但是或许因为脑瓜子缺氧或是开小差了,写的注释与代码表达的逻辑不符,这样会让读者抓耳挠腮,匪夷所思。...,但是仔细一推敲,发现代码中的逻辑应该是isAdmin为false的时候,才会去获取isGroup的值,而非像注释中提到为true的时候。

72950

如何写好业务代码

前言 知乎上有一个提问:如何写好业务代码? ↓↓↓ 今天,我们就这个话题一起来做个讨论。...那话说回来,提问的问题是如何写好业务代码,那和我上文说的写完业务代码有什么区别呢? 由于提问的小伙伴并没阐述清楚对这个“好”字的语意,在这里,我先根据自己的理解,给它下个定义。...好的第一层语义是保证代码质量。我刚才就说了,写完代码很容易,但你写的代码怎么保证不容易出错,上线后基本没bug,这就体现了一个程序员的编码水平了。...特别是当你面对复杂性极高的业务需求的时候,太多的if- else条件判断,太多的状态代码,如果你采用事务脚本模式来写代码,很容易一个类、一个方法几百上千行代码,所有逻辑黏在一起,代码美感不说,其复用性变得极其低下...很多人为了保证自己的改动不会影响其他功能,他会选择重载一份原来的代码,然后在新方法里面新增业务代码,就这样长此以往,屎山代码终成。 OK,那有什么方法能写出所谓的好的代码呢?

24511

如何写出优雅的代码

并不见得,我认为代码还必须是易读的。好的代码无论是风格、结构还是设计上都应该是可读性很强的。可以从以下几个方面考虑整洁代码,提高可读性。...格式良好的代码格式也是提高可读性非常重要的一环,分为垂直格式和水平格式。垂直格式通常一行只写一个表达式或者子句。一组代码代表一个完整的思路,不同组的代码中间用空行间隔。?...好的注释提供信息、表达意图、阐释、警告我们经常遇到这样的情况:注释写的代码执行逻辑与实际代码的逻辑并不符合。大多数时候都是因为代码变化了,而注释并没有跟进变化。...删除掉注释的代码git等版本控制已经帮我们记录了代码的变更历史,没必要继续留着过时的代码,注释的代码也会对阅读等造成干扰。...我认为仅仅编写出可运行的代码是远远不够的,还要时刻注意代码的整洁度,留下一些漂亮的代码,希望写的代码都能保留并运行 102 年!

45230

如何写出漂亮的代码

咋在学校的时候lol撸多了,哪去些什么代码。短时间估计是习惯不了的,没有别的办法,以前撸lol现在撸代码。撸撸更健康。但是光撸肯定也是解决不了问题的,熟悉熟悉键盘,眼看屏幕。...坚持坚持先慢后快,多学习快捷键用法熟能生巧,巧需要方法戒掉二指禅,加班撸代码。 疑惑二 如何提高代码质量、从何入手? 好的代码像诗,看着就赏心悦目。...要想代码质量高,首先基础要牢靠,基础不好你写得再好看,问题还是少不了。代码质量的高低跟基础息息相关,所以质量高不高基础要学牢。...有基础之后那就是去学习其他人写的优秀的代码,有样学样,从模仿开始看得多了见多识广,质量也就上去了。除了这些我们还得又科学的方法去提高,如wekbit代码规范, google代码规范。...没多长时间你就会被淘汰了,如何来提高自己的能力,光公司那点东西肯定是指望不上了那我们该如何: 1.多看博客(如csdn),或加入一些技术群看别人都在干些什么 2.多研究一些高质量的开源代码,新的流行技术

94370

【Advanced C++】: 详解RAII,教你如何写出内存安全的代码

名为advanced C++,是因为阅读这个专题会需要一些C++基础,希望这个专题能帮读者解开一些对C++的困惑之处,同时可以跟大家一起探讨精进C++的理解和使用技巧。...我将用几段代码来具体阐述RAII的应用场景。...这就是RAII发挥其威力的时候了,下面一段代码将展示如何用 lock_guard来使我们的代码异常安全并且整洁。...智能指针 接下来笔者将介绍RAII在C++中最强的应用:智能指针。 C++中一个非常常见的应用场景就是调用一个函数来产生一个对象,然后消费这个对象,最后手动释放指针。如以下代码所示。...第8行代码实现了最基本的构造函数:从一个裸指针开始构造。

2.8K30

如何写出优秀的代码

❞ 写了太多屎一样的代码,终于不臭了!更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』 1.第一坨屎-变量 为了不让下任『接盘侠』看到代码骂娘,我劝你善良。...3.注释不是流水账,不是每一行代码的解释,而是某一块逻辑的说明。 4.对于复杂的数据结构请举例说明。 5.每个函数的说明文档起码要有。...嵌套的层级太多,不仅难理解,还影响美观。 2.简单的一层 if-else ,有时三元运算符会更加方便。 3.若想你的程序执行效率高一些,就不要循环套循环。...提交代码先跑一遍单元测试,是否可靠的多?...❞ 7.第七坨屎-重用 1.将公共的代码抽调出来,做成公共模块、通用组件。「减少程序代码量」,让程序起飞。 2.重用的优点不光是省代码这么简单,如果相同的代码这也有,那也有,出错怎么办?改几遍?

69110

C# 如何写 DEBUG 输出

经常在代码中,需要使用 DEBUG 来输出一些奇怪的东西来进行测试。但是输出的窗口只有一个,如果有一个逗比在不停输出,那么就会让输出窗口看不到自己的内容。...; } }); Console.WriteLine("有用的信息"); 于是逗比喜欢自己的测试代码...,可以运行了,但是逗比拿到程序员的代码,发现没有输出了,这时他又不高兴了,于是逗比去掉了所有的注释,准备在上传代码的时候再把代码注释。...这样就不需要一个个去注释,而且一般这句代码在上传代码的时候就去掉。...但是这个方法有个缺点,在他的作用只能在一个文件,如果有多个文件都需要写自己的代码,那么还是需要在多个文件上添加这句话,如果在上传代码的时候不记得把所有的文件进行注释,那么还是会被打。

86430

代码打造简洁美观回到顶部按钮

这次,潜行者m给大家带来一个比较实用的 jQuery 技巧,为你的网站添加一个纯代码画出来的、简洁美观的回到顶部按钮。...与网上的相比,潜行者m版的是纯代码,加载速度更快,效果色彩控制好;代码精简,只有数条而已,拒绝大坨大坨的代码。废话不多说,下面就开始制作。...具体代码如下:     ▲ 对,你没看错,就这么简单的一句代码,直接在 a 标签中,填写一个三角号。...jQuery 代码 具体的 jQuery 代码如下,解析已经写在注释里面了: $(function(){ $(window).scroll(function(){  //只要窗口滚动,就触发下面代码...就用这几句代码而已,就可以出现这个功能,而且可以方便的修改颜色、形状、大小等。当然缺点也是有的,就是在IE6等过时的浏览器中,可能不会兼容,无法实现。 ----

74730

如何写代码 — 编程内功心法

本文将分享一下根据我这几年来的编程经验总结出的一些关于如何写代码的个人见解。 由于“跟我混”的一些小伙伴编程功底相对来说比较薄弱,所以在此总结一篇“编程内功心法”帮助他们渡过职业生涯的第一个瓶颈期。...另外,本文主要分享如何写代码,并不是如何用Java写代码。所以文章中各种语言都有可能出现。 爱 编码风格 先来一个圈内的段子。...爱 注释 怎么添加代码注释 关于注释,我们需要解决的第一个问题是如何添加代码注释。 对于Java、C#之类的语言,有专用的文档注释语法,很好处理。...对于C/C++,则按约定的格式说明一下类和函数、代码片段的作用和意图即可,至少编译器会进行静态检查。在Python中,有更牛逼的文档字符串这样的语言级特性支持,看注释用help()很方便。...然而在Java、C#、C++一类面向对象语言中,一般不会用返回值来表示状态。返回值一般用于表示返回的业务值,而异常用于通知客户端程序运行状态改变了。

47730
领券