@程序员,你该如何磨快你的锯子

简介: @程序员,你该如何磨快你的锯子

01、前言


作为一名程序员,本职工作当然是编写代码,毫无疑问;就像一名伐木工人,他的本职工作就是锯树;但如果锯子钝了,锯起树来可想而知有多么的吃力。


我相信,99.99% 的程序员都知道要把锯子磨快;但估计只有 0.01% 的程序员愿意停下来,去思考怎么磨快自己的“锯”——泛指编程以外的活动,但可以帮助你成为一名更好的程序员。


当今这个年代,每个程序员都忙得像一只陀螺(更何况还有一支看不见的鞭子一直在抽打着我们),完全没有时间停下来去思考啊,就像伐木工人说自己“连锯树都忙不过来,哪有时间磨锯子啊。”


但无论如何我都要提醒你,该停下来的时候一定要停下来啊。我们成长的过程中需要刻意练习,需要编写不计其数的代码,但如果不知道练习的方法,就只会徒劳无功。好了,废话不多说,让我来告诉你两个磨锯子的好办法吧!


02、拜大牛为师


假如你所在的公司很靠谱,那么在你刚入职的时候,就会派一名尽职尽责的富有经验的“高手”带带你——公司投资你,也是希望未来的你能够公司带来人超所值的贡献。那么恭喜你,你很幸运,机会来了,要紧紧抱住这个大腿,别松手。


但要注意的是,你要做的不是天天尾随“师傅”屁股后面端茶倒水、溜须拍马,而是认真聆听、仔细观察和及时反馈。


认真聆听指的是,师傅安排任务的时候,一定要洗耳恭听,把任务搞清楚,别不懂装懂。说起来,很惭愧,我年轻的时候就经常性犯这个错,总担心自己的词不达意会耽误师傅的黄金时间,就不敢把心中的疑虑说出来,导致工作起来手忙脚乱,最后反倒耽误了师傅的时间,被骂得狗血喷头。


仔细观察指的是,你得拥有一双善于发现美的眼睛,去观察师傅高效编码的习惯,解决问题时的思考方法,以及为人处世时的一些技巧。这些可难得了,学校不会教这些的。


最后,千万别忘了及时反馈,不要在那里干巴巴地等,等师傅来找你要结果,自己要主动去反馈,做一个积极向上的人嘛。


假如你没这么幸运,公司不太靠谱,师傅也不太靠谱,怎么办呢?去网上找啊!比如博客园上的这些推荐博主。


image.png


切记,不要一上来就去看他们成功后的经验分享,而要去看他们早年期间刚开始成长时候的经验(非常宝贵)。建议你把他们的博客倒序排一下,从第一篇文章看起(如果他好意思没删的话)。如果还能更进一步,加入到他们的社群当中。切记不要在群里灌水,要去吸收有营养的价值——如果没有,坚决退出。


如果大牛留下了联系方式,不要吝啬,赶紧占个位置先。切记要带着问题去请教或者探讨。因为回答或者探讨问题不需要太多的时间,靠的是经验和积累,这种情况下,大牛们都是很乐意的,毕竟影响力是大牛的一个重要指标嘛。


但如果,你一直停留在“在吗?”、“我很迷茫,给点建议好吗?”这种泛泛而谈,没有任何艺术的提问,大牛是无暇顾及的,毕竟你很忙,大牛也很忙啊。


03、大量的阅读


要用一种开放的心态,去阅读大量的编程相关的博客或者书籍。


有不少程序员会怀着一种真切但不切实际的希望——读完这篇博客、这本书我就能够成为技术大牛了。但实际上,如果我们能从中找到哪怕只有一点(让我们变成更好的程序员的)内容,就赚到了。其实这已经很贪心了。


可能会有一些程序员抱怨说:“我去哪里找这么多时间读书或者读博客啊?能不能给我点快餐?”听到这样的声音,我不免泛起怜悯的同情心;再送你一句鲁迅先生的名言啊,听好了——时间就像海绵里的水,挤挤总会有的。


如果能时光倒流,回到过去,作为一名(Java)程序员,我必须郑重其事地告诉你,这 8 本书(排名不分先后顺序)是必须要读一读的。


image.png


1)《代码整洁之道》,推荐指数:五颗星


细节之中自有天地,整洁成就卓越代码。从《代码整洁之道》中可以学到:


好代码和糟糕的代码之间的区别;

如何编写好代码,如何将糟糕的代码转化为好代码;

如何创建好名称、好函数、好对象和好类;

如何格式化代码以实现其可读性的最大化;

如何在不妨碍代码逻辑的前提下充分实现错误处理;

如何进行单元测试和测试驱动开发。

2)《Effective Java》第三版,推荐指数:五颗星


第三版一共包含 90 个条目,每个条目讨论 Java 程序设计中的一条规则。这些规则反映了最有经验的优秀程序员在实践中常用的一些有益的做法。


不过,这本书的中文翻译太过蹩脚,读起来非常生硬。每段文字我都要读上两三遍,才能心领神会的“哦”一声。(要是所有的技术书都能像我的文字一样有趣该多好啊)


3)《人月神话》,推荐指数:五颗星


