编程易犯毛病总结

简介:

由于程序写好,总会有bug,这些bug很大程序上来自于编写的方法和习惯有关。

本文会长期追加,我自己发现一条就会记一条。

 

1.是数值就要用数值型变量,不要用字符串,不要以为读文件读来的是字符串,以后就用字符串变量保存

2.检测子字符串是否存在。stl string.find("aaaa") != string::npos不能写成string.find("aaaa") >= 0

3.常用char[]存储一些字符串至少要256。不要感觉短就随手 char[60]这样的程序在其他环境下经常会发生一想不到的问题

4.变量尽可能放到最后,函数尽可能放到最上面

5.类成员变量一定要在构造函数里初始化。如果程序在debug没问题而在release崩溃,有一种原因就是累成员没有初始化的原因

6.sprintf printf _vstprintf_s 这些函数中的 %d ,后面一定是跟32位数,如果是64位

7.不要以为栈的容量无限,所以千万不要 char szFileList[1024000] 

8.vsprintf_s此类函数,会把你前面清零的buffer会弄的不为0

9.假如你要写一个类的GetID()函数,为保证任何时候都可以得到这个ID,则一定不要让这个GetID()内部生成。而是声明一个类成员变量m_id,在类的构造函数里初始它。GetID 用来返回m_id。

相关文章
|
3月前
|
设计模式 程序员
故意把代码写得很烂,这样的 “防御性编程“ 可取吗?
故意把代码写得很烂,这样的 “防御性编程“ 可取吗?
|
6月前
|
IDE 安全 程序员
揭秘如何用C编写出无敌的程序代码,你绝对会后悔错过!
揭秘如何用C编写出无敌的程序代码,你绝对会后悔错过!
37 1
|
6月前
|
程序员 计算机视觉
程序员的“防御性编程”
最近都在聊程序员要做好“防御性编程”,"防御性编程"的概念从之前的“保护程序”一下子变成了现在的“保护程序员”,一字之差,千差万别。
程序员的“防御性编程”
|
机器学习/深度学习 人工智能 自然语言处理
AlphaCode 能替代人类程序员吗?网友:被替代也挺好,这样就可以少写代码多开会了
DeepMind 是最新的人工智能研究实验室。它推出了一个可以生成软件源代码的深度学习模型,成果令人印象深刻。该模型被称为 AlphaCode,基于 Transformer,与 OpenAI 在其代码生成模型中使用的架构是一样的。
168 0
AlphaCode 能替代人类程序员吗?网友:被替代也挺好,这样就可以少写代码多开会了
|
程序员 定位技术
我21年编程生涯中的21个错误
  从我21年的编程中学到的经验教训。   2022年1月18日。今天对我来说是美好的一天。 我终于完成了21年编程。   ew! 好像昨天和今天在这里一样,我的内心写着一个40岁的中年程序员,他成功地度过了软件行业这个危险世界的正弦波峰和波谷。 是的,至少对我来说,这是决定性的时刻。   话虽如此,犯错是实现卓越的学习途径的一部分。 快速且经常失败是成功的标志。 为了避免多次犯同样的错误,应该放在优先列表上。   是的,个人经验是最有效的学习方法,但是通过他人的经验获得的知识是一种更快,更聪明的方法,可以减轻痛苦。 毕竟,生命是短暂的。 您不可能一生中犯下所有可能的错误。   软件
133 0
|
存储 程序员 C++
如果当初学习编程时能有人给我这些忠告该多好
Cecily Carver 是多伦多的一位程序媛,和 Jennie Faber 一起创办了一个游戏制作工作室。她喜欢歌剧、舞蹈和弹钢琴。Cecily 在这篇文章分享她在编程道路上的所感所想,给出很多值得思考的编程箴言以及一些思想误区,比如在你学习编程之前思考一下你的目标、编程不是什么神秘的东西、坚持比方法更重要等,可以让我们在编程路上少走一些弯路,从而有更多的时间学习技术让自己变的越来越强大。
226 0
|
IDE 程序员 API
每个程序员都曾犯过的经典错误
人非圣贤,孰能无过。对于犯错,你不用太困扰,因为对开发者而言,犯错太正常不过,并且几乎每天都会发生。软件开发很难,因此错误或多或少总会发生。犯错可以接受。事实上,及时反思和总结错误才能使我们进一步成长。
|
程序员
关于编程 鲜为人知的真相
导读:原文来自dotmac.rationalmind.net上一篇《Some lesser-known truths about programming》,译文来自外刊IT评论整理编译《关于编程,鲜为人知的真相》而来。
810 0
|
NoSQL 测试技术 程序员
关于代码的那些低级错误,都是血泪的教训
无论你是初级工程师,中级工程师,高级工程师,甚至是全栈工程师、架构师,都是从零开使一步一步走出来的,想必都会犯过一些低级错误。 那些错误都是怎么发生的,如何避免发生错误呢,看看我们各位资深的程序员以自身为例,告诫我们敬畏每一段代码
5449 0
|
程序员 C++ Python
编程语言发明者们,结局都不太好,谁的错?
创造现在主流编程语言的程序员们,都怎么样了?提起灯泡的发明者,你可能想起亨利·戈培尔,提起印刷术,你可能会想到毕昇。这些伟人离我们太远太远,但当提起C++、python、java时,他们的发明者又离我们如此的近,至少他们还在世上,也在工作,但似乎他们的现状都不太好。
1684 0