2016-12-31 更新: 大作业已经写完了,感谢两位女神帮忙写文档。想起来其中一位还是我的公众号五位首批关注者之一,深感欣慰。
另祝各位新年快乐
又到年终,总觉得应该将这一年做个总结,但又抽不出整块的时间。被大作业中的一行行代码弄得心烦,又不想荒废时间,顺手就写写这篇文章吧。
大学的第二年,从刚入校对技术一无所知的小白变成旁人眼中的所谓“大佬”,其实自己处在哪一层,我自己最为清楚。每次被人称为“大佬”,内心中其实是极其惭愧的。
高中并无编程基础,所以一入学就被C语言吊打。但我知道,既然自己选了这条路,连最基础的门槛都迈不过去,岂不是很丢人? 于是奋起直追,才有了今天的这点微不足道的成绩。
三月份开设技术博客,四月开设公众号,并不指望着什么内容创业,只是希望将自己遇到的坑和大家做一分享,希望各位在学习过程中能够少踩一些坑。从最初只有身边五个人订阅到如今三百位的订阅量,我深感自己的责任之重大,每次推送无不是胆战心惊。只怕给后学带去错误的认识,为前辈所嗤之以鼻。也有人在公众号向我提问,能够给他们带去帮助,我的目的也就达到了吧。
电子的大二课程繁重,每天就是上课自习,信号模电无不是让人感到畏惧。晚上回到宿舍,开始coding,每当解决一个算法题或是几天调不好的bug消失的时候,内心便十分激动,可惜的是,身边的人对此并不很感兴趣,只是流连于游戏动漫或其他事情之中,我也只能将激动的心情先抑制一下。
技术这条路,能够坚持下去的人,真的不多。因为走着走着,或许就只有你一个人了。
一个人又怎样?身边的人不理解又怎样?经常有人问我“怎样才能写出高质量的代码呢?”
“无他,唯手熟尔。”
绝大多数人,都会在听到这个答案后,抱怨没时间写代码。
怎么会没有呢?既然想要做技术,连外物之诱惑都放不下,遑论其他?
连着写了一个多礼拜的大作业,比我晚开始的同学也都陆陆续续收工了,他们很好奇为什么我会写这么久,不就是一个图书馆管理系统嘛,所有书扔进一个链表里存着,程序结束之前数据写进文件,运行的时候从文件里读回来不就行了吗?需要查询的时候一个个作比对不就行了吗?为什么你要写这么多头文件,定义这么多类和眼花缭乱的methods呢?
一本书没问题,十本书也没问题,一百本也还堪用,一千本?一万本?十万本?又该怎么办?难道从头查到尾吗?难道每次查询都得去链表中一个个地比对吗?程序的效率将低到何种地步?
之所以我会有那么多头文件,那么多类和那么方法,不过是根据实际情况设计了专门的数据结构而已。为了提升效率,多花些时间在设计数据结构上又有何妨?
想起《我在故宫修文物》这部片子,钟表组的一切努力都只是为了让有几百年历史的钟表走起来。但真正展览的时候,钟表和观众之间还隔着厚厚的玻璃,实际上,钟表是否走着,对大多数观众来说,根本就不会在意。
我花费时间设计的数据结构也是如此,藏在程序的代码之中,除非拿到源码,否则谁也不会知道在快速的查询,排序之后,究竟隐藏着什么。
即使没有人了解,这件事都值得去做,从我手上产出的程序,绝不应该难以使用。
择一事,终一生。