把每一次的挫败,化解为下一次生长的营养。

最近在工作上比较烦闷,大致想一下,其实原本可以做到更好,记录一些自认为重要的点,以后遇到类似的状况参考之。

出来混,迟早是要还的。

更准确一点说,应该是「今天偷的懒,早晚是要加倍的精力补回来的」。

对于程序员来讲,把代码写得优雅,不将就,不只是为了看起来牛逼,更不是为了装逼,写出易读可扩展性好灵活的程序,以后你因为一些原因在一段时间以后需要去改动维护你自己的代码的时候,你会深深地感激自己当时坚持了一下,抵挡住了临时写法的诱惑,才不用在后来需要付出多倍的代价才能加入一个本不复杂的特性。

坑要及时补,不然下次还会掉进去。

如果你遇到某个技术点不熟,时间允许的话,在完成工作任务的同时,学好它;如果时间不充裕,把它加入你的 TODO 列表,强制自己在得到空闲时,充分系统地学习它。

不然就有可能陷入一个怪圈:

meet-problem

尽量做到知其然且知其所以然,让知识点之间关联成或大或小的知识岛,不然临时学到的那一丁点知识因为是孤立的小石礁,会很快就被脑海里每天接纳的大量信息淹没。

解决问题要形成合适的方法论。

形成自己的一套清晰的解决问题的方法,它将直接决定你对工作、生活中各种事情的解决力。清晰的判断标准是你能有条理地将你的方法讲述给一个没有相关知识背景的人听懂。

比如好好思考一下下面两个路线:

第一种:(我管它叫广度优先)

solve-method1

第二种:(我管它叫深度优先)

solve-method2

对于不同的问题,在思考解决方案的可行性、付诸行动时,哪一种思维方式更加合理呢?尝试去解决问题的我对此不能没有概念,迷糊中下意识地去跨出步子将必然是低效的。

浑水早淌,问题早暴露。

这不是说需求来了直接上手就写程序,而是说前期的构思和设计阶段过后,也就是谋定以后,要尽快开始写,不要纠缠于一些太细节上的问题,它们在实现阶段去解决就好。

对于前期调研有模糊不清需要在实际项目中才能确定的地方,早一天把实际环境接入意味着早一天把这种模糊消除的可能性,早晚要暴露的问题,早暴露意味着在有限时间内对质量的更有效的掌控。

谈论时的底气。

去跟别人谈事情的时候,先把可能会谈及的一些来龙去脉弄清楚,不然可能到时会非常被动,对业务逻辑的细节没有底气会导致紧张结巴以致最终的挫败。

学习的方法。

学习一样东西的时候,不要一股脑盲目扑上去,结合以往类似的经验,选择几条线纵深切入,在过程中有机会再做一定程度的横向扩展。

比如学习Android的应用编程,可以从线程、生命周期、动画等一些常用且非常重要的点去突破。

一次只做一件事。

当妄图同时处理几件事时,情况就会变得混乱起来,最终很可能导致拖到最后发现一件事都没有做好。排好优先级,一件一件来才是正道。

学而不思则罔,思而不学则殆。

这两个简单的句子凝聚着先贤的智慧,在学习工作中都需要随时谨记,用心体会。