在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。不过话说回来,这本书的受众不应该只是程序员,那些口口声声说“需求很简单,用不了多久就能开发完,大不了再加个开发嘛”的人更应该读一读。


4)《设计模式之禅》,推荐指数:五颗星


本书是设计模式领域公认的 3 本经典著作之一,“极具趣味,容易理解,但讲解又极为严谨和透彻”——可能是因为本书的作者(秦小波)和王小波(我最喜欢的作家)是同一个名字的原因吧?!


读完前言,我就爱上了这本书。说句心里话,技术书就应该这样写嘛,读者才能融会贯通。


5)《程序员修炼之道》,推荐指数:五颗星


本书由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,到用于使代码保持灵活、并且易于改编和复用的各种架构技术,穿插了许多富有娱乐性的奇闻轶事,极大地提高了本书的可读性。


PS:经典的英文书一经翻译,总免不了生涩的味道——就好像是我(wo)在驾驶一辆布加迪威龙一样。


6)《深入理解 Java 虚拟机》,推荐指数:五颗星


几乎所有写 Java 虚拟机方面的博客,免不了在后面加上一个注解:本文参照自周志明的《深入理解 Java 虚拟机》。可想而知这本书的风骚程度。


7)《Java 网络编程》,推荐指数:五颗星


Java 网络编程方面的经典书,不容错过。


8)《Java 并发编程实战》,推荐指数:五颗星


如果你正在编写、设计、调试、维护以及分析多线程的 Java 程序,那么本书正是你所需要的。如果你曾对某个方法进行过同步,但却不理解其中的原因,那么你以及你的用户都有必要从头至尾仔细地读一读这本书。


04、最后


当然了,随意地、没有目的的磨锯子,就适得其反了。然而,如果一个程序员对这些完全不感兴趣,那么问题也很严重。


不信,你瞧,libinlink 就在我的博客下面留言要我少写博客多敲代码(有个读者看不下去就在群里截图给我看)。


幸好呢,有一些读者是理智的。


相关文章
|
12月前
|
设计模式 程序员 API
程序员有哪些约定俗成的“码德”?
工作中,你是否遇到过不守“码徳”的程序员,他们的代码从来不讲究规范性。比如不规范命名,直接用a、b、c等字母来命名,回溯代码总会一头雾水;比如调用API时,不讲究入参结构一致,出参结构一致,在编写调用API的SDK时,麻烦重重。本期就来讨论下,程序员有哪些约定俗称的“码徳”。
60 1
|
程序员 开发者
只有程序员才能懂的暗号是什么?
俗话说:隔行如隔山,如何用一句话不露痕迹地向别人展示自己程序员的身份呢?众所周知,程序员这个职业并不是像医生、律师、老师等职业那样被大家广泛认知和了解的。在社交场合中,我们常常需要向别人说明自己的职业身份,而这时候,如果能够使用一些行业黑话或者暗号,就可以更加自然地向别人展示自己的程序员身份。那么接下来就来简单聊一下。
150 0
只有程序员才能懂的暗号是什么?
|
程序员 开发者
程序员日常技巧
程序员日常技巧
程序员日常技巧
|
前端开发 JavaScript 关系型数据库
程序员1
程序员1
98 0
|
前端开发 程序员
如何成为一个牛逼的程序员
“成为一个杰出的程序员!”,每个程序员都是这么想的,虽然嘴上不说!这是一个人人自称“屌丝”,骨子里却都认为自己是“高富帅”(或者认为自己终究会成为高富帅)的年代! 大部分时候,我们一直在努力成为一名优秀的程序员。
1198 1
|
算法 Java 程序员
同样是程序员,为什么别人比你更优秀?
随着互联网时代的飞速发展,越来越多的人投身于软件开发行业,大家都称他们为程序员,或者码农。 这些程序员的水平也是参差不齐的,有些人从比较好的学校毕业,水平却一般般;也有些人从一般搬的学校毕业,但是水平很高,因为他们付出了比其他人更多的努力;也有些人,不管是好学校还是差学校,毕业了都跑去培训班培训了,出来的也是良莠不齐的。
1167 0
程序员常用开发工具配置,给自己留一手!
MyEclipse 新工作空间设置 设置编辑字体和大小 默认的样子很难看,特别中文字将很小 修改为:Courier New字体,字体大小9、10都行,根据自己喜欢。
1064 0
|
程序员
程序员该如何锻炼身体
为什么要锻炼 在椅子上坐了大半天,不知道是吃的饭不合适等缘故还是喝水不足的缘故,有那么一瞬间感觉到浑身内脏湿漉漉的,仿佛外面包裹了一层黄油,哇好恶心,我怎么能说出这种话,不过真的整个人感觉不舒服,后来我想了下人的生命周期中,哪个是最核心的部分,对,是血液!最后我的大脑一致认为,是血液没有很好的执行监听内脏的任务,因为它的进程好像并没有那么活跃。
1304 0
|
程序员
如何成为一名成功的程序员
编程是一个仅靠兴趣仍不足以抵达成功彼岸的领域。你必须充满激情,并且持之以恒地不断汲取更多有关编程的知识。只是对编程感兴趣还不足以功成名就——众所周知,我们工作起来像疯子。
859 0

相关实验场景

更多
下一篇
DDNS