重复的事情让机器来做,简化的思想

我们的工作是干什么的?程序是干什么的?

答案是解决问题。


今天突然被唤醒了,像是武学菜鸟的顿悟。我们所讨厌某些框架,讨厌做某些事情,也许是因为重复。

细细想来,让重复的事情变得简单,不是很有意思吗。

今天看了下 vue-cli 中 build 的一段代码(来源于 基于webpack3 的 vue-cli)

  // generate loader string to be used with extract text plugin
  function generateLoaders (loader, loaderOptions) {
    const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]

    if (loader) {
      // loader = stylus/less/sass
      // loaderOptions = 我们自己做的一些其他配置
      // 这里的最底层都用了 css-loader,相当于我们自己不用重复写这些东西
      // 
      loaders.push({
        loader: loader + '-loader',
        options: Object.assign({}, loaderOptions, {
          sourceMap: options.sourceMap
        })
      })
    }

    // Extract CSS when that option is specified
    // (which is the case during production build)
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
  }

它呢,可以让我们简单地配置 stylus-loader/less-loader,我想,这样一段代码,简化了 webpack 的配置,也许,它就是 parcel 和 webpack4 的一些思想,它就是简化的思想。

重复的事情让机器来做,回想起在万科的科技部门实习的时候,部门 Leader 说过的一句话。

Gulp的作用主要是打包的自动化,重复的事情,压缩代码,用机器来做,提升了生产力。

又想起了看 Express 中的官网的东西,最近复习的时候反而回忆起以前做过的一些蠢事

app.route('/book')
  .get(function (req, res) {
    res.send('Get a random book')
  })
  .post(function (req, res) {
    res.send('Add a book')
  })
  .put(function (req, res) {
    res.send('Update the book')
  })

上面是 Express 官网示范的一些 API 接口,而我记得我曾经写的时候却将之一个个拆分,这其中多余的部分完全可以用这种结构写的。


工作效率,代码的优雅,也许都靠这一些些简化。
为什么你不喜欢 浏览器兼容,希望能用上 ES6,不喜欢过多重复的结构,进行毫无进步的工作,也许正是因为如此吧。

猜你喜欢

转载自www.cnblogs.com/can-i-do/p/10977957.html
今日推荐