我理解的正确的代码
Strikingly 要求我整理一份几百行差不多是我最高成就的代码给他们,来获得面试的机会。
我很纠结,他们想从几百行代码里看出什么来呢?
我第一个想到的是把我写过的轮子的核心类抽象成接口,整理到一起,好让他们看到我是如何设计我的轮子的。
然而我并没有发明过轮子。。
之后我觉得把包含了华丽技巧的代码整理到一起,应该能行。
然而什么是技巧呢,我好像并没有掌握过什么牛逼技巧啊。。
我很纠结,Strikingly 是我非常喜欢的公司,并且果然机会往往垂青有所准备的人,而我却没有准备好。。
我只能把自己最近花了2天写的脑图 Demo 的各部分代码发给了他们。。一个基于各种别人开发的框架/库的应用层面的东西。。
结果我确实没能成功加入 Strikingly 哈哈,不过官方原因跟代码不代码的无关。
好了,僵硬地切入正题,说说我理解的正确的代码:
1.逻辑清晰,书写工整简单:
就是易读。代码要能够快速被别人(1个月后的自己)读懂,并且相对简单的逻辑可以减少出错的几率。这里要求但不限于:变量名和函数名要语义化,逻辑代码尽量使用有意义函数拆分开,必要的注释,美观且一致的代码风格。
2.接口简单:
不管是为自己还是其他人,简单优雅的接口会让你的代码更易被使用。这里要求合理地抽象业务逻辑,对代码进行适度封装。
3.容易被测试:
我所知道的人类是绝不可能写出绝对正确的程序的。那么我们只能在尽可能广的范围下确保程序不出错。这时候就要求代码容易被测试所覆盖,以证明代码在一个限定范围内的正确性。
4.从容应对需求变更:
我等杂碎但非咸鱼的程序猿追求的目标。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?