![640?wx_fmt=gif](https://i-blog.csdnimg.cn/blog_migrate/da44b86fe65aff7dd64d0f6e777807b5.gif)
年前看谭浩强的《C程序设计第四版》与小甲鱼老师的视频学完了C语言的一些基础,现在在看《C陷阱与缺陷》和《C和指针》,对C语言自然是不敢说精通,但也算是入了编程的大门。不踩坑的程序员不是好的程序员,每天忙着写bug修复bug,慢慢对于C语言编写程序有了一些属于自己的心得与体验,因为热爱所以也乐此不疲,以下是我给初学者们一些在学习C语言时避免踩坑的经验。
1、 培养并保持一种良好的编程风格。对于初学者而言,培养一种良好的编程风格对于日后的发展有着至关重要的作用。拥有一种属于自己的编程风格,不仅方便自己编写代码时查找错误,也会增加同事与你进行工作对接时的效率。引用我学习编程时听过的一句良言:良好的编程风格是产生高质量程序的前提。
2、 认真对待编译器给出的错误与警告。编译器给出的错误警告对于初学者而言至关重要,尽管有时编译器给出的错误信息并不能直接找出错误所在,但是对于我们而言,它是唯一的线索,跟着编译器的错误信息,我们可以找出90%的编译错误。就算是最后实在找不出来,也可以复制错误信息在百度上搜索一下,除了小概率编译器本身的问题,一般而言都可以解决。
3、 多动脑子,写代码前要多做一些准备
(1) 开始写代码前要画流程图,一位好的程序员写代码前一定会先画一个流程图,它可以帮我们理顺程序中各个变量的关系,想好要用到哪些函数,以及这些函数属于哪个头文件,以免在写程序时手忙脚乱,忘记添加头文件是初学者常犯的错误之一。
(2) 编译错误不要立刻修改代码,应先完整的审阅一遍源代码,再开始纠正错误。初学者在看到错误时的第一反应是修改代码,当然,并不是说修改代码是错误的,而是说我们不应该盲目的修改代码,很多时候盲目修改代码只会导致错误越来越多,错误越多,改代码动作越利索,如此恶性循环,最终会使一个程序面目全非。
4、 注意检查最基本的语法。初学者犯的最多的错误,很多资深程序员也会犯。这种情况比较特殊,因为很多时候编译器并不会报警,需要自己一步步的调试与观察代码,严格来说这并不属于编译错误而是属于逻辑错误,对于这种情况,我只能说尽量培养一个严谨的编译风格,这样可以尽量减少这种低级错误的出现。
5、 把可能有问题的代码行改为注释。这是调试程序的基本操作,当然,现在有很多编译器可以进行返回上一步操作(比如VS2010),但是需要告诉你们的一点就是,不要迷信这个功能,以我多次血的经验总结出来——它并不靠谱。很多情况下,当你调试完程序后会发现:那个沙雕的图标竟然变成了灰色(即不可选中)!
6、 换一个环境或开发工具试试。不到万不得已,不要尝试换环境或者开发工具。换一个编译器并不是我们想象的那么简单,对于一些小型的编译器(如VC6)或许无所谓,但是对于一些大型的编译器(如VS2010),它在电脑上可以说是根深蒂固,你根本无法行想象这个gdx在你的电脑上装了多少插件。当你删除VS2010时,这些插件不一定会被删除,它们大概率还会留在你电脑上,继续吃着你的内存,拖慢着你的电脑速度,而你可能根本找不到它们,直到你重装系统,可以说是与你的电脑同生共死了。
7、 调用不熟悉的函数前先看文档。知己知彼方能百战百胜,这句话在这里或许不太应景,但确实是那个意思。C语言里的函数很多,我们不可能全都认识它们,因此,在调用它们之前去认真看一下相关的文档很有必要。否则,我们冒冒失失的去调用它,万一少个参数,系统给报错还好说,要是不给报错变成了一个逻辑错误,那就真的是麻烦了,而且最麻烦的是,这种错误其他人能给你的帮助极为有限,因为他并不一定知道这个函数,知道也不一定会想到是哪里出的问题(这十分考验调试能力),而且最关键的是他也不一定愿意帮忙!
8、 留意作用域。这个比较简单,编译器一般都会报错,注意一下就可以了。
9、 休息。长时间的敲代码对身体与精神都有十分大的负担,仿佛“审美疲劳”,再热爱的事业也累了。因此,我们写代码陷入死胡同时不妨先出去放松一下,打打球、与人聊聊天、干点自己喜欢的事情或者直接睡一觉,换个脑子换种心情,再来看代码时自然就有不一样的感觉。
10、 把平时没问题的程序分模块保存起来。当我们接手一个新任务时,从头编写未免太过麻烦与繁琐,因此我们将以前编写好的程序当作模板直接拿来用,不仅可以减少我们代码编写的重复劳动,而且还可以减少我们犯错误的概率,真可谓是一举两得。
写在最后:个人认为学习编程最有魅力的一点在于老师在我们学习时所能给予我们的影响与帮助非常小,或者说编程是一门非常个人的学科。原因在于我们编写程序时所能犯的错误可以说是无穷无尽,没有一位程序员可以说自己从来没有写过bug或者自己写的程序不会产生一个bug,资深软件工程师很多时候也无法解决小白遇见的错误。
在不断的犯错与解决错误的过程中,小白会逐渐成长,当小白的经验积累到一定程度时,小白就成为了一名软件工程师,也就是程序员/程序媛。这就是我们的成长道路。先行者们所能做的,就是尽量举起灯,告诉我们一个大概的方向以及这个方向上所能遇见的困难,而当我们上路之后,所遇见的困难,则只能靠我们自己。如果你要问我还有什么方法可以学好编程,我只能告诉你多练习。记得学编程的第一句话就是:一个程序员的高度取决于他的程序积累量。如果你要问我怎么能持之以恒的学习编程,那我只能告诉你两个字:热爱!