初学编程需要注意的6个细节

    本文算是自己刚刚涉及一些较大的项目1年多的感想,完全是自己的感觉,有不成熟的地方欢迎大家各位前辈指正,也希望以本文与众多学习计算机、软件的专科生、本科生和研究生们共勉。

1、算法的有效性

    算法作为程序灵魂的存在,自然是每个程序员都要学习的。从我的经历来看,高中NOI的经历,到大学虽然放弃了ACM,但是在代码中无处不涉及到算法。与算法相挂钩的自然主要是程序的时间复杂度,一个好的程序自然需要合理的算法,对于不是专门研究算法的程序员们来说,不需要去研究那么多的经典算法,大概知道就行。只要能在合适的地方用到合适的算法,这才是最牛的。

    我一直以为一个好的程序员最厉害的地方不是他会的东西有多少,而是他的研究能力有多强,现学现卖的能力够不够,会不会比猫画虎依样画葫芦,还得画得准画得有意义。

2、数据结构的合理性

    前段时间在人人上看到一个状态,说是一个程序员动不动就开个大数组出来被老板骂的事情。如果说算法是程序的灵魂,那么数据结构就是真身,没有这玩意就相当于一个活僵尸,出来只能是吓人的。

    数据结构和算法在某些方面是一样的,要用的对,用的准。实际上在你随手开了个大的二维数组的时候,你有没有想过计算机的感受?我们现在天天叫喊着要节约能源,保护环境,不会用好的数据结构那才是极大的浪费计算机这个能源,更别提用户的感受了。同样是一个程序,功能类似,一个打开了占电脑1G内存,另一个连50M都用不了,你选谁?

3、系统架构、参量及对外接口等的严谨性

    这个对于初学者来说是最难得,至少对于我来说是这样。举个例子,在一开始学C语言的时候,大家用不好函数传参,是不是就喜欢开一堆全局静态变量扔那儿呢?这多方便啊。

    再比如,加入某公司开发的API,给你留的接口净是些没用的,或者坏的,经常你得往里面加一大堆你自己都不明白为什么要加的参量进去API才能认识......(语言描述不清大家见谅,这是某个分词器给我带来的困扰,就不点名了,省的挨喷......)

    一个项目,不是一个两个人都搞的定的,当然如果有工程师定好了条条框框,你当然可以照着做不会出岔子,小的项目哪有这玩意,别人写的乱七八糟的API给你用你能忍!?

4、代码的可读性

5、代码风格的飘逸性

    4和5说白了是差不多一个东西,这个是需要编程的头2,3年培养的,到了后面也不好改。就跟人似的,小时候养成的习惯,现在回头看看是不是好多自己都后悔了?那么这东西一定要在一开始就注意,就像写字一样,我们常说字如其人,其实代码也如其人才对

    现在的项目,有哪个是做出来了就不管了的,哪个不需要后面去维护区更新的?要是你进到一个公司,让你去改以前别人的写的代码的小bug,那上千行代码就那么几个零零散散的注释,又是大括号逗号满天飞,参量到处设定,密密麻麻的一大片,黑乎乎的一大团......看到这么个东西,你难道不想摔屏幕么?

6、工程文件存储的条理性

    这个我也是刚刚开始学,很多文章都推荐用GIT或者其他的一些东西来帮助自己管理自己的项目文件。因为自己还很少用到Linux,真是不熟悉这玩意。我自己的项目还是基本复制粘贴到某个目录,做好备份,版本号自己随便拽上去就好了。这个第6点我提出来就是因为自己在项目中经常遇到新版本的工程新鲜出炉了,然后发现bug了,然后旧版本的被覆盖了,然后...就没有然后了。

 

后记:

    听说程序猿哥哥姐姐们都会没事写博文,这是程序猿除了每天一根香蕉以外的另一个好习惯,我当然也要来学习学习。目前还在读大二,水平比较渣,实验室以后的项目还有一些比赛中自己研究的一些东西一定会拿来写一写。毕竟,自己这两年从网上通过各种各样的博文解决了自己太多的问题了,谁希望自己的问题只能靠研究document来解决呢?

    我的第一篇博文,希望文笔还凑活,给个及格分吧吼吼~

你可能感兴趣的:(编程,初学,细节,本科)