什么是样板代码?

时间:2010-10-21 21:38:12

标签: terminology definition boilerplate

一位同事从未听说过这个,我无法提供真正的定义。对我来说,它总是一个'我知道 - 当我看到它'的例子。

奖金问题,谁来源于这个词?

15 个答案:

答案 0 :(得分:183)

“样板代码”是任何看似重复的代码,它们会一次又一次地出现,以便得到一些似乎应该更简单的结果。

这是一个主观定义。

这个词来自报业的“样板”:wiki

答案 1 :(得分:53)

在词源上,术语样板:来自http://www.takeourword.com/Issue009.html ......

  

有趣的是,这个词来自报业。列   和其他辛迪加的作品被发送到订阅   垫子形式的报纸(即矩阵)。收到后,   将沸腾的铅倒入这种垫子中,制成用于制作的盘子   打印件,因此名称样板。正如文章印刷   在样板上不能改变,这个术语开始被使用   律师指的是合同中没有变化的部分   通过在不同的应用中反复使用,最后到   一般而言,在所使用的任何文件中都没有改变   反复不同的场合。

编程中的样板是什么?正如其他人所指出的那样 只是一小块代码一次又一次地被复制而很少或者 在此过程中没有对其进行任何更改。

答案 2 :(得分:44)

Boilerplate代码表示可以反复使用的一段代码。另一方面,任何人都可以说这是一段可重复使用的代码。

这个词实际上来自钢铁行业。

根据Wikipedia

,了解一点历史
  

在19世纪90年代,样板实际上是用金属铸造或压印的,可以用于印刷机并分发到美国各地的报纸上。直到20世纪50年代,数以千计的报纸收到并使用了美国最大的供应商西方报业联盟的这种样板。一些公司还发布了新闻稿作为样板,因此必须按照书面印刷。

现在根据Wikipedia

  

在面向对象的程序中,通常为类提供获取和设置实例变量的方法。这些方法的定义经常被视为样板。尽管代码在不同类别之间会有所不同,但结构上的陈规定型程度足以使其自动生成比手工编写更好。例如,在以下表示宠物的Java类中,几乎所有代码都是样板,除了Pet,name和owner的声明:

public class Pet {
    private PetName name;
    private Person owner;

    public Pet(PetName name, Person owner) {
        this.name = name;
        this.owner = owner;
    }

    public PetName getName() {
        return name;
    }

    public void setName(PetName name) {
        this.name = name;
    }

    public Person getOwner() {
        return owner;
    }

    public void setOwner(Person owner) {
        this.owner = owner;
    }
}

答案 3 :(得分:34)

这个代码可以被许多应用程序/上下文使用,几乎没有变化。

Boilerplate来自20世纪初的钢铁工业。

答案 4 :(得分:29)

来自维基百科:

  

在计算机编程中,样板文件是用于描述代码部分的术语,这些部分必须包含在许多地方,几乎没有或没有改变。在引用被认为是冗长的语言时更经常使用它,即程序员必须编写大量代码来完成最少的工作。

基本上,您可以将样板代码视为编程语言所需的文本,通常是您使用该语言编写的程序。

现代语言正试图减少它,但也有旧的语言,它具有特定的类型检查器(例如OCaml有一个类型推断器,允许你避免这么多的声明,这些声明将是一个更冗长的语言,如Java的样板代码)

答案 5 :(得分:22)

Boilerplate是优秀程序员避免的:重复。

答案 6 :(得分:14)

软件开发中的Boilerplate对不同的人来说意味着不同的东西,但通常意味着一遍又一遍地使用的代码块。

MEAN 堆栈开发中,该术语指通过使用模板生成代码。它比从头编写整个应用程序更容易,它提供了代码块一致性和更少的错误,因为它是干净,经过测试和验证的代码,它是开源的,所以它不断更新或修复,因此它节省了大量的时间使用框架或代码生成器。有关MEAN堆栈的更多信息,请单击here

答案 7 :(得分:7)

