优雅代码实践2 之 黄金比例 1:1:1

发布于 2022-09-22 12:53:42 字数 2662 浏览 126 评论 0

今天给小组开发人员做了一次简单的分享,分享完了,再给取了这么一个名字,因为联想到了金龙鱼食用油曾经到处轰炸的广告词 1:1:1(随便百度一下,才知道是指 不饱和脂肪酸:中度不饱和脂肪酸:饱和脂肪酸 为 1:1:1)。我这里指,业务上的一项配置,对应到配置表中的一条记录,对应到代码中的一个 Class,所以也是 1:1:1。

我把这种 1:1:1 也称之为一一映射,这个是数学中的概念,但是应用到业务开发中来,也是一种很好的借鉴。这种映射,是一种天然的映射,非常简单明了,无需经过大脑二次转换,是非常直接的方式。话说如果原始人最多只能数到数字3,那么Ta怎么能确定左手和右手的手指头数是一样多呢?对了,两只手掌对起来,形成一一映射,左手有一只大拇指,右手有且仅有一根大拇指与其映射,反之如此。

更多的关于构建一一映射,可以翻阅《图灵的秘密》这本书。比如,里面说到能与自然数数列形成一一对应关系的集合,称之为可数的;比如0与1之间实数,可以与大于1的实数一一对应,只需要每个数求一下倒数即可。

1、原始设计:

存在问题:1) 一条业务需要对应到多条记录,是在(业务类型、发送类型、发送角色)三者之殇一个笛卡尔全集;2) 根据触发条件(TRIGGER_SITUATION)进行查询配置,缺乏与业务的直接映射;3) 页面上需要写死诸多业务代码;总之,不是一一映射,是一对多映射,缺乏直观性,不利于数据维护。

2、那么多的属性,怎么会不遗漏呢?答:还是一一对应。使用 IDEA 的分栏模式,Alt+鼠标选择的列模式,再加数字顺序编号(String Manipulation 插件)。

3、在代码方法的注释上,模板与示例,也形成一一对应关系,有助于对参数设置的理解。

4、在枚举变量上,我采用了一以贯之的 大白话 的形式,不做任何编码约定,直接使用 “馆主”,“店长”,“教练”,“会籍”,“客服” 的字眼,而不是之前的编码 100、108、101、107、102。这种编码我总是记不住,每次我都得去下面这张表去找答案(也或许是我主观不愿意去记忆这种编码的原因了)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
26 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文