发布于 2026-01-06 0 阅读
0

代码整洁之道 – 第 1 部分 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

代码整洁之道——第一部分

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

编写整洁的代码就像保持你的家/工作场所整洁一样。打扫需要付出努力,而乱扔垃圾则不需要。

虽然我很想列举一些我这些年来见过的糟糕代码的例子,但我自己过去也犯过类似的错误。

编写整洁的代码并非为了追求虚荣!大量混乱且未经重构的代码只会增加技术债务。当其他开发人员使用同一份代码时,由于代码混乱,他们完成任务所需的时间将会翻倍。请记住,随着每个开发人员对同一份混乱代码进行修改和贡献,时间和精力会呈指数级增长。

以下是一些有助于保持代码整洁的建议。

将硬编码值移至数据库

与其这样做……不如 这样做…… 直接在代码中写入税率和布尔开关等常量很容易,却往往忽略了长远后果。我指的是更改这些值。
替代文字

替代文字

在这种情况下,最好将这些值移到数据库表中,或者至少移到应用程序配置文件中。这样一来,修改起来会更快更安全,而不用像以前那样,多年后打开代码进行修改、编译,然后祈祷上传时一切正常……你应该明白我的意思。

保障条款

替代文字

守卫子句遵循快速失败原则。在上面的示例中,我对IEmailService传递给构造函数的注入引用执行空值检查(假设我使用了依赖注入)。如果引用为空,则会在运行时抛出相关的异常。

处理空引用是每个开发者都必须面对的挑战。在代码中使用守卫语句可以有效促进错误检查,养成良好的错误检查习惯非常重要。

眼尖的开发者可能已经注意到,我把一个 IF 语句精简成了一行。你不一定要这样做,但我发现这样可以减少代码冗余,也更简洁。

选择合适的类名

糟糕的类名…… 类名通常最好使用名词。然而,在更复杂的场景中,例如上面提到的需要描述两个相关类时,很容易犯这样的错误。
替代文字

以下是一种解决方法:

替代文字

这样更简洁明了。我通过创建一个基类,Customer然后从中派生出两个子类,实现了继承。在这种情况下,由于继承关系提供了上下文信息,类名可以写得更短。

最后,除非像上面那样有特殊情况,否则我不赞成在整个解决方案中到处使用基于继承的模型。这样做会增加不必要的复杂性。

感谢阅读!🙂

第二部分请点击此处查看:

文章来源:https://dev.to/dalbirsingh/clean-code-part-1-378n