1. 坚持学习,高效的学习
程序员这行,是一个需要持续学习的行业。
一般人都知道学习的好处,但是学习苦,大部分人都坚持不下去。
除了坚持学习,还要会高效的学习——单位时间内你学到的东西越多越好。
现在有很多优质课程,可以适当花点钱。为了防止花冤枉钱,一定要选择大厂技术高手的课程。花一点钱去换别人几年的经验总结,还是很值得。
再说了,花了钱会给自己点压力,不学的话钱就浪费了,让你更容易坚持下去。
不要在学习方面舍不得花钱,投资自己比投资其他东西更靠谱。
2. 引入新的技术栈的时候,要以官方文档为主
在项目里,无论使用新的 jar 包,还是用新的中间件,一定要去看官方文档。
现在网上的技术文章鱼龙混杂,再加上国内那个不咋地的搜索引擎,所以在网上搜靠谱的技术文章,就相当于在屎坑里捞金子。
比如,如果你想要对 SpringBoot2 写的代码进行单元测试,JUnit 版本你可能已经是 5 了。但你搜到的网上文章很可能会告诉你测试用例需要注解:
@RunWith(SpringRunner.class)
但是官方文档说了,其实如果你用 JUnit5,就不用加这个注解了,加了反而可能引起不必要的冲突。
所以,官方文档对新技术的引入是唯一的参考金标准。
3. 一定要悄悄地把代码测的没问题了再交付
编程水平很高,意味着你写的代码很靠谱,而且能交付可靠的技术产品。
那可靠的产品第一评估标准就是 bug 少。这个 bug 少是别人评估的,而不是自己评估的。
无论咱们自己代码实现成什么样子,哪怕是代码写的还不完美,但是,只要咱们通过自测,在提交之前尽可能把问题解决掉,让别人少发现你的错误,尤其是低级 bug,那么你才是一位可靠的程序员。
所以,交付任务前,一定要自己把代码全方位地测试一遍,保证自己有着优秀的口碑才好。
4. 打日志的时候尽可能把输入、输出以及耗时都打印出来
我们打日志的目的是什么?是为了定位问题的。
问题有哪些?其实大体就两种,逻辑问题和性能问题。
逻辑问题,我们如果打印了输入和输出,那么根据业务规则,这么一对照就能很容易定位到问题。
性能问题,我们无论是通过像 grep、sort 等 shell 命令去直接对日志做个过滤加排序,还是通过日志搜集加日志搜索等工具,都能很容易的发现到问题。甚至还可以和监控系统联合起来,直接做预警。
所以,打日志的时候,我们要记得把输入和输出以及时间都打印出来。
5. 学好 Git
Git 这东西太重要了。现在的团队开发,用 Git 管理各种代码版本,代码分支。如果你用不好 Git,很容易就会因为合并代码、升级版本等情况,产生出许多没必要的 bug。
一个用不好 Git 的团队,可能每次上线,都会带来那么几个莫名其妙的问题。
6. 先实现最确定的需求,不确定或者模糊的需求先往后放
实现需求的先后顺序,注意一定要以需求的可靠程度为准。
在分配给我们的需求里一般分两类:
- 有的需求是我们和产品经理都非常明确的需求;
- 也有的需求比较模糊:开会讨论时大家都觉得没什么问题,但是一到代码实现的时候,就发现还存在很多问题。
这时候,咱们应对的技巧是,先对这些需求搭一个统一的架子,把已经非常明确的需求先开发出来。
由于架子搭建出来了,这时候再和产品经理讨论那些模糊的需求,很容易就能让产品明白困难的地方,这样就可以把沟通难度降到最低。
7. 主动找项目里的问题并给出解决方案
问题是什么?问题就是在实践过程中需要解决的东西。
把这些问题一个个找出来,解决掉,这些解决问题中产生出来的方案,全会形成推动项目前进的推动力。那么产生这些推动力的你自己,一定会从中获益良多。