Gulp 什么是“代码优先于配置”?

hs1rzwqc  于 2022-12-08  发布在  Gulp
关注(0)|答案(3)|浏览(250)

我在谷歌上看到过很多次这个术语代码高于配置配置高于代码。我试着在谷歌上搜索它,但仍然一无所获。最近我又开始在大口上工作了,神秘的是代码高于配置
你能告诉我两者是什么吗?它们有什么区别?

3bygqnnd

3bygqnnd1#

既然你用gulp标记了这个,我将给予你一个与另一个工具(Grunt)的流行比较来说明区别。
Grunt的任务是在Gruntfile内的一个配置对象中配置的,而Gulp的任务是使用Node样式语法编码的。
取自here
因此,基本上,通过 * 配置 *,您必须为工具提供它认为必须工作所需的信息。如果您关注 * 代码 *,则您直接告诉工具必须完成哪些步骤。
关于哪一个更好,有很多讨论。你必须读一读,然后决定哪一个最适合你的项目。

sr4lhrrt

sr4lhrrt2#

    • 代码高于配置**(* 后面跟着gulp*)和相反的配置超过代码(* 后面跟着grunt*)是软件/程序开发中的方法/原则,其中gulp和grunt都用于自动化任务。方法指的是根据典型的编程约定来开发程序,与程序员定义的配置相比,这两种方法都有自己的上下文/目的,而不是哪一种更好的问题。

gulp中,每个任务都是一个java脚本函数,无需预先配置(尽管函数通常可以接受配置值)并将多个函数链接在一起创建一个构建脚本。Gulp使用节点流。流基本上是连续的数据流,并且可以异步操作。然而在grunt所有任务都在文件中的配置对象中配置,并且按顺序运行。

lf3rwulv

lf3rwulv3#

因为你谈到了“代码”,我将尝试给予一个不同的观点。
在回答有关从Docker容器Docker container IP address from .net project内部计算IP地址的问题时
有两种可能的代码

var ipAddress = HttpContext.Request.HttpContext.Connection.LocalIpAddress;

这将在运行时给予你IP地址,但是,它不会控制它。它也会导致更多的代码在未来对IP地址做一些事情。比如给负载平衡器或类似的东西。
我更喜欢配置。
例如为每个容器服务预配置IP地址的环境变量。例如:

WEB_API_1_IP=192.168.0.10
    WEB_API_2_IP=192.168.0.11
    .
    .
    .
    NETWORK_SUBNET=192.168.0.0/24

将环境变量与容器的IP地址联系起来的docker-compose。例如:

version: '3.3'
services:
  web_api:
    .
    .
    .
    networks:
      public_net:
        ipv4_address: ${WEB_API_1_IP}
.

和一些链接两者并在代码内给予访问的.net代码。

Host.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config.AddEnvironmentVariables();
            })

我们写的代码是关于阅读配置的。但是它提供了更好的控制。根据你运行它的环境,你可以有不同的环境文件。
子网的机器数量,它们都是配置选项,而不是需要更多维护和容易出错的棘手代码。

相关问题