对于初学编程的一些建议

原创 2016年12月15日 17:56:15

    最近工作上有点闲,自己开始看看书,学习一些新的技术.最近开始看Linux内核的分析,Object-C编程和git的使用等书籍.看到累得时候,就喜欢到CSDN的论坛里逛逛,看看上面C语言论坛里大家提出的问题.只要是贴出代码的,我就习惯性copy到本地,运行一下发帖人的问题.然后开始找其中的问题.有的LZ贴了很长的代码,我也一并拷贝,然后运行复现问题,最后解决问题回帖给LZ看.这种方法可能不太好,不如给他讲解问题所在的好.有时候我也会附上一些问题的解决办法或者问题出在哪里.让我感觉不舒服的地方是,大部分的帖子代码风格没法看,所以一般我都是先改一下代码风格,然后再查找问题,更不用说很长的代码了(大于200行).以下是我对初学者的一些建议,言语不当之处请见谅,说的不对之处望指出:

    1) 函数长度控制要适宜,一般控制在200行左右吧;功能多,逻辑复杂代码的行数自然会多,但不能把所有功能都放到一个函数里去实现,尤其是放在main函数里去实现;我们应该有意识的去分割,不论是按功能还是按代码重复度去分割,都是可以的.如果有多个功能要实现,建议用一个函数去实现,如果多个函数里有重复性或者类似的代码,建议把重复的代码另写一个函数实现.这样写的好处是功能清晰,函数短小利于阅读和理解.但也不要极端,把每个函数都写的很短很小,这样反而对程序的性能起到反作用.所以,建议大小要适宜.

    2) 函数名和变量名的定义;我的建议是要做到见名知义,变量名或者函数名建议使用单词或单词的缩写形式,所以需要我们有一定的专业英语基础.学编程也需要我们学好英语的,尤其是专业英语.对于这个方面的学习,可以通过看别人的代码(优秀的),积累一些通用的单词缩写,比如一个计数变量count,也可以用其缩写cnt,再比如循环变量,大家都基本上使用i,j,k,所以我们也尽量使用,这样别人看到这样写就知道什么意思了.看到有些LZ的代码里使用拼音,不是不行,自己看是好理解,中国人看还可以,如果是外国人呢.我们的代码要朝着外国人也能看懂方向去吧,再说我们用汉语拼音定义变量或函数名,公司领导估计也不愿意的.所以,我们现在就要有意识的去做这件事情,不明白的单词可以去网上查嘛,学编程还能提高我们的英语,多好的事情.

    3) 代码风格.看到LZ的帖子里代码写的都很紧凑,还好没看到把多行代码写在一行里的,不过有见过把两行代码(两个分号)写在一行的,如果较短小的话,还是可以理解的,如果有超过3行的写在一行里,我感觉看着不舒服.我们写出的代码不是仅仅为了实现功能的,另一重要的是给别人看的,别人如果看了我们的代码很乱,不知道在背地里怎么骂我们呢.先不管功能实现的好不好,程序性能有没有最优.这些需要积累的,不是一天两天能够做到的.但是,把代码写的清晰有序,这是一个习惯问题,所以我们要养成这样一个好习惯.什么样的格式是好的呢,不同的公司可能有自己的代码风格,有些是通用的,比如空格的使用,for (i = 0; i < MAX_LEN; i++);变量与逻辑符之间加空格,分号后加空格, for, if, else后面与括号之间加空格等等.华为有自己的代码风格,可以参考一下他们的.总之要有自己的一个好的编程风格习惯.

   4) 代码的调试步骤,我在论坛里看到有些LZ的贴出的代码比较长,我编译一下发现有多个语法错误,警告也有好几个;然后标题写上"编译通不过";编译不过,只能说是语法学得不够好,基础不牢固.对于语法错误,与其让他人帮忙解决,不如自己独立去解决,不论是查书,还是上网自己搜资料,通过自己的努力将错误去掉,把警告找出原因,尽量也去掉.这样才能学到更多的东西,求人首先要求己.不通过自己的思考和努力,把问题交给别人,这样就相当于把学习的机会让给别人.因为将来去公司工作,工作是让我们自己去做的,而不是求别人.所以,首先要摆正态度,养成独立思考,独立解决问题.如何让自己的编程能力提高呢,不就是在初学时多出错误,多去解决错误和问题,这样才能够更快的进步嘛.

    话题扯远了,对于代码长,错误有多,警告也多的情况,除非是拷贝别人写的代码,如果自己写,我建议还是一步一步的来.怎么说呢,就是要实现若干个功能,那么就一个功能一个功能的实现.每个功能写好了,编译运行没问题了,然后我们再去实现下一个功能.这样如果功能之间有穿插,调用,我们也好定位问题的位置.反之,把功能一下子都写出来,然后编译看到那么多错误和警告,大家都会看着头疼,不愿意继续去看,况且是代码风格很奇葩的呢.

    对于拷贝别人的代码,我们也可以分步去调试,可以把一部分功能先注释掉,然后多加一些调试信息判断一下函数是否按照预订的逻辑去实现了,变量是否为想要的值等等.如果,自己对调试工具用的还行,也可以使用调试工具,设置断点方法等等去调试错误.比如使用gdb去调试运行出现的段错误.


最短路径[Floyd算法,Dijkstra算法,Bellman-Ford(贝尔曼)]算法

相信大家应该对最短路径算法很感兴趣吧!不感兴趣也没关系,我们一起来看看下面的例子。最短路径应该是在众多算法中。最常用的一类算法。为什么这样说呢?? 例如: 1.乘汽车旅...

MATLAB 三维画图

clc;clear; close all a=5; b=3; x=1:8:; y=1:5; [xx,yy]=meshgrid(x,y) z=xx.*yy figure ...

给初学编程者的建议

  • 2012年10月22日 13:41
  • 32KB
  • 下载

初学编程者之建议(-)

亲爱的广大电脑编程爱好者, 具体来说,应该称0基础而对编程感兴趣的人, 想进入编程一行的人, 你们好,作为过来人, 在这里谈一下, 我自己的经历以及感受, 更多的是给大家一个指引与建议,希望对大家有帮...

对编程语言初学者建议

  • 2013年12月16日 14:35
  • 4KB
  • 下载

50条大牛C++编程开发学习建议

转自:http://www.codeceo.com/article/50-tips-learn-cpp.html1、把C++当成一门新的语言学习(和C没啥关系!)。2、看《Thinking In C+...

关于C++编程的42条建议

  • 2017年03月17日 16:23
  • 1.47MB
  • 下载

IOS编程建议+ 技巧

  • 2015年12月23日 21:07
  • 666KB
  • 下载

大牛C++编程开发学习建议50条

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对于初学编程的一些建议
举报原因:
原因补充:

(最多只允许输入30个字)