我理解的正确的代码

Strikingly 要求我整理一份几百行差不多是我最高成就的代码给他们,来获得面试的机会。

我很纠结,他们想从几百行代码里看出什么来呢?

我第一个想到的是把我写过的轮子的核心类抽象成接口,整理到一起,好让他们看到我是如何设计我的轮子的。

然而我并没有发明过轮子。。

之后我觉得把包含了华丽技巧的代码整理到一起,应该能行。

然而什么是技巧呢,我好像并没有掌握过什么牛逼技巧啊。。

我很纠结,Strikingly 是我非常喜欢的公司,并且果然机会往往垂青有所准备的人,而我却没有准备好。。

我只能把自己最近花了2天写的脑图 Demo 的各部分代码发给了他们。。一个基于各种别人开发的框架/库的应用层面的东西。。

结果我确实没能成功加入 Strikingly 哈哈,不过官方原因跟代码不代码的无关。

 

好了,僵硬地切入正题,说说我理解的正确的代码:

1.逻辑清晰,书写工整简单:

就是易读。代码要能够快速被别人(1个月后的自己)读懂,并且相对简单的逻辑可以减少出错的几率。这里要求但不限于:变量名和函数名要语义化,逻辑代码尽量使用有意义函数拆分开,必要的注释,美观且一致的代码风格。

2.接口简单:

不管是为自己还是其他人,简单优雅的接口会让你的代码更易被使用。这里要求合理地抽象业务逻辑,对代码进行适度封装。

3.容易被测试:

我所知道的人类是绝不可能写出绝对正确的程序的。那么我们只能在尽可能广的范围下确保程序不出错。这时候就要求代码容易被测试所覆盖,以证明代码在一个限定范围内的正确性。

4.从容应对需求变更:

我等杂碎但非咸鱼的程序猿追求的目标。

上述4点排名分先后(按实践的难易度排序)。

你可能感兴趣的:(我理解的正确的代码)