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


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

    答案是解决问题。


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

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

    今天看了下 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 接口,而我记得我曾经写的时候却将之一个个拆分,这其中多余的部分完全可以用这种结构写的。


    工作效率,代码的优雅,也许都靠这一些些简化。

    complete.

  • 相关阅读:
    [BZOJ3398] [Usaco2009 Feb]Bullcow 牡牛和牝牛(动态规划)
    [BZOJ3399] [Usaco2009 Mar]Sand Castle城堡(排序)
    [VIJOS1003] 等价表达式(表达式解析)
    [BZOJ4690] Never Wait for Weights(并查集)
    sql server 查出数据库表结构
    sql server 时间日期转换
    LINQ语法详解
    方法练习题
    数组练习题
    第四章 JAVA数组知识点
  • 原文地址:https://www.cnblogs.com/can-i-do/p/10977957.html
Copyright © 2020-2023  润新知