实际上,样板代码是你在整个地方切割粘贴的东西。通常它会像模块头一样,加上一些标准/必需的声明(每个模块必须声明一个记录器,每个模块必须为其名称和修订声明变量等)。在我当前的项目中,我们正在编写消息处理程序并且它们都具有相同的结构(读取消息,验证它,处理它)并消除处理程序之间的依赖关系,我们不希望它们都从基类继承,因此我们提出了一个样板框架。它声明了所有常规变量,标准方法,异常处理框架 - 开发人员必须做的就是添加特定于正在处理的消息的代码。它会很快&易于使用,但后来我们发现我们在电子表格(使用样板文件格式)中获取了消息定义,因此我们只编写了一个代码生成器来发出90%的代码(包括单元测试)。 / p>

答案 8 :(得分:7)

好吧,简单来说,我引用了Spring in Action

  

你有没有写过一些代码然后觉得你已经有了   之前写过相同的代码?那不是似曾相识,我的朋友。那是   样板代码 - 您经常需要反复编写的代码   再次完成普通和其他简单的任务。

希望有所帮助。它起源于报纸业务。 Here了解更多信息。

答案 9 :(得分:7)

现在,Boilerplate定义在许多其他编程语言中变得越来越全球化。它来自OOP和已经成为OOP的混合语言,并且在程序之前现在具有相同的目标,即继续重复使用模型/模板/类/对象构建的代码,因此他们为什么要适应这个术语。你创建了一个模板,你为模板的每个实例做的唯一事情就是个体化一个对象的参数这个部分就是我们所说的样板文件。您只需使用不同的参数重新使用您制作模板的代码即可。

<强>同义词
蓝图是样板
模板是模板板 页脚是一个样板 多用途的设计模式是样板 邮件的签名是样板文件

答案 10 :(得分:5)

Joshua Bloch有一个talk about API design,其中包含了糟糕的需要制作样板代码的方法。 (46分钟参考样板文件,今天听这个)

答案 11 :(得分:2)

来自whatis.techtarget.com

  

在信息技术中,样板文件是可以写作的单位   无需改变就可以反复使用。通过扩展,这个想法是   有时候应用于可重复使用的编程,例如在样板代码中。&#34;   该术语来自钢铁制造,其中样板是钢   卷成大板用于蒸汽锅炉。这意味着   要么是样板写作经过时间考验而且非常强大   &#34;钢,&#34;或者可能已经推出了强大的东西   足以重复使用。

超越编程:

  

可以将样板与某种模板进行比较,也可以   被认为是一个填空的样板。一些典型的   锅炉板包括:任务说明,安全警告,通常   使用的安装程序,版权声明和责任   免责声明。

根据我作为程序员的经验,适当类型的样板代码通常是一堆代码,你开始时代码不够大和/或复杂到足以被称为框架。

一个典型的例子是HTML5 Boilerplate

答案 12 :(得分:1)

您可以将其称为“代码段”或更准确地称为“代码段集合”。 我认为这个词来自印刷和印刷行业,他们使用实际的“印版”,然后再将它们重新用作块。 在现代互联网中,它是一个持续的(恼人的恕我直言)趋势的一部分,使用简单的术语来简单的事情,以便看起来更时尚和复杂。见RESPONSIVE = adaptable / fluid。

答案 13 :(得分:0)

样板文件是写作的单位,可以不断重复使用而无需更改。通过扩展,这种想法有时会应用于可重复使用的编程,例如“样板代码

答案 14 :(得分:0)

简而言之,样板代码是需要包含在应用程序中的重复代码,程序/框架几乎没有改变,而对应用程序的逻辑没有任何贡献。编写伪代码时,可以删除样板代码。建议使用适当的编辑器来生成样板代码。

在HTML中,界面中的样板代码。

<!DOCTYPE html>   
<html>   
   <head>   
      <title></title>   
   </head>   
   <body> </body>   
</html>

在C#中,属性的样板代码。

class Price
{   
  private string _price;   
  public string Price
  {   
     get {return _price;}   
     set {_price= value;}   
  }   
}