一个30年老程序员的修炼之道

2019-07-09 15:08 稿源:InfoQ公众号  0条评论

2 关于团队协作

代码评审不是为了检查代码风格  

在进行代码评审时,请把时间花在架构和设计问题上,不要对代码风格问题吹毛求疵。没有人会喜欢这样的代码评审:“这一行开头多了一些空格”、“括号里少了空格”……

代码格式化工具不能解决所有问题  

为了避免在代码评审时讨论代码风格问题,有些团队在提交代码之前会使用格式化工具格式化代码。

但这样还有一个问题:我们是人,不是计算机,计算机能够读懂的东西不一定适合人类。格式化工具虽然为我们带来了某种程度的可读性,但不一定都是对的。

遵循代码风格  

如果你的项目定义了一种代码风格,就必须遵循它。

C/C++ 只有一种代码风格:K&R  

其他代码风格都是不对的。

Python 只有一种代码风格:PEP8  

既然社区都在遵循 PEP8,你也应该这样做,这样你的代码就可以更容易与社区的代码集成。

显式胜于隐式  

你知道到目前为止最糟糕的函数名是哪个吗?

是“sleep()”。

究竟要 sleep 多久?是以秒为单位还是以毫秒为单位?

虽然诸如“sleepForSecs”或者“sleepForMs”之类的函数名也算不上最好,但肯定比“sleep”好。

通才的职业生命线比专才长  

如果你精通某一门编程语言,可以很容易地找到一份工作,但从长远来看,编程语言也会老去。如果你也懂其他编程语言,可以让你走得更远。

我一直在坚持一种编程原则:工作中使用的编程语言和工作之余使用的肯定不一样。我就是通过这种方式学会了很多东西:通过写 Rust 代码了解 Java 泛型原理;想要在 C++ 中实现依赖注入,所以对 Spring 也有了更深入的了解。

把“花一个小时以上解决的愚蠢错误”记下来

有些错误花了你一个小时以上才得以解决,比如“忘了加依赖”、“忘了加注释”,把它们记录下来,这样以后不需要花那么多时间就能找到问题所在了。

3 关于个人

如果累了,就要停下来休息  

如果代码写不下去了,就停下来。如果无法再往前走了,就停下来。不要逼自己往前走,那样只会让事情变得更糟。

有一次,我在犯了偏头痛的情况下继续写代码。第二天,偏头痛好了,但我不得不把之前写的代码全部重写,因为在偏头痛时写的代码简直就是一坨屎。

学会说不  

有时候,你需要勇敢地说“不”。

有一次,我对我们的 CTO 说:“我可以做这件事,但我并不认同这么做”。结果呢?结果那个 App 因为我们不恰当的做法被禁了。

你要对自己的代码负责  

要做到这点很难,非常难。

写出用来捕捉人脸或辨别种族的代码并没有错,但你要想一下,这些代码会被用在什么地方。

成长过程很艰辛  

无法通过编译的代码会让我们感到挫败,用户的无理要求会让我们感到生气。

在遇到这些问题时,我们通常无法冷静,而冲动只会让我们自己陷入麻烦之中。

从麻烦中学习  

你会感到挫败、生气、恼火……你会让自己陷入麻烦之中。你也会看到其他人因为这类事情招来大麻烦。

但你必须从麻烦中学习,不要轻易忽略它们。

我从挫折中学到的一件事是:当我感到沮丧时,就会变得很好斗。现在,当我发现自己开始感到沮丧时,就会向别人寻求帮助。你可以看到别人也会有同样的问题,不仅仅是你。

注意别人的反应  

有时候,当我问别人一些事情时,他们的反应很激烈,就好像我在说他们的解决方案是错的一样。

这个时候我会补上一句:“我并不是说你们的方案是错的,我只是感到有点疑惑”。

这样你就不会惹上麻烦。

远离“有毒”的人  

你会发现,有些人虽然不会对你“闲言碎语”,但会在公开场合对其他东西——包括对其他人——“碎碎念”。

请远离这样的人。

你根本不知道他们的这种态度会让你变得多么沮丧。

你总是要经历“英雄项目”  

“英雄项目”是指为了解决一系列项目问题而提出的另一个项目、规范变更或框架。

你利用空余时间去做这些事情,可能只是为了证明自己的观点。

有时候,你会发现你的想法是错的。

不要把“英雄项目”和“英雄综合症”混淆起来

我至少见过两次了:有人声称如果他不在场就什么事都成不了,或者他不需要别人的帮助就可以完成任何事情。

这就是所谓的“英雄综合症”——这个人是唯一一个能够解决所有问题的人。

但请你不要成为这样的人。

什么时候可以考虑离职?  

当一些奇怪的事情导致你无法及时完成项目,而你的老板却无法理解你。

当你的同事一直对你进行“微攻击”。

当那个喜欢搞恶作剧的人无休止地说一些废话,还有那个患上”英雄综合症“的人……

这个时候,你可以考虑准备简历了,不管他们给你多少薪水,也不管项目有多好。

IT 这个圈子真的很小  

IT 圈子真的很小。今天和你共事的人,在经历了几次工作更迭之后,可能会在 15 年之后又和你成为同事。

便利贴真的很有用  

我曾经多次尝试”无纸化“,但到了最后发现有时候手头有一个笔记本和一支笔其实很管用。

在博客上分享想法比保持安静更好  

你可能会觉得”我还没有准备好分享自己的想法“,或者”这个想法很蠢,我不应该把它分享出来“。

你其实可以通过博客把想法分享出来,虽然你觉得它很愚蠢,但可能会比其他人的好。

把评论功能关掉  

有些不怀好意的人会在你的博文底下捣乱,他们可能会说”这个想法很愚蠢“。所以,把评论功能关掉,不要让这些人影响你。

把你不知道的东西记到清单里  

著名的物理学家 Richard Feynman 喜欢把他不知道的东西记在本子里。

如果你发现了一些很酷的东西,并且想进一步了解它们,可以把它们记录下来。

英文原文:

https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/

声明:本文转载自第三方媒体,如需转载,请联系版权方授权转载。协助申请

相关文章

相关热点

查看更多