我理解的正确的代码

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

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

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

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

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

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

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

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

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

 

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

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

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

2.接口简单:

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

3.容易被测试:

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

4.从容应对需求变更:

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

posted on   B1ncer  阅读(1247)  评论(2编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示