egg icon indicating copy to clipboard operation
egg copied to clipboard

基础插件 egg-mysql 的代码是不是该维护了,质量堪忧

Open wl879 opened this issue 5 years ago • 3 comments

What happens?

egg-mysql 的文档样例有点少,就去查了ali-rds ,在读代码时,看到 /lib/operator.js 中的代码质量太堪忧了,瞬间 egg.js 就不香了,各种神仙代码,全读一边不可能,但如果egg的基础库都是这种代码,真是不太想用了。

例子:

ali-rds/lib/operator.js 的第 269 行 数组直接与字符相加,并且 255 行的变量 SQL 就没必要声明成数组,运行是能运行,但太仙了

  let SQL = [ 'UPDATE ?? SET ' ];
  let VALUES = [ table ];

  const TEMPLATE = [];
  for (const key in SQL_CASE) {
    let templateSql = ' ?? = CASE ';
    VALUES.push(key);
    templateSql += SQL_CASE[key].when.join(' ');
    VALUES = VALUES.concat(SQL_CASE[key].then);
    templateSql += ' ELSE ?? END ';
    TEMPLATE.push(templateSql);
    VALUES.push(key);
  }
  SQL += TEMPLATE.join(' , ');

希望开发组也能维护维护基础库吧

wl879 avatar Jan 09 '21 07:01 wl879

有兴趣的可以去翻下 npx,还有 koa 底层很多 http 的基础库,甚至 Node.js 本身的源码看看,可能你会对 Node 失望 T_T

这些库都很多年头了,改的 KOI 不一定足够优先级。一般来说,有兴趣的参与者可以直接 PR 优化的,欢迎提 PR。

atian25 avatar Jan 12 '21 00:01 atian25

cc @fengmk2 @dead-horse @_@

atian25 avatar Jan 12 '21 00:01 atian25

@wl879 直接改起来?

fengmk2 avatar Feb 11 '21 13:02 fengmk2