代码整洁之道——第一部分
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
编写整洁的代码就像保持你的家/工作场所整洁一样。打扫需要付出努力,而乱扔垃圾则不需要。
虽然我很想列举一些我这些年来见过的糟糕代码的例子,但我自己过去也犯过类似的错误。
编写整洁的代码并非为了追求虚荣!大量混乱且未经重构的代码只会增加技术债务。当其他开发人员使用同一份代码时,由于代码混乱,他们完成任务所需的时间将会翻倍。请记住,随着每个开发人员对同一份混乱代码进行修改和贡献,时间和精力会呈指数级增长。
以下是一些有助于保持代码整洁的建议。
将硬编码值移至数据库
与其这样做……不如 这样做…… 直接在代码中写入税率和布尔开关等常量很容易,却往往忽略了长远后果。我指的是更改这些值。
在这种情况下,最好将这些值移到数据库表中,或者至少移到应用程序配置文件中。这样一来,修改起来会更快更安全,而不用像以前那样,多年后打开代码进行修改、编译,然后祈祷上传时一切正常……你应该明白我的意思。
保障条款
守卫子句遵循快速失败原则。在上面的示例中,我对
IEmailService传递给构造函数的注入引用执行空值检查(假设我使用了依赖注入)。如果引用为空,则会在运行时抛出相关的异常。处理空引用是每个开发者都必须面对的挑战。在代码中使用守卫语句可以有效促进错误检查,养成良好的错误检查习惯非常重要。
眼尖的开发者可能已经注意到,我把一个 IF 语句精简成了一行。你不一定要这样做,但我发现这样可以减少代码冗余,也更简洁。
选择合适的类名
糟糕的类名…… 类名通常最好使用名词。然而,在更复杂的场景中,例如上面提到的需要描述两个相关类时,很容易犯这样的错误。
以下是一种解决方法:
这样更简洁明了。我通过创建一个基类,
Customer然后从中派生出两个子类,实现了继承。在这种情况下,由于继承关系提供了上下文信息,类名可以写得更短。最后,除非像上面那样有特殊情况,否则我不赞成在整个解决方案中到处使用基于继承的模型。这样做会增加不必要的复杂性。
感谢阅读!🙂
第二部分请点击此处查看:




