如何写好代码

来源:互联网 发布:博格巴水货知乎 编辑:程序博客网 时间:2024/05/01 15:56

       我不是一个代码大师,估计连菜鸟都算不上,因为我看到过鸟哥的私房菜(Linux版)上“鸟哥”写的是真好,并且非常的透彻。前段时间通过华为的上机,面试,现在说实话很荣幸成为了华为的一名员工,职位是软件工程师,所以我想有必要把自己的代码水平夯实一下,至少是在毕业之前,多加练习。

       十二月9号到18号进行了十天的培训,学到的东西不是很多,但是却知道自己到底缺乏什么,所以我感觉这些才是最重要的。知之者不如好之者,好知者不如乐之者,研究生期间有三段提升代码水平的阶段,第一阶段是做项目,有些代码必须要编写才行,问这问那,感觉有一部分提升;第二阶段是华为的面试准备阶段,天天看代码,写代码,所以这个阶段自己的水平也有上升的感觉;第三个阶段是华为培训,这个阶段发现进化为的人很多都是代码高手,编程水平确实很高,我是亲眼所见,其实很多时候一些算法啥的也不是很困难,但是却缺乏那种编程思维,不知道C语言这个工具如何用,才导致了今天的虽然感觉都知道怎么算,却不知道如何用C语言实现。其根本原因还是写的少。

       写代码需要注意以下几点,慢慢的你就会发现自己的水平真的是在不断地提高。我参加过很多次中长跑比赛,就以跑步为例。

       1、代码的功能一定要实现。无论是考试,还是做一个简单的项目,不能实现代码的功能即使代码写的再漂亮也是无济于事,这就相当于能跑了,我们什么时候能跑,三岁左右吧!

       2、代码要考虑边界问题,最近写过很多篇论文,对边界要求很高,高水平和低水平之间的差距就是高水平考虑的东西要比低水平考虑的东西要多,对复杂事情的处理能力同样也体现了一个人的水平,转到跑步上来就是在拐弯的时候要有自己的技巧,否则很容易在这个阶段被别人超过。

       3、代码不但要让自己看懂,还要让别人看懂,自己看懂的也许过段时间自己就看不懂了,自己能看懂别人也能看懂的,以后自己看的时候才能看懂,慢慢地积累自己的水平也就高了,转到跑步上来就是在什么时候发力,有些人喜欢开始就发力,大家不理解,但是最后却一直遥遥领先,慢慢地大家都知道他们的节奏了,有些人开始不怎么发力,保留体力,最后猛地一冲,一下子越到了第一位,于是大家同样也相信他,但是这两种方式开始大家都不怎么相信,只有开始自己理解了大家也理解了,慢慢地就找到自己的节奏了。

       4、代码的健壮性,有时候也叫代码的鲁棒性。代码的强健性比较好,实际上就是不容易出毛病,这里扎实的基本功是很有必要的,转到跑步上去就是平时多加一些力量练习,跑步的时候才不至于被人恐吓,才会更有力气。

       5、代码的可移植性。这一点很重要,不单单在这款单片机上能用,在另外的一款单片机上也能用,只需要改一下相应的配置就行了,简简单单,轻轻浅浅,傻瓜都能改的代码才是好代码。跑步不单单是在跑道上能跑,越野的时候在光滑的油漆道上照样能跑出好成绩这才好呢。

       6、还有代码的圈复杂度不能太高了,深度不能太深了之类的,这些每个公司都有自己的规范标准,跑步也是这样玩那么多的花样小心会崴脚,步子迈大了小心扯着淡,还是多写吧!慢慢就发现规律了。

       因为知道了自己哪儿的不足,所以我想有必要分析一下自己的不足,然后有针对性的去对这些东西进行改进,现在遇到的一些问题是:

1、单链表,双链表的东西,从今天开始应该多多注意,几个题不能达到锻炼的目的,要多做题,多写代码,将链表的问题用熟,那样也就见到链表的问题就不怕了,现在是见到链表就想先转为数组进行计算,但是大家都知道链表的很大的一个特点就是计算速度快,为了达到计算速度快的目的,所以从现在开始,多用链表。

2、树,树是一个很形象的概念,一听到树我们就会想起左序法,中序法,右序法,因为这些都是数据结构中学到的东西,但是我们确实都没有用过,但是以后确实会有用到,这些知识需要夯实。

还有很多其它的算法问题,未完待续。


0 0
原创粉丝点击