程序员的10个好习惯

我总结了 10 个程序员的好习惯,今天分享给大家。

1、引入新的技术栈的时候,要以官方文档为主

在项目里,无论使用新的 jar 包,还是用新的中间件,一定要去看官方文档。

比如,如果你想要对 SpringBoot2 写的代码进行单元测试,JUnit 版本你可能已经是 5 了。但你搜到的网上文章很可能会告诉你测试用例需要注解:

@RunWith(SpringRunner.class)?

但是官方文档说了,其实如果你用 JUnit5,就不用加这个注解了,加了反而可能引起不必要的冲突。

所以,官方文档对新技术的引入是唯一的参考金标准。

2、一定要悄悄地把代码测的没问题了再交付

在职场上,什么样的人才能快速成长、快速得到重用?答案是可靠的人。

那就程序员来说,什么样的人才算是可靠的人?答案是交付可靠的技术产品。

那可靠的产品第一评估标准就是 bug 少。这个 bug 少是别人评估的,而不是自己评估的。

无论咱们自己代码实现成什么样子,哪怕是代码写的还不完美,但是,只要咱们通过自测,在提交之前尽可能把问题解决掉,让别人少发现你的错误,尤其是低级 bug,那么你才是一位可靠的程序员。

所以,交付任务前,一定要自己把代码全方位地测试一遍,保证自己有着优秀的口碑才好。

3、打日志的时候尽可能把输入、输出以及耗时都打印出来

我们打日志的目的是什么?是为了定位问题的。

问题有哪些?其实大体就两种,逻辑问题和性能问题。

逻辑问题,我们如果打印了输入和输出,那么根据业务规则,这么一对照就能很容易定位到问题。

性能问题,我们无论是通过像 grep、sort 等 shell 命令去直接对日志做个过滤加排序,还是通过日志搜集加日志搜索等工具,都能很容易的发现到问题。甚至还可以和监控系统联合起来,直接做预警。

所以,打日志的时候,我们要记得把输入和输出以及时间都打印出来。

4、学好 Git

Git 这东西太重要了。现在的团队开发,用 Git 管理各种代码版本,代码分支。如果你用不好 Git,很容易就会因为合并代码、升级版本等情况,产生出许多没必要的 bug。

一个用不好 Git 的团队,可能每次上线,都会带来那么几个莫名其妙的问题。

5、优先实现功能,性能问题或许没那么着急

我在带团队的时候,经常发现有些刚入行的同事,会边写代码边纠结自己写的代码性能是否有问题。其实真的不必这样。像我们这些老程序员,都知道过早优化有时候可能白花费功夫。

像咱们如果写一个批处理的定时任务,这个任务要求只要在凌晨运行,在大家上班前任务完成就行。那么,这个任务从凌晨两点运行到六点和运行到四点,有什么区别吗?

优化代码一定要适度,要在写完功能之后,看功能会怎么被使用,根据实际的要求,去优化真正需要优化的地方。

6、先实现最确定的需求,不确定或者模糊的需求先往后放

实现需求的先后顺序,注意一定要以需求的可靠程度为准。

在分配给我们的需求里一般分两类:

有的需求是我们和产品经理都非常明确的需求;

也有的需求比较模糊:开会讨论时大家都觉得没什么问题,但是一到代码实现的时候,就发现还存在很多问题。

这时候,咱们应对的技巧是,先对这些需求搭一个统一的架子,把已经非常明确的需求先开发出来。

由于架子搭建出来了,这时候再和产品经理讨论那些模糊的需求,很容易就能让产品明白困难的地方,这样就可以把沟通难度降到最低。

7、主动找项目里的问题并给出解决方案

问题是什么?问题就是在实践过程中需要解决的东西。

把这些问题一个个找出来,解决掉,这些解决问题中产生出来的方案,全会形成推动项目前进的推动力。那么产生这些推动力的你自己,一定会从中获益良多。

8、评估开发周期,要留出冗余时间

留出冗余时间的目的很明确,在咱们开发的时候,遇到的意外情况太多了:

需求又双叒叕变了

团队人员有变化

当初估算的时间乐观了

这个功能需要动老代码

需要跨团队合作开发

领导说“加个小功能”,领导认为这个小功能不影响开发周期(此处省略二百字)

……

所以,冗余时间是要留出来的。

留出的冗余时间不等于摸鱼时间,开发还是按照正常的节奏干,早做完早交付。

9、不要光看书去学习技术,要把感兴趣的技术通过代码实现出来

咱们程序员最重要的就是实践,能把学到的知识转化为实践用到工作上。

光看书学习技术,很可能只会让咱们产生出已经学会的错觉。只有通过代码把感兴趣的技术实践练习了一遍,咱们才真正能明白这技术实际用起来是什么样子,需要注意什么。

10、英语还是挺重要的

你不得不承认,IT 这行,基本所有的创新都诞生于英语的世界。

比如 k8s,就我所知就是国内英语好的技术人员从英语社区逐渐在国内推广开来,而这些推广了 k8s 的先驱也自然掌握了 k8s 的话语权。大家可以看看 k8s 在市场上的流行程度,也可以看看一位 k8s 专家的工资大概是多少。

而且,我前面说过,大家引入新技术一定要看官方文档,官方文档百分之八十都是英语的,所以英语确实重要。

如果英语不好,是不是就没机会了?没这么绝对。

就说我吧,不瞒大家,我英语四级没过,但还是照样能看英语资料,照样和别人一起翻译了国内的第一本 Hibernate 技术书。

当初我用 Hibernate 在国内算是比较早的一批程序员了,也经常去论坛回答问题,所以后来就有人找我一起翻译书。我最开始是抗拒的,觉得自己英语太烂了,翻译不好。后来我又想,既然我能看着英语文档学 Hibernate,要不就试试。于是就这么着干了一把。

作为一个过来人,我想说的是,技术文档没有特别复杂的语法、生僻单词,而且现在还有翻译软件、插件可以帮我们阅读。即使英语基础一般,也没什么大不了的。

-完-

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容