一位同事从未听说过这个词,我也无法给出一个确切的定义。对我来说,这一直是一个“我看到什么就知道什么”的例子。
附带问题,这个词是谁发明的?
“样板代码”是任何看似重复的代码,它们一次又一次地出现,以获得一些看起来应该简单得多的结果。
这是一个主观的定义。
这个术语来自报纸行业的“boilerplate”:维基
它是可以被许多应用程序/上下文使用的代码,只需很少或没有更改。
样板纸(Boilerplate)起源于20世纪初的钢铁工业。
从维基百科:
在计算机编程中,样板文件是用来描述必须包含在许多地方且很少或没有更改的代码段的术语。它更常用于被认为是冗长的语言,即程序员必须编写大量代码来完成最少的工作。
所以基本上你可以把样板代码看作是编程语言在你用该语言编写的程序中经常需要的文本。
现代语言正在尝试减少它,但旧的语言也有特定的类型检查器(例如OCaml有一个类型推断器,它允许您避免在像Java这样更冗长的语言中作为样板代码的太多声明)
约书亚·布洛赫有一个谈API设计,它涵盖了如何使样板代码成为必要。(参考样板文件的第46分钟,今天听这个)
在实践中,样板代码就是你到处复制粘贴的东西。它通常是一个模块头,加上一些标准/必需的声明(每个模块必须声明一个记录器,每个模块必须声明其名称和修订的变量,等等)在我当前的项目中,我们正在编写消息处理程序,它们都具有相同的结构(读取消息,验证它,处理它),为了消除处理程序之间的依赖关系,我们不想让它们都继承自基类,所以我们提出了一个样板框架。它声明了所有的例程变量,标准方法,异常处理框架—开发人员所要做的只是添加特定于要处理的消息的代码。这本来会很快&易于使用,但随后我们发现我们在电子表格中获得消息定义(使用样板格式),所以我们只编写了一个代码生成器来发出90%的代码(包括单元测试)。
在词源上,术语样板: from http://www.takeourword.com/Issue009.html…
有趣的是,这个词起源于报纸行业。列 其他被联合的作品被发送去订阅 席子形式的报纸(即矩阵)。一旦收到邮件, 沸腾的铅被倒入垫子中,制成了用来 打印这块,因此得名样板。正如文章所印 在一个样板上不能被改变,这个术语开始被使用 律师们不愿提及合同中不变的部分 通过在不同的应用中反复使用,最终达到 在使用的任何文件中都没有改变的一般语言 . .
你可以把它称为“片段”,或者更准确地说是“片段的集合”。 我认为这个术语是由新闻界和印刷业创造出来的,在那里他们使用实际的“板块”,然后再次将它们用作大块。 在现代互联网上,这是一个正在进行的(恕我冒犯)趋势的一部分,使用花哨的术语来描述简单的东西,以便看起来更时尚和复杂。
样板文件是优秀程序员所避免的:重复。
样板代码是指可以反复使用的一段代码。另一方面,任何人都可以说它是一段可重用的代码。
这个词实际上来自钢铁行业。
对于一小部分历史,根据维基百科:
在19世纪90年代,样板版实际上是铸造或冲压成金属,准备印刷,并分发给美国各地的报纸。直到20世纪50年代,成千上万的报纸从美国最大的供应商西部报业联盟那里收到并使用了这种样板文件。有些公司还以样板文件的形式发布新闻稿,这样它们就必须按书面形式打印出来。
现在根据< >强维基百科< / >强:
在面向对象程序中,通常为类提供获取和设置实例变量的方法。这些方法的定义通常可以看作是样板文件。尽管代码在不同的类之间会有所不同,但在结构上它是足够典型的,因此自动生成比手工编写更好。例如,在下面表示宠物的Java类中,除了宠物、名字和主人的声明外,几乎所有的代码都是样板文件: 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; } }
在面向对象程序中,通常为类提供获取和设置实例变量的方法。这些方法的定义通常可以看作是样板文件。尽管代码在不同的类之间会有所不同,但在结构上它是足够典型的,因此自动生成比手工编写更好。例如,在下面表示宠物的Java类中,除了宠物、名字和主人的声明外,几乎所有的代码都是样板文件:
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; } }
来自<强> whatis.techtarget.com < / >强:
在信息技术中,样板文件是一种可以 重复使用而不进行更改。推而广之,这个想法是 有时应用于可重用编程,如“样板代码”。 这个术语来源于钢铁制造业,其中样板就是钢铁 卷成大板,用于蒸汽锅炉。这意味着 要么是样板文件经受了时间的考验 “钢铁”,或者它可能已经被轧制成坚固的东西
编程之外:
样板可以与特定类型的模板进行比较 被认为是一个填空样板。一些典型的 样板文件通常包括:任务陈述、安全警告 使用的安装程序、版权声明和责任 免责声明。< / p >
以我作为程序员的经验来看,合适的样板代码通常是一堆你开始的代码,这些代码不太大,也不太复杂,不能称为框架。
一个典型的例子是< >强HTML5 Boilerplate < / >强。
如今,在许多其他编程语言中,样板定义正变得越来越全球化。它来自于OOP和混合语言,这些语言已经变成了OOP,在过程之前,它们现在有相同的目标,就是不断重复使用模型/模板/类/对象构建的代码,这就是为什么它们采用这个术语。你创建了一个模板,而你为每个模板实例所做的唯一一件事就是设置参数来个性化一个对象,这部分就是我们所说的样板。您只需重用创建模板的代码,只是使用了不同的参数。
软件开发中的样板对不同的人有不同的含义,但通常是指反复使用的代码块。
在的意思是堆栈开发中,这个术语指的是通过使用模板生成代码。它比从头开始手动编码整个应用程序更容易,它提供了代码块的一致性和更少的错误,因为它是干净的,经过测试和验证的代码,而且它是开源的,所以它不断更新或修复,因此它在使用框架或代码生成器时节省了大量时间。有关MEAN堆栈的更多信息,请单击在这里。
样板文件是一种写作单元,可以不作任何更改地反复使用。通过扩展,这种思想有时应用于可重用编程,如“样板代码”
简而言之,样板代码是需要包含在应用程序中的重复代码,程序/框架几乎没有改变,并且对应用程序的逻辑没有任何贡献。当您编写伪代码时,您可以删除样板代码。建议使用合适的Editor来生成样板代码。
在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;} } }
重复的代码只会增加不必要的输入层来完成工作。
在大多数情况下,这些都是结构和装饰性的标记。它提供了代码、函数和语言的一致性。
因此,对于开发人员来说,它有点多余,因为我们已经见过它很多次了,但它确实向非开发人员和编译器传达了一些实际意义。