我与编程:十载寒冰,难凉热血

作者 | 谷哥的小弟    责编 | 张文

来源 | 来自 CSDN 博客

起点与改变

十多年前,我刚开始学软件编程的时候,遇到问题就到处找答案,看别人的文章;再从文章中拷贝代码粘贴在自己的项目里看看是不是能解决问题。解决了最好,要是没有解决的话就继续再找。这种状态持续了很久:不停地四处找代码借以解决自己的项目需求和技术难点。在这个过程中自己的进步微乎其微,而且遇到以往类似的问题依然不清楚该怎么解决,于是只有再次去找代码,复制,粘贴……如此循环。

在这样的循环下,开始有些麻木了,甚至心安理得地觉得:写代码原本就是这样的,大家也都是这样做的。

后来慢慢意识到:我这是在为自己开脱。其实是在心底隐蔽的角落藏着懒惰和急于求成;遇到问题,不想自己解决,寄希望于搜到一段代码,看到一个例子来解决自己的问题;也不在乎过程只要个结果。

直到有一天,赶在 deadline 之前火急火燎地提交完最后一行代码我瘫坐在椅子上开始反思:这就是我的工作么?我要这么继续下去么?

不!绝不!遇到问题不可怕,去解决问题就是了;但是,解决了问题并不是终点而应该总结问题本身和问题中的技术点并为以后类似的情况提供参照;也不能每次都花费大量精力去找寻解决方案。所以,我打算把自己学习和工作学到的技术和遇到的问题总结并记录下来。

由此,我开始了在 CSDN 撰写技术博客。每当懈怠和想偷懒的时候,我总是提醒和敲打自己:世上没有捷径,不走弯路就不错了;自己不是聪明人,就不要装聪明,好记性不如烂笔头;自己笨,就要多花点精力在学习上,早起的鸟儿可以早点沐浴温暖的阳光。


蜕变与精进

时光流水,白驹过隙。我从大学走入了社会,工作和学习的重点也从网络工程转移到了软件研发。在这段时间里,写博客的习惯已经建立起来并有所收获了。每当有人留言说:谢谢你,谷哥的小弟,你的文章帮到了我时内心的成就感油然而生。原来,能帮助到别人是一件非常高兴的事情。这些正向的反馈激励着我去挑战难度更大的技术点。

在 Android 开发中自定义 View 有三个重要的步骤:measure,layout,draw。而 measure 处于该链条的首端,占据着极其重要的地位;然而对于 measure 的理解却不是那么容易,许多问题都是一知半解,比如:为什么父 View 影响到了子 View 的 MeasureSpec 的生成?为什么我们自定义一个View 在布局时将其宽或者高指定为 wrap_content 但是其实际是 match_parent 的效果?子 View 的 specMode 和 specSize 的生成依据又是什么?这些问题以前一直困扰着我,我就去找资料看。

从博客园到 CSDN,从 stackoverflow 到 EOE 论坛,从百草园到三味书屋,搜了一大筐,沮丧的发现这些文章大同小异:只举个简单的例子,很少研究为什么;人云亦云,文章里的内容根本没有去验证和深究;或者避重就轻展示简单的 Demo 直接把难点给绕过去了;文章零零散散不成体系……每次看完这些文章觉得还是晕头转向,稀里糊涂,原本就不多的学习动力和勇气也消失殆尽了。这可能就是《自定义 View 从入门到放弃》的剧本吧:我们欲求不满,欲罢不能——想搞懂却又觉得难,想放弃又觉得舍不得。看了那么多文章依旧不能解答原来的疑惑;就像听过了许多大道理依旧不过好这一生。

这个时候我在想:要是有一个介绍自定义 View 的系列教程该有多好呀!要是有一个图能把繁杂的源码流程梳理得清清楚楚的那该有多好呀!

可是,在反复的搜索之后我的愿望依旧落空了,没有人给我准备好我需要的东西。当我想安慰自己再等等的时候,我猛地想起郭大婶说的那句话:每当你在感叹,如果有这样一个东西就好了的时候,请注意,其实这是你的机会。

是啊,你怎么总是在期待别人把东西摆得整整齐齐地放在你面前呢?自己动手实现这个期待难道不是一个最好的学习过程么?!想到这里,我的心里也不再惶恐,打算自己啃下这块硬骨头。每天下班后吃完饭,稍微休息,就开始读源码、看资料、写代码、画流程图、写博客;一头扎进去钻研,两耳不闻窗外事;不知有汉,无论魏晋。最终,在半个月之后打破桎梏,化茧成蝶,终于解决了自定义 View 的难题并将相关技术撰写成专栏《Android 自定义 View 系列经典教程》。

看源码枯燥么?枯燥。破解难题累么?很累。

我也想去三里屯的小酒吧喝酒,我也想去成都的街头走走。可是,不行。因为,我深知:我的技术储备还不够,我的能力还很有限,我还没有放松的资格。IT 人是靠技术吃饭的,技术是需要积累和锤炼的。如果怕麻烦就会一直遇到麻烦,如果怕吃苦就会一直吃苦。软件开发是一门实践性非常强的学科,想偷懒不实践是难有作为的。所以,我要一直在路上;但行前路、无问西东。

于是,我按照原定的方式前进着:每天白天上班,晚上学习和写博客。在痛苦中收获,在收获中成长;不念过往,不畏将来。走着,走着,花就开了,清风徐来。工作变得从容起来,博客的读者也越来越多,甚至有出版社约稿。也是在那几年,承蒙各位的抬爱,我荣获了 2016 CSDN 年度十大博客之星,排名第二。

延续与成长

工作十年,换了几家公司也从事了几种不同的岗位。但是,对于博客的写作一直从未停止。有人问我:谷哥的小弟,你怎么还在坚持写博客?

其实,我已经没有坚持了。因为,在 CSDN 写博客已经成了我生活的一部分写博客就像每天吃饭、睡觉一样的自然了,又何谈坚持呢?

每当做完一天繁重的工作,有的人会玩游戏,有的人会夜跑,有的人会读书,有的人会小酌几杯;而我,选择的是写几行代码或者一篇博客以此平复疲惫的内心。此时的我,也是最真实的。真实就是力量。这股力量支撑着我笔耕不辍,坚持原创,热衷分享;这股力量鞭策着我在写作过程中尽全力做到案例全面、内容详实、图文并茂;语言风趣幽默、严谨细致、通俗易懂。这股力量驱动着自己走进未曾涉及的领域,Linux、Python、大数据、HTML5、C/C++、数据库、后台框架……在这些陌生的领域,我就像刚上学的小朋友,兴奋又谨慎;当然,最高兴的还是又学会新知识。在学习的过程中,我依旧遵循自己的三板斧:读理论、做实验,写博客。每次把学会的知识作为博客输出,分享给其它需要的人。

在这个过程中,我也渐渐明白:成长的意义在于自己变得越来越好。


致谢与开始

十载寒冰,难凉热血;多年过去,历经变迁,物是人非。但是,心中的火从未熄灭,对于技术的探索和追求从未停歇。今天,历时三周时间的海选、初选、技术专家团队评审,我荣获了 2020 CSDN 年度十大博客之星,排名第四。

时隔四年,再获殊荣,心生感念。

谢谢CSDN给中国开发人员提供了一个广阔的平台,给了我们交流的机会和场所。大家在这里可以探讨技术,也可以闲聊职场百态。或许,我们彼此未曾谋面;但是,我们在温暖的社区互帮互助。或许,我们有时觉得无助;但是,分享会帮助我们渡过难关。

在此,谢谢曾经在技术道路上帮助过我的各位前辈:

  • 郭霖

  • 胡争辉

  • 邓凡平

  • dog250

  • 铁胖纸

  • 杨秀璋

  • SAHADEV

  • lynnlovemin

在此,谢谢 CSDN 的工作人员,是你们让社区充满了活力、温馨、宽容;是你们一直精心守护着社区:

  • 梦鸽

  • 王艳

  • 红月

  • 海涛

  • 成哥

  • 小婷

  • 郭芮

行文至此,一瞥窗外,车像流水,马像游龙,灯火迷离,夜色阑珊。我回过头看见书架上的圣经。

《圣经.启示录》中写道:我又看见一个新天新地,因为先前的天地已经过去了,海也不再有了。

我想是的:过去已经过去,未来已经到来。

这是一个新的开始。

谨以此文,梳理十年博客生涯,纪念我的二零二零。

程序员如何避免陷入“内卷”、选择什么技术最有前景,中国开发者现状与技术趋势究竟是什么样?快来参与「2020 中国开发者大调查」,更有丰富奖品送不停!



☞小米澄清「手机不再支持GMS」;虾米音乐正式关停;《质量效应1》DLC 因源代码损坏而移除 | 极客头条☞一行代码没写,凭啥被尊为“第一位程序员”?
☞程序员硬核“年终大扫除”,清理了数据库 70GB 空间

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页